[PATCH] ppc64: Fix zImage wrapper incorrect size to flush_cache()

Benjamin Herrenschmidt benh at kernel.crashing.org
Tue Mar 1 15:29:25 EST 2005

Hi !

This patch fixes a bug in the ppc64 zImage wrapper causing it to
pass an incorrect size to flush_cache() when flushing the data and
instruction caches prior to jumping to the kernel entry. This causes
crashes on firmare environment that do strict MMU mapping only of
actually allocated areas

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

--- dingo/2.6.10-bk5/arch/ppc64/boot/main.c	2004-12-25 08:35:50.000000000 +1100
+++ 2.6.10-bk5/arch/ppc64/boot/main.c	2005-02-16 17:10:49.194263268 +1100
@@ -200,7 +200,7 @@
 	vmlinux.addr += (unsigned long)elf64ph->p_offset;
 	vmlinux.size -= (unsigned long)elf64ph->p_offset;
-	flush_cache((void *)vmlinux.addr, vmlinux.memsize);
+	flush_cache((void *)vmlinux.addr, vmlinux.size);
 	if (a1)
 		printf("initrd head: 0x%lx\n\r", *((u32 *)initrd.addr));

More information about the Linuxppc64-dev mailing list