[PATCH] board: vexpress_ca9x4: Enable D-cache and MMU

Mark Kettenis kettenis at openbsd.org
Sat Jul 12 20:52:27 CEST 2025


Enable the D-cache, which will also enable the MMU.  The latter
make sure we don't do unaligned access on Strongly-ordered memory,
which has UNPREDICTABLE behaviour according the architecture
definition.  This fixes using U-Boot with recent versions of
QEMU's vexpress-ca9 emulation.

Signed-off-by: Mark Kettenis <kettenis at openbsd.org>
---
 board/armltd/vexpress/vexpress_common.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/board/armltd/vexpress/vexpress_common.c b/board/armltd/vexpress/vexpress_common.c
index 6c374e25e32..3833af59b09 100644
--- a/board/armltd/vexpress/vexpress_common.c
+++ b/board/armltd/vexpress/vexpress_common.c
@@ -165,3 +165,11 @@ void smp_set_core_boot_addr(unsigned long addr, int corenr)
 	writel(addr, CONFIG_SYSFLAGS_ADDR);
 }
 #endif
+
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
+void enable_caches(void)
+{
+	/* Enable D-cache. I-cache is already enabled in start.S */
+	dcache_enable();
+}
+#endif
-- 
2.49.0



More information about the U-Boot mailing list