From 3477c347e805c74e3879b408156dbc817f9cd45a Mon Sep 17 00:00:00 2001 From: ligd Date: Fri, 16 Sep 2022 23:29:37 +0800 Subject: [PATCH] armv7a/r: add isb to cp15_invalidate_icache() Incase invalidate_icache hasn't done Signed-off-by: ligd --- 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 cf827c88d8c..63a495a4d6c 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 1be45e32e4b..dca33154e31 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(); } /****************************************************************************