diff --git a/libmesosphere/source/arch/arm64/kern_cpu.cpp b/libmesosphere/source/arch/arm64/kern_cpu.cpp index 6225f28a..e370a76e 100644 --- a/libmesosphere/source/arch/arm64/kern_cpu.cpp +++ b/libmesosphere/source/arch/arm64/kern_cpu.cpp @@ -384,11 +384,13 @@ namespace ams::kern::arch::arm64::cpu { /* Store cache from L1 up to (level of coherence - 1). */ for (int level = 0; level < levels_of_coherency - 1; ++level) { PerformCacheOperationBySetWayImpl(level, StoreDataCacheLineBySetWayImpl); + DataSynchronizationBarrier(); } /* Flush cache from (level of coherence - 1) down to L0. */ for (int level = levels_of_coherency; level > 0; --level) { PerformCacheOperationBySetWayImpl(level - 1, FlushDataCacheLineBySetWayImpl); + DataSynchronizationBarrier(); } }