diff options
author | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> | 2024-06-16 19:31:04 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-06-19 13:10:23 -0600 |
commit | 15a15e3febdc6860d5abf3ee10d12b0f237af436 (patch) | |
tree | 77baca14dd5b6355644925b3bf5c8e7ee44e541b | |
parent | e124e630ad694327e33d6513e43951793e827d3a (diff) |
arm: implement invalidate_icache_all on ARM11
In EFI sub-system we rely on invalidate_icache_all() to invalidate the
instruction cache after loading binaries. Add the missing implementation on
ARM1136, ARM1176.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-rw-r--r-- | arch/arm/cpu/arm11/cpu.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/cpu/arm11/cpu.c b/arch/arm/cpu/arm11/cpu.c index 01d2e1a125d..4bf0446b543 100644 --- a/arch/arm/cpu/arm11/cpu.c +++ b/arch/arm/cpu/arm11/cpu.c @@ -116,3 +116,15 @@ void enable_caches(void) #endif } #endif + +#if !CONFIG_IS_ENABLED(SYS_ICACHE_OFF) +/* Invalidate entire I-cache */ +void invalidate_icache_all(void) +{ + unsigned long i = 0; + + asm ("mcr p15, 0, %0, c7, c5, 0" : : "r" (i)); +} +#else +void invalidate_icache_all(void) {} +#endif |