summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-08-25 03:43:32 +0200
committerLioncash <mathew1800@gmail.com>2018-08-25 03:50:39 +0200
commit43e0d865faa932b980580a79a87d5ea464e9545c (patch)
treeb4f06db70fe68a3edffc29e9373b9d98b8e35306 /src
parentPort #4013 from Citra: "Init logging sooner so we dont miss some logs on startup" (#1142) (diff)
downloadyuzu-43e0d865faa932b980580a79a87d5ea464e9545c.tar
yuzu-43e0d865faa932b980580a79a87d5ea464e9545c.tar.gz
yuzu-43e0d865faa932b980580a79a87d5ea464e9545c.tar.bz2
yuzu-43e0d865faa932b980580a79a87d5ea464e9545c.tar.lz
yuzu-43e0d865faa932b980580a79a87d5ea464e9545c.tar.xz
yuzu-43e0d865faa932b980580a79a87d5ea464e9545c.tar.zst
yuzu-43e0d865faa932b980580a79a87d5ea464e9545c.zip
Diffstat (limited to '')
-rw-r--r--src/core/arm/arm_interface.h4
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic.cpp4
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic.h4
-rw-r--r--src/core/arm/exclusive_monitor.cpp4
-rw-r--r--src/core/arm/exclusive_monitor.h4
-rw-r--r--src/core/arm/unicorn/arm_unicorn.cpp8
-rw-r--r--src/core/arm/unicorn/arm_unicorn.h4
-rw-r--r--src/core/core.h4
-rw-r--r--src/core/core_cpu.h4
-rw-r--r--src/core/hle/kernel/scheduler.cpp2
-rw-r--r--src/core/hle/kernel/scheduler.h6
-rw-r--r--src/core/hle/kernel/thread.cpp4
-rw-r--r--src/core/hle/kernel/thread.h2
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;