Kinsey Moore commented on a discussion on bsps/aarch64/raspberrypi5/start/bspsmp.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1072#note_143370 > +{ > + uint32_t PSCI_FN_SYSTEM_CPU_ON = 0xC4000003; > + /* Core IDs are in AFF1 in the Pi5 */ > + uint64_t target_cpu = (uint64_t) cpu_index << 8; > + uint64_t ret; > + > + __asm__ volatile ( > + "mov x0, %1\n" > + "mov x1, %2\n" > + "mov x2, %3\n" > + "mov x3, #0\n" > + "smc #0\n" > + "mov %0, x0\n" > + : "=r" ( ret ) : "r" ( PSCI_FN_SYSTEM_CPU_ON ), "r" ( target_cpu ), > + "r" ( (uint64_t) _start ) : "x0", "x1", "x2", "x3", "memory" > + ); Ideally, this function should take the form `uintptr_t _AArch64_Get_MPIDR_for_cpu_index(uint32_t cpu_index)` and it should provide all necessary fields in MPIDR format (32bit or 64bit depending on the platform) as the return value. -- View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1072#note_143370 You're receiving this email because of your account on gitlab.rtems.org.
_______________________________________________ bugs mailing list [email protected] http://lists.rtems.org/mailman/listinfo/bugs
