RTEMS | bsps/raspberrypi5: Add SMP support (!1072)

Preetam Das (@lostux) gitlab at rtems.org
Tue Feb 24 17:13:15 UTC 2026




Preetam Das commented on a discussion on bsps/shared/start/bspsmp-arm-psci.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1072#note_143421

 >  #if defined( AARCH64_MULTILIB_ARCH_V8 ) || \
 >    defined( AARCH64_MULTILIB_ARCH_V8_ILP32 )
 >    uint32_t PSCI_FN_SYSTEM_CPU_ON = 0xC4000003;
 > -  uint64_t target_cpu = _AArch64_Read_mpidr_el1();
 > +  uint64_t target_cpu = _AArch64_Get_MPIDR_for_cpu_index( cpu_index );
 > +  target_cpu &= ( 0x00ff00ffffffULL );
 >    uint64_t ret;
 >  #else
 >    uint32_t PSCI_FN_SYSTEM_CPU_ON = 0x84000003;
 > -  uint32_t target_cpu = _AArch32_Read_mpidr();
 > +  uint32_t target_cpu = _ARM_Get_MPIDR_for_cpu_index( cpu_index );
 > +  target_cpu &= ( 0x00ffffffUL );

Ok, `_CPU_SMP_Start_processor` now uses the new `_AArch_Get_PSCI_target_cpu`. I dropped the previous version. Moved the declaration to `bsps/include/bsp/bspsmp-arm-psci.h` instead of `cpuimpl.h`.

I can only test with the Pi5, and it works with the overridden implementation. Hopefully, the default implementation is not broken for aarch64/xilinx-zynqmp and aarch64/xen.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1072#note_143421
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20260224/8c4c1902/attachment-0001.htm>


More information about the bugs mailing list