aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm/dynarmic
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-07-17 07:33:32 -0700
committerGitHub <noreply@github.com>2018-07-17 07:33:32 -0700
commit88a3140c9b20b2f079f915842b4f30bdc800a53a (patch)
tree8fdcadf90977f58f0d1c14ed09a9313ba88d72d9 /src/core/arm/dynarmic
parent519035db3d5fda9517a4efe5c25f1a1d20d0a7c2 (diff)
parent56cc1c11ecad9e7ea2a36fbb74852a7579b53802 (diff)
Merge pull request #671 from MerryMage/clear-exclusive-state
scheduler: Clear exclusive state when switching contexts
Diffstat (limited to 'src/core/arm/dynarmic')
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic.cpp4
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic.cpp b/src/core/arm/dynarmic/arm_dynarmic.cpp
index 42605374b..3572ee7b9 100644
--- a/src/core/arm/dynarmic/arm_dynarmic.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic.cpp
@@ -226,6 +226,10 @@ void ARM_Dynarmic::ClearInstructionCache() {
jit->ClearCache();
}
+void ARM_Dynarmic::ClearExclusiveState() {
+ jit->ClearExclusiveState();
+}
+
void ARM_Dynarmic::PageTableChanged() {
jit = MakeJit(cb);
current_page_table = Memory::GetCurrentPageTable();
diff --git a/src/core/arm/dynarmic/arm_dynarmic.h b/src/core/arm/dynarmic/arm_dynarmic.h
index 128669d01..ed724c3f1 100644
--- a/src/core/arm/dynarmic/arm_dynarmic.h
+++ b/src/core/arm/dynarmic/arm_dynarmic.h
@@ -39,6 +39,7 @@ public:
void LoadContext(const ThreadContext& ctx) override;
void PrepareReschedule() override;
+ void ClearExclusiveState() override;
void ClearInstructionCache() override;
void PageTableChanged() override;