From: Sascha Hauer Date: Fri, 9 May 2008 09:45:06 +0200 Subject: [U-Boot-Users] [Patch] U-Boot-V2: Introduce CONFIG_ARCH_HAS_INIT_LOWLEVEL In-Reply-To: <8E8BB316C604E94AA019A54D0A5A82A201A2CE54@dlee13.ent.ti.com> References: <8E8BB316C604E94AA019A54D0A5A82A201A2CE54@dlee13.ent.ti.com> Message-ID: <20080509074506.GD9467@pengutronix.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > > 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/ <-