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

From: Benjamin Herrenschmidt
Date: Mon Feb 28 2005 - 23:34:20 EST


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@xxxxxxxxxxxxxxxxxxx>


--- 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));


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/