[PATCH 09/11] ARM: uImage: require passing a LOADADDR when building with RUNTIME_PHYSOFFSET
Nicolas Pitre
nico at fluxnic.net
Mon Jul 5 12:03:10 EDT 2010
On Mon, 5 Jul 2010, Uwe Kleine-König wrote:
> the default load address (in the CONFIG_ZBOOT_ROM=n case) is ZRELADDR
> which (apart from being a stupid load address for the
> RUNTIME_PHYSOFFSET=n case) might not be a valid read/write memory on the
> target machine at all. So require passing a LOADADDR on the command
> line. This obiously makes the uImage more machine dependant than the
> zImage.
Why is this required? If something is stupid here, it is the fact that
the U-Boot image format insists on having a load address being built
into it. That certainly makes uImage an unsuitable image format for the
distribution of a cross platform kernel image.
Besides that, you are claiming above that ZRELADDR might not be a valid
writable address when ZBOOT_ROM=n. If that was true we would be having
boot failures all over the place already.
Remember that the goal for this revived effort behind the
RUNTIME_PHYSOFFSET support is to eventually be able to boot a single
kernel binary on multiple different platforms. Asking that a load
address be provided at kernel compile time is rather incompatible with
that goal. If there is no good default LOADADDR value for mkimage then
simply don't provide any. I hope that mkimage can cope with that.
Otherwise just give it 0 which is as wrong as any other value and let
that be an incentive for the U-Boot people to fix the tool properly
(i.e. use that as a flag to let U-Boot that the load address must be
explicitly provided with the load command or whatever).
Therefore, this is a NAK from me.
Nicolas
More information about the linux-arm-kernel
mailing list