[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <alpine.LFD.2.02.1110141617380.17040@xanadu.home>
Date: Fri, 14 Oct 2011 16:26:46 -0400 (EDT)
From: Nicolas Pitre <nico@...xnic.net>
To: Russell King - ARM Linux <linux@....linux.org.uk>
Cc: Olof Johansson <olof@...om.net>, Arnd Bergmann <arnd@...db.de>,
Stephen Warren <swarren@...dia.com>,
Peter De Schrijver <pdeschrijver@...dia.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
"Colin Cross (ccross@...roid.com)" <ccross@...roid.com>,
Erik Gilling <konkers@...roid.com>
Subject: Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default
On Fri, 14 Oct 2011, Russell King - ARM Linux wrote:
> On Fri, Oct 14, 2011 at 04:06:21PM -0400, Nicolas Pitre wrote:
> > Currently, U-Boot insists on having a uImage with a fixed absolute load
> > address. This is currently provided by the zreladdr value, whether or
> > not AUTO_ZRELADDR is set. I consider this as a persisting uImage
> > limitation.
> >
> > Either u-Boot gets fixed so it can work with plain zImage (and this
> > certainly will happen once the pressure from people wanting a single
> > kernel to work on targets with different load addresses increase.
> > Tegra is one such example.
> >
> > Or we create a u-Boot specific Kconfig menu for uImage options that
> > would be common to all architectures and kick it out from the ARM
> > specific makefile. This is not solving the u-Boot limitation though.
> >
> > In either cases this is a u-Boot problem that needs fixing on the u-Boot
> > side in the end.
>
> I don't think that's so with the various flavours of platform specific
> uboot which float around. For instance, on the OMAP4430 SDP, the
> following commands were used as supplied to load a uImage off the SD
> card into RAM at a different address to which it was built for, and
> execute it at that address:
>
> mmcinit 0
> fatload mmc 0 0x80300000 uImage
> bootm 80300000
>
> Whether the 'bootm' command then copied the image and called it there,
> or whether it executed it at 0x80300000 I've no idea - but why then
> load the image at a different address in the first place?
Maybe because the lower memory is already in use by other u-Boot related
things, or more likely for no specific reasons at all. But u-Boot
_will_ relocate the image if it is not lot loaded at the address being
recorded in its header as specified by the -a argument of mkimage. And
currently we use zreladdr for that when "make uImage" is used, meaning
that by default no one is currently benefiting from the kernel
decompressor relocation avoidance optimization on u-Boot.
Of course the u-Boot people are also claiming that u-Boot should take
care of the kernel decompression not zImage, which I personally disagree
with.
Nicolas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists