From: tnishinaga.dev@gmail.com Date: Sun, 4 Jun 2017 16:18:08 +0000 (+0900) Subject: armv7m: Disable D-cache when booting nommu(ARMv7M) Linux kernel X-Git-Tag: v2017.07-rc2~67 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8f079cccb369995e46a2ab530d5d60b88c1e70bb;p=oweals%2Fu-boot.git armv7m: Disable D-cache when booting nommu(ARMv7M) Linux kernel Disable D-Cache is required when booting nommu Linux kernel. (please see Linux kernel source "arch/arm/kernel/head-nommu.S") U-Boot is enabled D-cache and I-Cache at startup. However, it does not disable D-Cache before booting nommu Linux kernel. Therefore, I call dcache_disable() when the CPU is ARMv7M to fix this problem. Signed-off-by: Toshifumi NISHINAGA --- diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 704849bd0c..b3e5d24a32 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -360,6 +360,7 @@ static void boot_jump_linux(bootm_headers_t *images, int flag) #ifdef CONFIG_CPU_V7M ulong addr = (ulong)kernel_entry | 1; kernel_entry = (void *)addr; + dcache_disable(); #endif s = getenv("machid"); if (s) {