[U-Boot] smp_kick_all_cpus() function's role
TigerLiu at via-alliance.com
TigerLiu at via-alliance.com
Tue Jun 3 04:16:19 CEST 2014
Hi, Marc:
>In short, if you're setting GICD_SGIR[24] to 1, you're sending SGI0 to
>all CPUs but yourself. This seems to match the name of the function,
>doesn't it?
I described my understanding based on 2014.07-RC2 u-boot source code:
(For ARMv8 cores)
1. smp_kick_all_cpus() will send SGI0 to all other cores except BSP.
These non-BSP cores handled this SGI0 in gic_wait_for_interrupt(), and then switched to EL2/EL1 .
These code is implemented in lowlevel_init in arch/arm/cpu/armv8/start.S.
Is my understanding right?
2. if runing with ATF(Arm Trusted Firmware) + Uboot.bin
ATF has put non-BSP cores to WFI state.
So, before jumping to u-boot's entrypoint, there is only a BSP .
So, smp_kick_all_cpus() could wake up these non-BSP cores?
Best wishes,
More information about the U-Boot
mailing list