[Fwd: [PATCH] PPC64: large INITRD causes kernel not to boot]
Mark Bellon
mbellon at mvista.com
Tue Aug 9 05:55:12 EST 2005
Olaf Hering wrote:
> On Mon, Aug 08, Mark Bellon wrote:
>
>
>
>>Olaf Hering wrote:
>>
>>
>>>make sure to also claim the range from _start to _end. The firmware on
>>>my B50 doesnt claim the client memrange.
>>>
>>>
>>>
>>>
>>Doesn't the "_start + ((unsigned long) vmlinux_filesize)" in the
>>calculation already do that by never allowing an allocation in that
>>address range? Yes, it's unclaimed but it's also not going to be around
>>for very long... [pragmatic approach?]
>>
>>
>
>If the zimage elf range is claimed, nothing else will get this area, and
>claim_base could remain zero.
>
>something like this after of1275_prominit() is done in my zimage.
>of1275_claim((unsigned int)_start, (unsigned int)(_end - _start), 0)
>
>
I see your point. but I've got practical issues that I want to avoid:
I've got platforms that claim only part of the space south of 4MB and
_start is usually 4MB (a hole); starting at zero would not do nice
things in some cases. I felt my coding prevents any possibility of
problems by simply removing the chance of a collision.
That initrd image is not claimed in your approach and it sits
immediately about _end. It would need to be claimed as well.
How about this? Claim everything in the loaded ELF file from _start
explicitly with claim_start initialized at _start?
However I still like my approach saving time especially with a huge INITRD.
Listening and thinking,
mark
More information about the Linuxppc64-dev
mailing list