This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 3477c347e805c74e3879b408156dbc817f9cd45a
Author: ligd <[email protected]>
AuthorDate: Fri Sep 16 23:29:37 2022 +0800

    armv7a/r: add isb to cp15_invalidate_icache()
    
    Incase invalidate_icache hasn't done
    
    Signed-off-by: ligd <[email protected]>
---
 arch/arm/src/armv7-a/cp15_cacheops.h | 2 ++
 arch/arm/src/armv7-r/cp15_cacheops.h | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/arch/arm/src/armv7-a/cp15_cacheops.h 
b/arch/arm/src/armv7-a/cp15_cacheops.h
index cf827c88d8..63a495a4d6 100644
--- a/arch/arm/src/armv7-a/cp15_cacheops.h
+++ b/arch/arm/src/armv7-a/cp15_cacheops.h
@@ -339,6 +339,7 @@
 .macro cp15_invalidate_icache, tmp
   mov \tmp, #0
   mrc p15, 0, \tmp, c7, c5, 0 /* ICIALLU */
+  isb
 .endm
 
 /****************************************************************************
@@ -679,6 +680,7 @@ static inline void cp15_invalidate_btb_inner_sharable(void)
 static inline void cp15_invalidate_icache(void)
 {
   CP15_SET(ICIALLU, 0);
+  ARM_ISB();
 }
 
 /****************************************************************************
diff --git a/arch/arm/src/armv7-r/cp15_cacheops.h 
b/arch/arm/src/armv7-r/cp15_cacheops.h
index 1be45e32e4..dca33154e3 100644
--- a/arch/arm/src/armv7-r/cp15_cacheops.h
+++ b/arch/arm/src/armv7-r/cp15_cacheops.h
@@ -346,6 +346,7 @@
 .macro cp15_invalidate_icache, tmp
   mov \tmp, #0
   mrc p15, 0, \tmp, c7, c5, 0 /* ICIALLU */
+  isb
 .endm
 
 /****************************************************************************
@@ -686,6 +687,7 @@ static inline void cp15_invalidate_btb_inner_sharable(void)
 static inline void cp15_invalidate_icache(void)
 {
   CP15_SET(ICIALLU, 0);
+  ARM_ISB();
 }
 
 /****************************************************************************

Reply via email to