]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] PPC64: large INITRD causes kernel not to boot
authorMark Bellon <mbellon@mvista.com>
Tue, 6 Sep 2005 22:50:02 +0000 (15:50 -0700)
committerPaul Mackerras <paulus@samba.org>
Fri, 9 Sep 2005 12:11:37 +0000 (22:11 +1000)
commitb5da43e3733386086a147fad9176b7ec9854843f
treed0251616720c901553226d20ab1c247e0c665bd3
parentc9eb83045ecda8218a66abc2de6804043adf9bd0
[PATCH] PPC64: large INITRD causes kernel not to boot

In PPC64 there are number of problems in arch/ppc64/boot/main.c that
prevent a kernel from making use of a large (greater than ~16MB) INITRD.
This is 64 bit architecture and really large INITRD images should be
possible.

Simply put the existing code has a fixed reservation (claim) address and
once the kernel plus initrd image are large enough to pass this address
all sorts of bad things occur. The fix is the dynamically establish the
first claim address above the loaded kernel plus initrd (plus some
"padding" and rounding). If PROG_START is defined this will be used as
the minimum safe address - currently known to be 0x01400000 for the
firmwares tested so far.

Signed-off-by: Mark Bellon <mbellon@mvista.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/ppc64/boot/main.c