[U-Boot] [PATCH 3/9] arm: Move CP15 init out of cpu_init_crit()

Albert ARIBAUD albert.u.boot at aribaud.net
Fri Oct 21 22:58:44 CEST 2011


Le 13/10/2011 23:05, Simon Glass a écrit :
> Some SOCs have do not start up with their 'main' CPU. The first U-Boot
> code may then be executed with a CPU which does not have a CP15, or not a
> useful one.
>
> Here we split the initialization of CP15 into a separate call, which can
> be performed later if required.
>
> Once the main CPU is running, you should call cpu_init_cp15() to perform
> this init as early as possible.
>
> Existing ARMv7 boards which define CONFIG_SKIP_LOWLEVEL_INIT should not
> need to change, this CP15 init is still skipped in that case. The only
> impact for these boards is that the cpu_init_cp15() will be available
> even if it is never used on these boards.

I'm not too sure I understand how this is working: if you are moving 
cp15 init to later, it will still be done by the same core that would 
have done it earlier, won't it?

IOW, I would like to better understand how this boot core/main core 
business works. How does the main core start execution? At which 
address? Does it go through its reset vector? Do the cores share the 
same location for reset vectors? Etc.

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list