From 43e0d865faa932b980580a79a87d5ea464e9545c Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Fri, 24 Aug 2018 21:43:32 -0400
Subject: [PATCH] core: Namespace all code in the arm subdirectory under the
 Core namespace

Gets all of these types and interfaces out of the global namespace.
---
 src/core/arm/arm_interface.h           | 4 ++++
 src/core/arm/dynarmic/arm_dynarmic.cpp | 4 ++++
 src/core/arm/dynarmic/arm_dynarmic.h   | 4 ++++
 src/core/arm/exclusive_monitor.cpp     | 4 ++++
 src/core/arm/exclusive_monitor.h       | 4 ++++
 src/core/arm/unicorn/arm_unicorn.cpp   | 8 ++++++--
 src/core/arm/unicorn/arm_unicorn.h     | 4 ++++
 src/core/core.h                        | 4 ++--
 src/core/core_cpu.h                    | 4 ++--
 src/core/hle/kernel/scheduler.cpp      | 2 +-
 src/core/hle/kernel/scheduler.h        | 6 ++++--
 src/core/hle/kernel/thread.cpp         | 4 ++--
 src/core/hle/kernel/thread.h           | 2 +-
 13 files changed, 42 insertions(+), 12 deletions(-)

diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h
index b0d7ced7f..c368745b1 100644
--- a/src/core/arm/arm_interface.h
+++ b/src/core/arm/arm_interface.h
@@ -8,6 +8,8 @@
 #include "common/common_types.h"
 #include "core/hle/kernel/vm_manager.h"
 
+namespace Core {
+
 /// Generic ARM11 CPU interface
 class ARM_Interface : NonCopyable {
 public:
@@ -122,3 +124,5 @@ public:
     /// Prepare core for thread reschedule (if needed to correctly handle state)
     virtual void PrepareReschedule() = 0;
 };
+
+} // namespace Core
diff --git a/src/core/arm/dynarmic/arm_dynarmic.cpp b/src/core/arm/dynarmic/arm_dynarmic.cpp
index 2c817d7d1..f96e08212 100644
--- a/src/core/arm/dynarmic/arm_dynarmic.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic.cpp
@@ -14,6 +14,8 @@
 #include "core/hle/kernel/svc.h"
 #include "core/memory.h"
 
+namespace Core {
+
 using Vector = Dynarmic::A64::Vector;
 
 class ARM_Dynarmic_Callbacks : public Dynarmic::A64::UserCallbacks {
@@ -300,3 +302,5 @@ bool DynarmicExclusiveMonitor::ExclusiveWrite128(size_t core_index, VAddr vaddr,
         Memory::Write64(vaddr, value[1]);
     });
 }
+
+} // namespace Core
diff --git a/src/core/arm/dynarmic/arm_dynarmic.h b/src/core/arm/dynarmic/arm_dynarmic.h
index 14c072601..3bdfd8cd9 100644
--- a/src/core/arm/dynarmic/arm_dynarmic.h
+++ b/src/core/arm/dynarmic/arm_dynarmic.h
@@ -12,6 +12,8 @@
 #include "core/arm/exclusive_monitor.h"
 #include "core/arm/unicorn/arm_unicorn.h"
 
+namespace Core {
+
 class ARM_Dynarmic_Callbacks;
 class DynarmicExclusiveMonitor;
 
@@ -81,3 +83,5 @@ private:
     friend class ARM_Dynarmic;
     Dynarmic::A64::ExclusiveMonitor monitor;
 };
+
+} // namespace Core
diff --git a/src/core/arm/exclusive_monitor.cpp b/src/core/arm/exclusive_monitor.cpp
index cb8c81d80..abd59ff4b 100644
--- a/src/core/arm/exclusive_monitor.cpp
+++ b/src/core/arm/exclusive_monitor.cpp
@@ -4,4 +4,8 @@
 
 #include "core/arm/exclusive_monitor.h"
 
+namespace Core {
+
 ExclusiveMonitor::~ExclusiveMonitor() = default;
+
+} // namespace Core
diff --git a/src/core/arm/exclusive_monitor.h b/src/core/arm/exclusive_monitor.h
index 13671ed7a..6f9b51573 100644
--- a/src/core/arm/exclusive_monitor.h
+++ b/src/core/arm/exclusive_monitor.h
@@ -6,6 +6,8 @@
 
 #include "common/common_types.h"
 
+namespace Core {
+
 class ExclusiveMonitor {
 public:
     virtual ~ExclusiveMonitor();
@@ -19,3 +21,5 @@ public:
     virtual bool ExclusiveWrite64(size_t core_index, VAddr vaddr, u64 value) = 0;
     virtual bool ExclusiveWrite128(size_t core_index, VAddr vaddr, u128 value) = 0;
 };
+
+} // namespace Core
diff --git a/src/core/arm/unicorn/arm_unicorn.cpp b/src/core/arm/unicorn/arm_unicorn.cpp
index 6bc349460..307f12198 100644
--- a/src/core/arm/unicorn/arm_unicorn.cpp
+++ b/src/core/arm/unicorn/arm_unicorn.cpp
@@ -11,6 +11,8 @@
 #include "core/core_timing.h"
 #include "core/hle/kernel/svc.h"
 
+namespace Core {
+
 // Load Unicorn DLL once on Windows using RAII
 #ifdef _MSC_VER
 #include <unicorn_dynload.h>
@@ -211,7 +213,7 @@ void ARM_Unicorn::ExecuteInstructions(int num_instructions) {
     }
 }
 
