[U-Boot] smp_kick_all_cpus() function's role

Marc Zyngier marc.zyngier at arm.com
Tue Jun 3 11:46:06 CEST 2014


On Tue, Jun 03 2014 at 10:41:51 am BST, "TigerLiu at via-alliance.com" <TigerLiu at via-alliance.com> wrote:
> Hi, Marc:
>>My understanding is that if you're using the Trusted Firmware, then you
>>have an implementation of PSCI, and that's what you must use to bring
>>the CPUs into u-boot. U-Boot will be running non-secure anyway, so it
>>requires the firmware to perform S to NS transition on its behalf.
> Do you mean :
> Waking up Non-BSP cores through PSCI interface, and then let them switch
> to Non-Secure state through smp_kick_all_cpus()?

No. You don't need smp_kick_all_cpus at all. Just call the PSCI firmware
to wake up the secondary CPUs, and they will be directly placed in
non-secure mode.

> And another question:
> 1. how to determine successfully transitioning to Non-Secure?
>    Is there any register to indicate current state is Non-Secure state?
>    And after transitioning to non-secure state, I tried to access SCR
> register,but it caused system hang.

No, there is no architectural way. But if you go from EL3 to EL2,
looking at the mode in PSTATE is pretty easy.

	M.
-- 
Jazz is not dead. It just smells funny.


More information about the U-Boot mailing list