Browse Source

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 <tnishinaga.dev@gmail.com>
tags/2020-06-01
tnishinaga.dev@gmail.com 4 years ago
committed by Tom Rini
parent
commit
8f079cccb3
1 changed files with 1 additions and 0 deletions
  1. +1
    -0
      arch/arm/lib/bootm.c

+ 1
- 0
arch/arm/lib/bootm.c View File

@@ -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) {