Re: [PATCH v2] Change the default link address for pSeries zImage kernels.
From: Tony Breeds <hidden>
Date: 2008-07-04 03:14:50
On Wed, Jul 02, 2008 at 05:04:32PM +0200, Olaf Hering wrote:
Setting real-base to what?
32Mb, or any other value big enough to allow the tftp to fit in
${real-base} - ${load-base}. I admitt it's far from ideal.
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().
Okay that's not the behaviour I see here on the POWER4 machines, they grab the firt n bytes (probabbly 12566528), and then abort with a message about image being too large and it cannot be split. (something akin to https://bugzilla.novell.com/show_bug.cgi?id=350212 )
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
Add I thought /all/ POWER4 systems were unable to relocate OF (regardless of whether the request is from the NOTE or from set-env real-base).
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.
It's there for POWER5 and on. I was sure that no POWER4 machines could be reloacted, but you say that your p640 can. Yours Tony linux.conf.au http://www.marchsouth.org/ Jan 19 - 24 2009 The Australian Linux Technical Conference!