[U-Boot] FW: [PATCH 18/30] riscv: invalidate the instruction cache before jumping to Linux
Rick Chen
rickchen36 at gmail.com
Mon Oct 22 01:39:23 UTC 2018
> From: Lukas Auer [mailto:lukas.auer at aisec.fraunhofer.de]
> Sent: Saturday, October 20, 2018 6:08 AM
> To: u-boot at lists.denx.de
> Cc: Bin Meng; Lukas Auer; Greentime Hu; Alexander Graf; Rick Jian-Zhi Chen(陳建志)
> Subject: [PATCH 18/30] riscv: invalidate the instruction cache before jumping to Linux
>
> Signed-off-by: Lukas Auer <lukas.auer at aisec.fraunhofer.de>
> ---
>
> 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 a7a9fb921b..bc1d4b2864 100644
> --- a/arch/riscv/lib/bootm.c
> +++ b/arch/riscv/lib/bootm.c
> @@ -38,6 +38,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();
Hi Likas
I wull use cleanup_before_linux() which is in cpu.c as below
int cleanup_before_linux(void)
{
disable_interrupts();
/* turn off I/D-cache */
cache_flush();
icache_disable();
dcache_disable();
return 0;
}
and cache_flush() in cache.c as below
void cache_flush(void)
{
invalidate_icache_all();
flush_dcache_all();
}
Rick
>
> bootstage_mark(BOOTSTAGE_ID_RUN_OS);
>
> --
> 2.17.2
>
More information about the U-Boot
mailing list