From: Benjamin Herrenschmidt 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 Signed-off-by: Andrew Morton --- 25-akpm/arch/ppc64/boot/main.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN arch/ppc64/boot/main.c~ppc64-fix-zimage-wrapper-incorrect-size-to-flush_cache arch/ppc64/boot/main.c --- 25/arch/ppc64/boot/main.c~ppc64-fix-zimage-wrapper-incorrect-size-to-flush_cache 2005-02-28 20:36:03.000000000 -0800 +++ 25-akpm/arch/ppc64/boot/main.c 2005-02-28 20:36:03.000000000 -0800 @@ -200,7 +200,7 @@ void start(unsigned long a1, unsigned lo 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)); _