[PATCH] arm: add default value for PHYS_OFFSET Kconfig setting

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Fri Dec 2 04:21:24 EST 2011


Hello Nicolas,

On Fri, Dec 02, 2011 at 12:33:26AM -0500, Nicolas Pitre wrote:
> On Fri, 2 Dec 2011, Nicolas Pitre wrote:
> 
> > On Thu, 1 Dec 2011, Paul Gortmaker wrote:
> > 
> > > On Thu, Dec 1, 2011 at 9:19 AM, Arnd Bergmann <arnd at arndb.de> wrote:
> > > > On Thursday 01 December 2011, Paul Gortmaker wrote:
> > > >> Commit 1b9f95f8ade9efc2bd49f0e7b9dc61a038ac3eef introduced the new
> > > >> Kconfig for PHYS_OFFSET but it did not specify a default value.
> > > >>
> > > >> This has the undesired side effect of breaking an implictly used
> > > >> trick for updating defconfigs on the fly for routine buildtesting
> > > >> across all arch and all platforms, i.e.
> > > >>
> > > >>   cp /path/to/somedefconfig .config ; yes "" | make oldconfig
> > > >>
> > > >
> > > > FWIW, a better way to achieve the above is using
> > > >
> > > > make KCONFIG_ALLCONFIG=/path/to/somedefconfig listnewconfig alldefconfig
> > > >
> > > > which does not have this problem.
> > > >
> > > > Your patch looks still ok, but you might want to update your scripts
> > > > to be more robust.
> > > 
> > > Thanks -- but on the other hand, the above use case does actually
> > > emulate exactly what happens when someone runs the
> > > "make oldconfig" and simply holds down the Enter key. (yes it
> > > happens probably way more than we want to know...)
> > > 
> > > So, I guess what I'm trying to say is that the above "script" is
> > > intentionally fragile.  :)  As a use case, we shouldn't break it.
> > 
> > Well... I took a while before replying because I'm also modifying things 
> > around this, but those changes are good for a merge window not a -rc 
> > period.
> > 
> > Still, I don't think your patch is good, even as a temporary measure.  
> > The fact is that we can't just pick a random default value since it is 
> > likely to be wrong for the majority of the boards as the right answer 
> > for this option is quite varied.  So the fact that the config system 
> > insists on your entering a proper value is actually a good thing.
> > 
> > In the at91x40_defconfig case, it has CONFIG_EMBEDDED=y.  If it was not 
> > selected then you'd get CONFIG_ARM_PATCH_PHYS_VIRT=y by default and then 
> > no CONFIG_PHYS_OFFSET would be presented.
> > 
> > So the right fix here would actually consist of adding to 
> > at91x40_defconfig either CONFIG_ARM_PATCH_PHYS_VIRT=y, or a default 
> > value for CONFIG_PHYS_OFFSET which is the right value for that platform.
> 
> And it seems that at91x40 is the only defconfig with MMU=n, so the only 
> option is really to provide a default CONFIG_PHYS_OFFSET.  So what about 
> this:
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index e084b7e981..a24672924f 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -222,6 +222,7 @@ config NEED_MACH_MEMORY_H
>  config PHYS_OFFSET
>  	hex "Physical address of main memory"
>  	depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H
> +	default DRAM_BASE if !MMU
>  	help
>  	  Please provide the physical address corresponding to the
>  	  location of main memory in your system.
> 
> Eventually the DRAM_BASE config option could simply be replaced by 
> PHYS_OFFSET directly, but that's a larger change.
I'm working on a MMU-less machine, too and had that change already in my
working copy. I was about to commit and it send out later today.

So: Acked-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |



More information about the linux-arm-kernel mailing list