[core/arm/dynarmic] fix ICache invalidate on KPageTable

Signed-off-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
lizzie
2026-08-31 17:12:45 +00:00
parent b7f0f98519
commit be790d08f3
2 changed files with 5 additions and 1 deletions
+3 -1
View File
@@ -420,11 +420,13 @@ void ArmDynarmic32::SignalInterrupt(Kernel::KThread* thread) {
} }
void ArmDynarmic32::ClearInstructionCache() { void ArmDynarmic32::ClearInstructionCache() {
m_cb->last_code_addr = u64(-1);
m_jit->ClearCache(); m_jit->ClearCache();
} }
void ArmDynarmic32::InvalidateCacheRange(u64 addr, std::size_t size) { void ArmDynarmic32::InvalidateCacheRange(u64 addr, std::size_t size) {
m_jit->InvalidateCacheRange(static_cast<u32>(addr), size); m_cb->last_code_addr = u64(-1);
m_jit->InvalidateCacheRange(u32(addr), size);
} }
} // namespace Core } // namespace Core
@@ -447,10 +447,12 @@ void ArmDynarmic64::SignalInterrupt(Kernel::KThread* thread) {
} }
void ArmDynarmic64::ClearInstructionCache() { void ArmDynarmic64::ClearInstructionCache() {
m_cb->last_code_addr = u64(-1);
m_jit->ClearCache(); m_jit->ClearCache();
} }
void ArmDynarmic64::InvalidateCacheRange(u64 addr, std::size_t size) { void ArmDynarmic64::InvalidateCacheRange(u64 addr, std::size_t size) {
m_cb->last_code_addr = u64(-1);
m_jit->InvalidateCacheRange(addr, size); m_jit->InvalidateCacheRange(addr, size);
} }