diff options
author | Ovidiu Panait <ovpanait@gmail.com> | 2022-05-31 21:14:27 +0300 |
---|---|---|
committer | Michal Simek <michal.simek@amd.com> | 2022-06-24 15:16:00 +0300 |
commit | 8daf89678e9a8ce4203d2df6c65d9ff17aad785a (patch) | |
tree | cff596a8c6c55ff3995b424144eadee54995a7ad /arch/microblaze | |
parent | ef0a592ae8e2961519510f48ffe48b655b31610a (diff) | |
download | u-boot-8daf89678e9a8ce4203d2df6c65d9ff17aad785a.tar.xz |
microblaze: cache: improve icache Kconfig options
Replace CONFIG_ICACHE with a Kconfig option more limited in scope -
XILINX_MICROBLAZE0_USE_WIC. It should be enabled if the processor supports
the "wic" (Write to Instruction Cache) instruction. It will be used to
guard "wic" invocations in microblaze cache code.
Signed-off-by: Ovidiu Panait <ovpanait@gmail.com>
Link: https://lore.kernel.org/r/20220531181435.3473549-6-ovpanait@gmail.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
Diffstat (limited to 'arch/microblaze')
-rw-r--r-- | arch/microblaze/Kconfig | 4 | ||||
-rw-r--r-- | arch/microblaze/cpu/cache.c | 6 |
2 files changed, 3 insertions, 7 deletions
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index 11ccbcc9f2..ce157a79cc 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig @@ -39,10 +39,6 @@ config TARGET_MICROBLAZE_GENERIC endchoice -config ICACHE - bool "Enable icache support" - default y - source "board/xilinx/Kconfig" source "board/xilinx/microblaze-generic/Kconfig" diff --git a/arch/microblaze/cpu/cache.c b/arch/microblaze/cpu/cache.c index 4e8e228a22..b6bbc215b3 100644 --- a/arch/microblaze/cpu/cache.c +++ b/arch/microblaze/cpu/cache.c @@ -58,14 +58,14 @@ void flush_cache(ulong addr, ulong size) { int i; for (i = 0; i < size; i += 4) { - asm volatile ( -#ifdef CONFIG_ICACHE + if (CONFIG_IS_ENABLED(XILINX_MICROBLAZE0_USE_WIC)) { + asm volatile ( "wic %0, r0;" -#endif "nop;" : : "r" (addr + i) : "memory"); + } if (CONFIG_IS_ENABLED(XILINX_MICROBLAZE0_USE_WDC)) { asm volatile ( |