[U-Boot] [PATCH v2 16/29] riscv: invalidate the instruction cache	before jumping to Linux
    Lukas Auer 
    lukas.auer at aisec.fraunhofer.de
       
    Tue Oct 30 12:55:39 UTC 2018
    
    
  
RISC-V does not guarantee that stores to instruction memory are visible
to instruction fetches (i.e. incoherent instruction caches). Invalidate
the instruction cache to ensure the kernel function pointer points to
the correct memory location.
Signed-off-by: Lukas Auer <lukas.auer at aisec.fraunhofer.de>
---
Changes in v2:
- Clarify reasoning behind patch in commit message
 arch/riscv/lib/bootm.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/arch/riscv/lib/bootm.c b/arch/riscv/lib/bootm.c
index 2b5ccce933..c1cf618806 100644
--- a/arch/riscv/lib/bootm.c
+++ b/arch/riscv/lib/bootm.c
@@ -40,6 +40,7 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
 		return 1;
 
 	kernel = (void (*)(ulong, void *))images->ep;
+	invalidate_icache_all();
 
 	bootstage_mark(BOOTSTAGE_ID_RUN_OS);
 
-- 
2.17.2
    
    
More information about the U-Boot
mailing list