-void ARM_Unicorn::SaveContext(ARM_Interface::ThreadContext& ctx) {
+void ARM_Unicorn::SaveContext(ThreadContext& ctx) {
     int uregs[32];
     void* tregs[32];
 
@@ -238,7 +240,7 @@ void ARM_Unicorn::SaveContext(ARM_Interface::ThreadContext& ctx) {
     CHECKED(uc_reg_read_batch(uc, uregs, tregs, 32));
 }
 
-void ARM_Unicorn::LoadContext(const ARM_Interface::ThreadContext& ctx) {
+void ARM_Unicorn::LoadContext(const ThreadContext& ctx) {
     int uregs[32];
     void* tregs[32];
 
@@ -277,3 +279,5 @@ void ARM_Unicorn::RecordBreak(GDBStub::BreakpointAddress bkpt) {
     last_bkpt = bkpt;
     last_bkpt_hit = true;
 }
+
+} // namespace Core
diff --git a/src/core/arm/unicorn/arm_unicorn.h b/src/core/arm/unicorn/arm_unicorn.h
index af7943352..bd6b2f723 100644
--- a/src/core/arm/unicorn/arm_unicorn.h
+++ b/src/core/arm/unicorn/arm_unicorn.h
@@ -9,6 +9,8 @@
 #include "core/arm/arm_interface.h"
 #include "core/gdbstub/gdbstub.h"
 
+namespace Core {
+
 class ARM_Unicorn final : public ARM_Interface {
 public:
     ARM_Unicorn();
@@ -46,3 +48,5 @@ private:
     GDBStub::BreakpointAddress last_bkpt{};
     bool last_bkpt_hit;
 };
+
+} // namespace Core
diff --git a/src/core/core.h b/src/core/core.h
index 790e23cae..144cbe620 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -22,8 +22,6 @@
 #include "video_core/debug_utils/debug_utils.h"
 #include "video_core/gpu.h"
 
-class ARM_Interface;
-
 namespace Core::Frontend {
 class EmuWindow;
 }
@@ -38,6 +36,8 @@ class RendererBase;
 
 namespace Core {
 
+class ARM_Interface;
+
 class System {
 public:
     System(const System&) = delete;
diff --git a/src/core/core_cpu.h b/src/core/core_cpu.h
index 56cdae194..40ed34b47 100644
--- a/src/core/core_cpu.h
+++ b/src/core/core_cpu.h
@@ -12,14 +12,14 @@
 #include "common/common_types.h"
 #include "core/arm/exclusive_monitor.h"
 
-class ARM_Interface;
-
 namespace Kernel {
 class Scheduler;
 }
 
 namespace Core {
 
+class ARM_Interface;
+
 constexpr unsigned NUM_CPU_CORES{4};
 
 class CpuBarrier {
diff --git a/src/core/hle/kernel/scheduler.cpp b/src/core/hle/kernel/scheduler.cpp
index e770b9103..69c812f16 100644
--- a/src/core/hle/kernel/scheduler.cpp
+++ b/src/core/hle/kernel/scheduler.cpp
@@ -17,7 +17,7 @@ namespace Kernel {
 
 std::mutex Scheduler::scheduler_mutex;
 
-Scheduler::Scheduler(ARM_Interface* cpu_core) : cpu_core(cpu_core) {}
+Scheduler::Scheduler(Core::ARM_Interface* cpu_core) : cpu_core(cpu_core) {}
 
 Scheduler::~Scheduler() {
     for (auto& thread : thread_list) {
diff --git a/src/core/hle/kernel/scheduler.h b/src/core/hle/kernel/scheduler.h
index 6a61ef64e..744990c9b 100644
--- a/src/core/hle/kernel/scheduler.h
+++ b/src/core/hle/kernel/scheduler.h
@@ -11,13 +11,15 @@
 #include "core/hle/kernel/object.h"
 #include "core/hle/kernel/thread.h"
 
+namespace Core {
 class ARM_Interface;
+}
 
 namespace Kernel {
 
 class Scheduler final {
 public:
-    explicit Scheduler(ARM_Interface* cpu_core);
+    explicit Scheduler(Core::ARM_Interface* cpu_core);
     ~Scheduler();
 
     /// Returns whether there are any threads that are ready to run.
@@ -70,7 +72,7 @@ private:
 
     SharedPtr<Thread> current_thread = nullptr;
 
-    ARM_Interface* cpu_core;
+    Core::ARM_Interface* cpu_core;
 
     static std::mutex scheduler_mutex;
 };
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index cf4f94822..4ffd8d5cc 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -283,9 +283,9 @@ static std::tuple<std::size_t, std::size_t, bool> GetFreeThreadLocalSlot(
  * @param entry_point Address of entry point for execution
  * @param arg User argument for thread
  */
-static void ResetThreadContext(ARM_Interface::ThreadContext& context, VAddr stack_top,
+static void ResetThreadContext(Core::ARM_Interface::ThreadContext& context, VAddr stack_top,
                                VAddr entry_point, u64 arg) {
-    memset(&context, 0, sizeof(ARM_Interface::ThreadContext));
+    memset(&context, 0, sizeof(Core::ARM_Interface::ThreadContext));
 
     context.cpu_registers[0] = arg;
     context.pc = entry_point;
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h
index adc804248..06edc296d 100644
--- a/src/core/hle/kernel/thread.h
+++ b/src/core/hle/kernel/thread.h
@@ -204,7 +204,7 @@ public:
         return status == ThreadStatus::WaitSynchAll;
     }
 
-    ARM_Interface::ThreadContext context;
+    Core::ARM_Interface::ThreadContext context;
 
     u32 thread_id;