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

Mark Bellon mbellon at mvista.com
Tue Aug 9 05:02:58 EST 2005


Olaf Hering wrote:

> On Mon, Aug 08, Mark Bellon wrote:
>
>  
>
>>+	/*
>>+	 * The first available claim_base must be "out of the way" -
>>+	 * well above _start + kernel_size + initrd + overhead.
>>+	 */
>>+
>>+	claim_base = ((unsigned long) _start) +
>>+				((unsigned long) vmlinux_filesize) +
>>+				(unsigned long)(_initrd_end - _initrd_start) +
>>+				ONE_MB;
>>    
>>
>
>Why do you have to make the initial claim_base non-zero? Did you try to
>start from zero? Appears to work ok for me.
>  
>
The original code started non-zero too [don't know why]. Yes, if 
everything was correct and the claims where proper one could always 
start at zero.

I've got several platforms where the claim will (incorrectly) succeed 
below the computed location. This coding insures that no matter what the 
firmware thinks is right (or wrong) the claiming starts at a safe place. 
Insurance?

On top of that it's just a waste of time. In really huge INITRD handling 
this adds unnecessary boot latency.

mark





More information about the Linuxppc64-dev mailing list