From c55fa8cd7004376ec3c1351c21b9067ea9f90195 Mon Sep 17 00:00:00 2001 From: lizzie Date: Wed, 19 Nov 2025 03:41:34 +0000 Subject: [PATCH] no wait thats stupid icache invalidation --- src/core/arm/nce/arm_nce.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/core/arm/nce/arm_nce.cpp b/src/core/arm/nce/arm_nce.cpp index 21c6a0e9d3..01ad912c32 100644 --- a/src/core/arm/nce/arm_nce.cpp +++ b/src/core/arm/nce/arm_nce.cpp @@ -388,7 +388,13 @@ void ArmNce::SignalInterrupt(Kernel::KThread* thread) { const std::size_t CACHE_PAGE_SIZE = 4096; void ArmNce::ClearInstructionCache() { - std::atomic_thread_fence(std::memory_order_acquire); +#ifdef __aarch64__ + // Ensure all previous memory operations complete + asm volatile( + "\tdmb ish\n" + "\tdsb ish\n" + "\tisb\n" ::: "memory"); +#endif } void ArmNce::InvalidateCacheRange(u64 addr, std::size_t size) {