summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2020-01-31 11:13:24 -0500
committerGravatar GitHub2020-01-31 11:13:24 -0500
commitc18f9898d9d155504e8d608238db9a9d12a743c6 (patch)
tree7337c2c0dd81147f02838de2160f801aec74bd48
parentMerge pull request #3363 from lioncash/unique_ptr (diff)
parentcore/arm: Remove usage of global GetCurrentThread() (diff)
downloadyuzu-c18f9898d9d155504e8d608238db9a9d12a743c6.tar.gz
yuzu-c18f9898d9d155504e8d608238db9a9d12a743c6.tar.xz
yuzu-c18f9898d9d155504e8d608238db9a9d12a743c6.zip
Merge pull request #3364 from lioncash/thread
core/arm: Remove usage of global GetCurrentThread()
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic.cpp3
-rw-r--r--src/core/arm/unicorn/arm_unicorn.cpp3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic.cpp b/src/core/arm/dynarmic/arm_dynarmic.cpp
index f468e57e4..791640a3a 100644
--- a/src/core/arm/dynarmic/arm_dynarmic.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic.cpp
@@ -15,6 +15,7 @@
15#include "core/core_timing_util.h" 15#include "core/core_timing_util.h"
16#include "core/gdbstub/gdbstub.h" 16#include "core/gdbstub/gdbstub.h"
17#include "core/hle/kernel/process.h" 17#include "core/hle/kernel/process.h"
18#include "core/hle/kernel/scheduler.h"
18#include "core/hle/kernel/svc.h" 19#include "core/hle/kernel/svc.h"
19#include "core/hle/kernel/vm_manager.h" 20#include "core/hle/kernel/vm_manager.h"
20#include "core/memory.h" 21#include "core/memory.h"
@@ -87,7 +88,7 @@ public:
87 if (GDBStub::IsServerEnabled()) { 88 if (GDBStub::IsServerEnabled()) {
88 parent.jit->HaltExecution(); 89 parent.jit->HaltExecution();
89 parent.SetPC(pc); 90 parent.SetPC(pc);
90 Kernel::Thread* thread = Kernel::GetCurrentThread(); 91 Kernel::Thread* const thread = parent.system.CurrentScheduler().GetCurrentThread();
91 parent.SaveContext(thread->GetContext()); 92 parent.SaveContext(thread->GetContext());
92 GDBStub::Break(); 93 GDBStub::Break();
93 GDBStub::SendTrap(thread, 5); 94 GDBStub::SendTrap(thread, 5);
diff --git a/src/core/arm/unicorn/arm_unicorn.cpp b/src/core/arm/unicorn/arm_unicorn.cpp
index 48182c99a..f99ad5802 100644
--- a/src/core/arm/unicorn/arm_unicorn.cpp
+++ b/src/core/arm/unicorn/arm_unicorn.cpp
@@ -9,6 +9,7 @@
9#include "core/arm/unicorn/arm_unicorn.h" 9#include "core/arm/unicorn/arm_unicorn.h"
10#include "core/core.h" 10#include "core/core.h"
11#include "core/core_timing.h" 11#include "core/core_timing.h"
12#include "core/hle/kernel/scheduler.h"
12#include "core/hle/kernel/svc.h" 13#include "core/hle/kernel/svc.h"
13 14
14namespace Core { 15namespace Core {
@@ -177,7 +178,7 @@ void ARM_Unicorn::ExecuteInstructions(std::size_t num_instructions) {
177 uc_reg_write(uc, UC_ARM64_REG_PC, &last_bkpt.address); 178 uc_reg_write(uc, UC_ARM64_REG_PC, &last_bkpt.address);
178 } 179 }
179 180
180 Kernel::Thread* thread = Kernel::GetCurrentThread(); 181 Kernel::Thread* const thread = system.CurrentScheduler().GetCurrentThread();
181 SaveContext(thread->GetContext()); 182 SaveContext(thread->GetContext());
182 if (last_bkpt_hit || GDBStub::IsMemoryBreak() || GDBStub::GetCpuStepFlag()) { 183 if (last_bkpt_hit || GDBStub::IsMemoryBreak() || GDBStub::GetCpuStepFlag()) {
183 last_bkpt_hit = false; 184 last_bkpt_hit = false;