[U-Boot] [PATCH v2 3/7] riscv: use invalidate/flush_*cache_range	functions in cache.c
    Lukas Auer 
    lukas.auer at aisec.fraunhofer.de
       
    Fri Jan  4 00:37:30 UTC 2019
    
    
  
The flush_cache() function in lib/cache.c ignores its arguments and
flushes the complete data and instruction caches. Use the
invalidate/flush_*cache_range() functions instead to only flush the
requested memory region.
This patch does not change the current behavior of U-Boot, since the
implementation of the invalidate/flush_*cache_range() functions flush
the complete data and instruction caches. It is in preparation for CPUs
with the necessary functionality for flushing a selectable memory range.
Signed-off-by: Lukas Auer <lukas.auer at aisec.fraunhofer.de>
---
Changes in v2:
- New patch "riscv: use invalidate/flush_*cache_range functions in
cache.c"
 arch/riscv/lib/cache.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/riscv/lib/cache.c b/arch/riscv/lib/cache.c
index 78b19da2c5..5437a122a1 100644
--- a/arch/riscv/lib/cache.c
+++ b/arch/riscv/lib/cache.c
@@ -40,8 +40,8 @@ void cache_flush(void)
 
 void flush_cache(unsigned long addr, unsigned long size)
 {
-	invalidate_icache_all();
-	flush_dcache_all();
+	invalidate_icache_range(addr, addr + size);
+	flush_dcache_range(addr, addr + size);
 }
 
 __weak void icache_enable(void)
-- 
2.20.1
    
    
More information about the U-Boot
mailing list