From b2fd37bb262eb501b495083dc9e9121f38603efe Mon Sep 17 00:00:00 2001 From: lizzie Date: Mon, 31 Aug 2026 17:12:45 +0000 Subject: [PATCH] [core/arm/dynarmic] fix ICache invalidate on KPageTable Signed-off-by: lizzie --- src/core/arm/dynarmic/arm_dynarmic_32.cpp | 3 ++- src/core/arm/dynarmic/arm_dynarmic_64.cpp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp index 80e2b2dca9..32a15e7c84 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp @@ -432,7 +432,8 @@ void ArmDynarmic32::ClearInstructionCache() { } void ArmDynarmic32::InvalidateCacheRange(u64 addr, std::size_t size) { - m_jit->InvalidateCacheRange(static_cast(addr), size); + m_cb->last_code_addr = u64(-1); + m_jit->InvalidateCacheRange(u32(addr), size); } } // namespace Core diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp index 9662bf1712..a30a212ea8 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp @@ -458,6 +458,7 @@ void ArmDynarmic64::ClearInstructionCache() { } void ArmDynarmic64::InvalidateCacheRange(u64 addr, std::size_t size) { + m_cb->last_code_addr = u64(-1); m_jit->InvalidateCacheRange(addr, size); }