[Fwd: [PATCH] PPC64: large INITRD causes kernel not to boot]
Mark Bellon
mbellon at mvista.com
Thu Aug 11 01:49:32 EST 2005
Milton Miller wrote:
>>
>> - printf("\n\rzImage starting: loaded at 0x%x\n\r",
>> (unsigned)_start);
>> + printf("\n\rzImage starting: loaded at 0x%lx\n\r", (unsigned
>> long) _start);
>> +
>> + /*
>> + * The first available claim_base must be above the end of the
>> + * the loaded kernel file (_start to _end) and rounded up to a
>> + * nice 1 MB boundary.
>> + */
>> +
>> + claim_base = ((((unsigned long) _end) + ONE_MB - 1) / ONE_MB) *
>> ONE_MB;
>>
>>
>
> _start and _end here are the linked runtime range of the zImage program
> not the kernel image contained therein. This also contains the
> initrd.
>
> Milton
>
Exactly. The claim_base needs to start after the kernel and initrd.
Since _end is above the "top" of the initrd it's perfect to use as the
base for the round up calculation for the starting claim_base.
mark
More information about the Linuxppc64-dev
mailing list