[PATCH 10/62] ARM: efm32: select AUTO_ZRELADDR

Arnd Bergmann arnd at arndb.de
Fri Mar 21 11:10:37 EDT 2014


On Friday 21 March 2014 15:32:24 Uwe Kleine-König wrote:
> On Thu, Mar 20, 2014 at 11:16:20PM +0100, Arnd Bergmann wrote:
> > On Thursday 20 March 2014 21:48:47 Uwe Kleine-König wrote:
> > > 
> > > On Wed, Mar 19, 2014 at 08:29:07PM +0100, Arnd Bergmann wrote:
> > > > The efm32 platform does not provide a zreladdr-y line its Makefile.boot,
> > > > so we always have to use CONFIG_AUTO_ZRELADDR in order to successfully
> > > > build and link a zImage.
> > > I wonder why you need to AUTO_ZRELADDR (which is there to guess
> > > zreladdr) while efm32 doesn't have an MMU and so there is nothing to
> > > guess. So I think this patch fixes a build problem, but it's not a good
> > > change.
> > 
> > It is required in order to build a compressed zImage file. You mentioned
> > before that your system does not have enough RAM to support this, but
> > the compile-time option exists, and there is no dependency on MMU support
> > for it, nor should there be.
> My objection isn't about having only little RAM. AUTO_ZRELADDR is about
> guessing the physical address corresponding to PAGE_OFFSET. But without
> an MMU there is nothing to guess. So I wonder if the better change would
> be to do:
> 
>         #ifdef CONFIG_MMU
>         #ifdef CONFIG_AUTO_ZRELADDR
>                 ... guess zreladdress based on instruction pointer
>         #else
>                 ... use zreladdr from Makefile.boot
>         #endif
>         #else
>                 ... use zreladdr = PAGE_OFFSET
>         #endif
> 

I don't see a reason to change the existing logic, it works for
both MMU and NOMMU kernels, and you are talking about *three* instructions
here.
Also, once we integrate efm32 into ARCH_MULTIPLATFORM, it AUTO_ZRELADDR
will be set anyway, unless we add another useless conditional.

	Arnd



More information about the linux-arm-kernel mailing list