[U-Boot-Users] [Patch] U-Boot-V2: Introduce CONFIG_ARCH_HAS_INIT_LOWLEVEL
Sascha Hauer
s.hauer at pengutronix.de
Fri May 9 09:45:06 CEST 2008
On Thu, May 08, 2008 at 11:42:18AM -0500, Menon, Nishanth wrote:
> Based on http://sourceforge.net/mailarchive/forum.php?thread_name=20080508151609.GB9467%40pengutronix.de&forum_name=u-boot-users
> I am splitting the patches into two. This is the first one for introducing arch specific config.
>
> This introduces CONFIG_ARCH_HAS_INIT_LOWLEVEL which can be enabled for SOC designs which require additional initialization.
>
> Signed-off-by: Nishanth Menon <x0nishan at ti.com>
>
> Index: u-boot-v2.git/arch/arm/cpu/start-arm.S
> ===================================================================
> --- u-boot-v2.git.orig/arch/arm/cpu/start-arm.S 2008-05-08 11:17:09.000000000 -0500
> +++ u-boot-v2.git/arch/arm/cpu/start-arm.S 2008-05-08 11:17:29.000000000 -0500
> @@ -131,7 +131,7 @@
> orr r0,r0,#0xd3
> msr cpsr,r0
>
> -#ifdef ARCH_HAS_INIT_LOWLEVEL
> +#ifdef CONFIG_ARCH_HAS_INIT_LOWLEVEL
> bl arch_init_lowlevel
> #endif
> /*
> Index: u-boot-v2.git/arch/m68k/cpu/start-mcfv4e.S
> ===================================================================
> --- u-boot-v2.git.orig/arch/m68k/cpu/start-mcfv4e.S 2008-05-08 11:17:40.000000000 -0500
> +++ u-boot-v2.git/arch/m68k/cpu/start-mcfv4e.S 2008-05-08 11:17:50.000000000 -0500
> @@ -406,7 +406,7 @@
> * standard reset vector file, but also do some special things
> * required only on their specific CPU.
> */
> -#ifdef ARCH_HAS_INIT_LOWLEVEL
> +#ifdef CONFIG_ARCH_HAS_INIT_LOWLEVEL
> bsr.l arch_init_lowlevel
> nop
> #endif
> Index: u-boot-v2.git/common/Kconfig
> ===================================================================
> --- u-boot-v2.git.orig/common/Kconfig 2008-05-08 11:15:05.000000000 -0500
> +++ u-boot-v2.git/common/Kconfig 2008-05-08 11:18:33.000000000 -0500
> @@ -65,6 +65,13 @@
> allowing it to relocate to the end of the available RAM. This
> way you have the whole memory in a single piece.
>
> +config ARCH_HAS_INIT_LOWLEVEL
> + bool "Architecture has low level init"
> + default n
> + help
> + Architectures that have additional initialization can enable
> + this functionality.
> +
This won't work out. The user is prompted for a question he cannot
answer. The wrong answer will result in a linker error if he says 'yes'
here and the architecture does not have a lowlevel init function. Other
possibility would be that the user ends up with a unusable U-Boot if he
answers 'no' here while the architecture has (and probably needs) a
lowlevel init function.
Another problem is that for example powerpc users will be prompted for
this option which effectively does nothing.
Moving this to the config system is generally a good idea, but
ARCH_HAS_INIT_LOWLEVEL should be an invisible option which gets selected
by architectures that actually need it.
Sascha
--
Pengutronix e.K. - Linux Solutions for Science and Industry
-----------------------------------------------------------
Kontakt-Informationen finden Sie im Header dieser Mail oder
auf der Webseite -> http://www.pengutronix.de/impressum/ <-
More information about the U-Boot
mailing list