[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