[libcpu/aarch64] fix cache invalidate operation (#7363)

This commit is contained in:
Shell
2023-04-26 17:17:42 +08:00
committed by GitHub
parent c34608b4a9
commit 6e7c5d9bc9
2 changed files with 7 additions and 3 deletions
+6 -2
View File
@@ -23,9 +23,13 @@ void rt_hw_cpu_dcache_invalidate(void *start_addr, unsigned long size);
static inline void rt_hw_icache_invalidate_all(void)
{
/* wait for any modification complete */
/* wait for previous modification to complete */
__asm__ volatile ("dsb ishst");
__asm__ volatile ("ic iallu");
__asm__ volatile ("ic ialluis");
/* wait for ic to retire */
__asm__ volatile ("dsb nsh");
/* flush instruction pipeline */
__asm__ volatile ("isb");
}