powerpc/boot: Compare _start against ei.loadsize instead ei.memsize
authorSebastian Siewior <bigeasy@linutronix.de>
Sun, 12 Oct 2008 23:15:26 +0000 (23:15 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 21 Oct 2008 04:17:47 +0000 (15:17 +1100)
commitc10c178a92b032ea3dd7259dcbbd1b9331c05c41
treed539b62ebf4f6821f7b4b2159982ba1214c30d68
parentc1075fb7ec62b7ac0ac6baee2ceeb77270206aef
powerpc/boot: Compare _start against ei.loadsize instead ei.memsize

If the vmlinux binary in memory is larger than 4 MiB than it collides
with the initial boot code which is linked at 4 MiB in case of cuBoot.
If the the uncompressed image size (on disk size) is less than 4 MiB
then it would fit. The difference between those two sizes is the bss
section. In cuBoot we have the dtb embedded right after the data
section so it is very likely that the reset of the bss section (in
kernel's start up code) will overwrite the dtb blob. Therefore we
reallocate the dtb. Something similar is allready done to the initrd.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/boot/libfdt-wrapper.c
arch/powerpc/boot/main.c