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