summaryrefslogtreecommitdiff
path: root/src/core/arm/dynarmic
diff options
context:
space:
mode:
authorMerryMage <MerryMage@users.noreply.github.com>2018-07-16 11:24:00 +0100
committerMerryMage <MerryMage@users.noreply.github.com>2018-07-16 11:24:00 +0100
commit56cc1c11ecad9e7ea2a36fbb74852a7579b53802 (patch)
tree67eb03302858cccb8f5cb8ec3d2989fb6149d163 /src/core/arm/dynarmic
parentf00ca69a81b0520ab40ed3731d8c6921052e598e (diff)
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;