Skip to contentSkip to conversation

ppc64: Fix zImage wrapper incorrect size to flush_cache()

PATCH New Benjamin Herrenschmidt 1 participant 1 message Mar 1, 2005

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ppc64: Fix zImage wrapper incorrect size to flush_cache()

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

arch/ppc64/boot/main.c renamed from 2.6.10-bk5/arch/ppc64/boot/main.c +1 -1
@@ -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));