[PATCH] ARM: Shutdown barebox (MMU) before setting ATAGS to avoid page #0 fault.

Krzysztof Halasa khc at pm.waw.pl
Sat May 5 17:38:15 EDT 2012


This doesn't fix the "md" issue.

Signed-off-by: Krzysztof Hałasa <khc at pm.waw.pl>

diff --git a/arch/arm/lib/armlinux.c b/arch/arm/lib/armlinux.c
index a167036..847fefa 100644
--- a/arch/arm/lib/armlinux.c
+++ b/arch/arm/lib/armlinux.c
@@ -260,12 +260,15 @@ void start_linux(void *adr, int swap, unsigned long initrd_address,
 	if (oftree) {
 		printf("booting Linux kernel with devicetree\n");
 		params = oftree;
-	} else {
+	}
+
+	shutdown_barebox();
+
+	if (!oftree) {
 		setup_tags(initrd_address, initrd_size, swap);
 		params = armlinux_bootparams;
 	}
 
-	shutdown_barebox();
 	if (swap) {
 		u32 reg;
 		__asm__ __volatile__("mrc p15, 0, %0, c1, c0" : "=r" (reg));



More information about the barebox mailing list