[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