From bda05a756ece326527911941618ebe718f2be3aa Mon Sep 17 00:00:00 2001 From: Jaklyy <102590697+Jaklyy@users.noreply.github.com> Date: Sun, 8 Dec 2024 11:19:49 -0500 Subject: [PATCH] only recalc mpu lut if it changed --- src/CP15.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/CP15.cpp b/src/CP15.cpp index 841b1c9e..64ed0424 100644 --- a/src/CP15.cpp +++ b/src/CP15.cpp @@ -1459,7 +1459,7 @@ void ARMv5::CP15Write(u32 id, u32 val) if (diff & (1<> 4) & 0xF]; PU_Region[(id >> 4) & 0xF] = val & ~(0x3F<<6); + u32 diff = old ^ PU_Region[(id >> 4) & 0xF]; std::snprintf(log_output, sizeof(log_output), @@ -1659,7 +1663,7 @@ void ARMv5::CP15Write(u32 id, u32 val) (val & 0x3E) >> 1 ); // TODO: smarter region update for this? - UpdatePURegions(true); + if (diff) UpdatePURegions(true); return;