From 3a9a0d9cb3e363854d8a59e982247b8fc673ea75 Mon Sep 17 00:00:00 2001 From: merry Date: Sun, 27 Mar 2022 15:37:06 +0100 Subject: externals: Update dynarmic IC instructions now check for a need to halt execution --- externals/dynarmic | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/externals/dynarmic b/externals/dynarmic index e1a266b92..af2d50288 160000 --- a/externals/dynarmic +++ b/externals/dynarmic @@ -1 +1 @@ -Subproject commit e1a266b9299be81cc0318c7e25b00388c342704f +Subproject commit af2d50288fc537201014c4230bb55ab9018a7438 -- cgit v1.2.3 From 1383441b1520f3fca5dc5868240ee21a5308d2cf Mon Sep 17 00:00:00 2001 From: merry Date: Sun, 27 Mar 2022 15:37:19 +0100 Subject: arm_dynarmic_64: Invalidate on all cores --- src/core/arm/dynarmic/arm_dynarmic_64.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp index d96226c41..24107f9f6 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp @@ -93,17 +93,19 @@ public: static constexpr u64 ICACHE_LINE_SIZE = 64; const u64 cache_line_start = value & ~(ICACHE_LINE_SIZE - 1); - parent.InvalidateCacheRange(cache_line_start, ICACHE_LINE_SIZE); + parent.system.InvalidateCpuInstructionCacheRange(cache_line_start, ICACHE_LINE_SIZE); break; } case Dynarmic::A64::InstructionCacheOperation::InvalidateAllToPoU: - parent.ClearInstructionCache(); + parent.system.InvalidateCpuInstructionCaches(); break; case Dynarmic::A64::InstructionCacheOperation::InvalidateAllToPoUInnerSharable: default: LOG_DEBUG(Core_ARM, "Unprocesseed instruction cache operation: {}", op); break; } + + parent.jit->HaltExecution(); } void ExceptionRaised(u64 pc, Dynarmic::A64::Exception exception) override { -- cgit v1.2.3