From a7cc42c86c06aa2bfb3132c5a5ef8e598704f282 Mon Sep 17 00:00:00 2001 From: Exverge Date: Wed, 8 Jul 2026 19:33:41 -0400 Subject: [PATCH] i should test my code --- src/core/arm/nce/arm_nce.cpp | 6 +++++- src/core/arm/nce/arm_nce.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/arm/nce/arm_nce.cpp b/src/core/arm/nce/arm_nce.cpp index 55cb945449..19d28e3aa5 100644 --- a/src/core/arm/nce/arm_nce.cpp +++ b/src/core/arm/nce/arm_nce.cpp @@ -470,13 +470,17 @@ void ArmNce::SignalInterrupt(Kernel::KThread* thread) { } } -void ArmNce::InvalidateCacheRange(u64 addr, std::size_t size) { +void ArmNce::ClearInstructionCache() { // Ensure all previous memory operations complete asm volatile("dsb ish\n" "dsb ish\n" "isb" ::: "memory"); } +void ArmNce::InvalidateCacheRange(u64 addr, std::size_t size) { + ClearInstructionCache(); +} + } // namespace Core #endif // #ifdef __aarch64__ \ No newline at end of file diff --git a/src/core/arm/nce/arm_nce.h b/src/core/arm/nce/arm_nce.h index 645483741d..052005b595 100644 --- a/src/core/arm/nce/arm_nce.h +++ b/src/core/arm/nce/arm_nce.h @@ -52,6 +52,7 @@ public: void SignalInterrupt(Kernel::KThread* thread) override; void InvalidateCacheRange(u64 addr, std::size_t size) override; + void ClearInstructionCache() override; void LockThread(Kernel::KThread* thread) override; void UnlockThread(Kernel::KThread* thread) override;