[PATCH v2] Change the default link address for pSeries zImage kernels.
Olaf Hering
olaf at aepfle.de
Thu Jul 3 01:04:32 EST 2008
On Tue, Jun 24, Tony Breeds wrote:
> Currently we set the start of the .text section to be 4Mb for pSeries.
> In situations where the zImage is > 8Mb we'll fail to boot (due to
> overlapping with OF). Move .text in a zImage from 4MB to 64MB (well past OF).
>
> We still will not be able to load large zImage unless we also move OF,
> to that end, add a note to the zImage ELF to move OF to 32Mb. If this
> is the very first kernel booted then we'll need to move OF manually by
> setting real-base.
Setting real-base to what?
What currently happens with a large boot file is:
Firmware loads the zImage at load-base, finds that the ELF file is too
large to fit into the memory window and stops.
With your patch, firmware loads 12566528 bytes, and starts the zImage.
The result is a truncated file, the initrd will be corrupted, kernel
panic in populate_rootfs().
The only system where firmware relocates itself from 12MB to 32MB is a
p640 with firmware version NAN04194.
All other systems seem to ignore the NOTE section, real-base remains at
0xc00000
So I do not think your patch is a real improvement,
clear error vs. silent corruption.
Do you happen to know how to automate the changing the value of
real-base? The addnote change has appearently no effect on recent
systems.
Olaf
More information about the Linuxppc-dev
mailing list