[PATCH] PPC64: large INITRD causes kernel not to boot [UPDATE]

Mark Bellon mbellon at mvista.com
Wed Sep 7 08:50:02 EST 2005


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.

We've talked about this in linuxppc64-dev at ozlabs.org and this is what 
seems to have settled out.

mark

Signed-off-by: Mark Bellon <mbellon at mvista.com>

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: initrd-patch
Url: http://ozlabs.org/pipermail/linuxppc64-dev/attachments/20050906/a747e99f/attachment.txt 


More information about the Linuxppc64-dev mailing list