summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2019-12-05 21:04:32 +0100
committerFernandoS27 <fsahmkow27@gmail.com>2019-12-05 23:08:59 +0100
commit40cd4df5842e90e2e946bc30a80d15e897288a52 (patch)
tree1f95b440a879c7058d7bc0c7289b428d4bb51b7b
parentMerge pull request #3191 from yuzu-emu/jroweboy-patch-1 (diff)
downloadyuzu-40cd4df5842e90e2e946bc30a80d15e897288a52.tar
yuzu-40cd4df5842e90e2e946bc30a80d15e897288a52.tar.gz
yuzu-40cd4df5842e90e2e946bc30a80d15e897288a52.tar.bz2
yuzu-40cd4df5842e90e2e946bc30a80d15e897288a52.tar.lz
yuzu-40cd4df5842e90e2e946bc30a80d15e897288a52.tar.xz
yuzu-40cd4df5842e90e2e946bc30a80d15e897288a52.tar.zst
yuzu-40cd4df5842e90e2e946bc30a80d15e897288a52.zip
-rw-r--r--src/core/core_cpu.cpp2
-rw-r--r--src/core/hle/kernel/scheduler.cpp1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/core/core_cpu.cpp b/src/core/core_cpu.cpp
index cf3fe0b0b..630cd4feb 100644
--- a/src/core/core_cpu.cpp
+++ b/src/core/core_cpu.cpp
@@ -96,6 +96,8 @@ void Cpu::RunLoop(bool tight_loop) {
} else {
arm_interface->Step();
}
+ // We are stopping a run, exclusive state must be cleared
+ arm_interface->ClearExclusiveState();
}
core_timing.Advance();
diff --git a/src/core/hle/kernel/scheduler.cpp b/src/core/hle/kernel/scheduler.cpp
index 3f5192087..d36fcd7d9 100644
--- a/src/core/hle/kernel/scheduler.cpp
+++ b/src/core/hle/kernel/scheduler.cpp
@@ -458,7 +458,6 @@ void Scheduler::SwitchContext() {
cpu_core.LoadContext(new_thread->GetContext());
cpu_core.SetTlsAddress(new_thread->GetTLSAddress());
cpu_core.SetTPIDR_EL0(new_thread->GetTPIDR_EL0());
- cpu_core.ClearExclusiveState();
} else {
current_thread = nullptr;
// Note: We do not reset the current process and current page table when idling because