From 56cc1c11ecad9e7ea2a36fbb74852a7579b53802 Mon Sep 17 00:00:00 2001 From: MerryMage Date: Mon, 16 Jul 2018 11:24:00 +0100 Subject: scheduler: Clear exclusive state when switching contexts --- src/core/arm/dynarmic/arm_dynarmic.cpp | 4 ++++ src/core/arm/dynarmic/arm_dynarmic.h | 1 + 2 files changed, 5 insertions(+) (limited to 'src/core/arm/dynarmic') 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; -- cgit v1.2.3