[U-Boot] [PATCH 1/2] arm, arm926ejs: always do cpu critical inits
Heiko Schocher
hs at denx.de
Tue Dec 6 07:39:06 CET 2011
Hello Albert,
Albert ARIBAUD wrote:
> Le 29/11/2011 20:27, Tom Rini a écrit :
>> On Wed, Nov 9, 2011 at 11:06 PM, Heiko Schocher<hs at denx.de> wrote:
>>> always do the cpu critical inits in cpu_init_crit,
>>> and only jump to lowlevel_init, if CONFIG_SKIP_LOWLEVEL_INIT
>>> is not defined.
>>>
>>> Signed-off-by: Heiko Schocher<hs at denx.de>
>>> Cc: Albert ARIBAUD<albert.u.boot at aribaud.net>
>>> Cc: Wolfgang Denk<hs at denx.de>
>>> Cc: Sandeep Paulraj<s-paulraj at ti.com>
>>> Cc: Tom Rini<tom.rini at gmail.com>
>>> Cc: Christian Riesch<christian.riesch at omicron.at>
>>
>> (Will be) queued to u-boot-ti, thanks.
>
> Hmm... This commit alters the effect of CONFIG_SKIP_LOWLEVEL_INIT
> without making it possible to recreate it through configuration -- you
> now have to alter the source code to get the same effect as before. I'd
> prefer the CPU init crit code to be kept under a config option, and
> another option to be added for finer control.
Would the following be OK?
diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S
index 339c5ed..b72ad4b 100644
--- a/arch/arm/cpu/arm926ejs/start.S
+++ b/arch/arm/cpu/arm926ejs/start.S
@@ -194,7 +194,7 @@ reset:
* we do sys-critical inits only at reboot,
* not when booting from ram!
*/
-#ifndef CONFIG_SKIP_LOWLEVEL_INIT
+#ifndef CONFIG_SKIP_CPU_INIT_CRIT
bl cpu_init_crit
#endif
@@ -353,7 +353,7 @@ _dynsym_start_ofs:
*
*************************************************************************
*/
-#ifndef CONFIG_SKIP_LOWLEVEL_INIT
+#ifndef CONFIG_SKIP_CPU_INIT_CRIT
cpu_init_crit:
/*
* flush v4 I/D caches
@@ -372,14 +372,16 @@ cpu_init_crit:
orr r0, r0, #0x00001000 /* set bit 12 (I) I-Cache */
mcr p15, 0, r0, c1, c0, 0
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
/*
* Go setup Memory and board specific bits prior to relocation.
*/
mov ip, lr /* perserve link reg across call */
bl lowlevel_init /* go setup pll,mux,memory */
mov lr, ip /* restore link */
+#endif
mov pc, lr /* back to my caller */
-#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
+#endif /* CONFIG_SKIP_CPU_INIT_CRIT */
#ifndef CONFIG_SPL_BUILD
/*
If so, I post it as a v2 ...
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
More information about the U-Boot
mailing list