[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