summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-12-02 05:53:51 +0100
committerbunnei <bunneidev@gmail.com>2020-12-06 09:03:24 +0100
commitc10a37e5b6bdece089fc765e9843f81a097b08a2 (patch)
treedb92b06d924582e4bf5be3083def36f0468fecc4 /src/core
parenthle: kernel: Port KAbstractSchedulerLock from Mesosphere. (diff)
downloadyuzu-c10a37e5b6bdece089fc765e9843f81a097b08a2.tar
yuzu-c10a37e5b6bdece089fc765e9843f81a097b08a2.tar.gz
yuzu-c10a37e5b6bdece089fc765e9843f81a097b08a2.tar.bz2
yuzu-c10a37e5b6bdece089fc765e9843f81a097b08a2.tar.lz
yuzu-c10a37e5b6bdece089fc765e9843f81a097b08a2.tar.xz
yuzu-c10a37e5b6bdece089fc765e9843f81a097b08a2.tar.zst
yuzu-c10a37e5b6bdece089fc765e9843f81a097b08a2.zip
Diffstat (limited to 'src/core')
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic_32.cpp3
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic_64.cpp3
-rw-r--r--src/core/hle/kernel/physical_core.cpp1
3 files changed, 7 insertions, 0 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp
index 193fd7d62..e9c74b1a6 100644
--- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp
@@ -294,6 +294,9 @@ void ARM_Dynarmic_32::InvalidateCacheRange(VAddr addr, std::size_t size) {
}
void ARM_Dynarmic_32::ClearExclusiveState() {
+ if (!jit) {
+ return;
+ }
jit->ClearExclusiveState();
}
diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp
index 0f0585d0f..b63f79915 100644
--- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp
@@ -330,6 +330,9 @@ void ARM_Dynarmic_64::InvalidateCacheRange(VAddr addr, std::size_t size) {
}
void ARM_Dynarmic_64::ClearExclusiveState() {
+ if (!jit) {
+ return;
+ }
jit->ClearExclusiveState();
}
diff --git a/src/core/hle/kernel/physical_core.cpp b/src/core/hle/kernel/physical_core.cpp
index 50aca5752..d6a5742bd 100644
--- a/src/core/hle/kernel/physical_core.cpp
+++ b/src/core/hle/kernel/physical_core.cpp
@@ -37,6 +37,7 @@ void PhysicalCore::Initialize([[maybe_unused]] bool is_64_bit) {
void PhysicalCore::Run() {
arm_interface->Run();
+ arm_interface->ClearExclusiveState();
}
void PhysicalCore::Idle() {