Răsfoiți Sursa

arm: dynarmic: Cleanup icache op handling

jam1garner 4 ani în urmă
părinte
comite
4d9c9e567e
1 a modificat fișierele cu 9 adăugiri și 10 ștergeri
  1. 9 10
      src/core/arm/dynarmic/arm_dynarmic_64.cpp

+ 9 - 10
src/core/arm/dynarmic/arm_dynarmic_64.cpp

@@ -88,22 +88,21 @@ public:
 
     void InstructionCacheOperationRaised(Dynarmic::A64::InstructionCacheOperation op,
                                          VAddr value) override {
-        constexpr u64 ICACHE_LINE_SIZE = 64;
-        u64 cache_line_start;
-
         switch (op) {
-        case Dynarmic::A64::InstructionCacheOperation::InvalidateByVAToPoU:
-            cache_line_start = value & ~(ICACHE_LINE_SIZE - 1);
-            parent.InvalidateCacheRange(cache_line_start, ICACHE_LINE_SIZE);
-            return;
+        case Dynarmic::A64::InstructionCacheOperation::InvalidateByVAToPoU: {
+            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);
+            break;
+        }
         case Dynarmic::A64::InstructionCacheOperation::InvalidateAllToPoU:
             parent.ClearInstructionCache();
-            return;
-
+            break;
         case Dynarmic::A64::InstructionCacheOperation::InvalidateAllToPoUInnerSharable:
         default:
-            LOG_DEBUG(Core_ARM, "Unprocesseed instruction cache operation");
+            LOG_DEBUG(Core_ARM, "Unprocesseed instruction cache operation: {}", op);
+            break;
         }
     }