
On Thu, May 08, 2008 at 11:42:18AM -0500, Menon, Nishanth wrote:
Based on http://sourceforge.net/mailarchive/forum.php?thread_name=20080508151609.GB94... 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@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