Kinsey Moore commented on a discussion on 
bsps/aarch64/raspberrypi5/start/bspsmp.c: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1072#note_143365

 > +{
 > +  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"
 > +  );

This is not something that will be overridden by an application, so it doesn't 
need to be weak. The BSP can have its own implementation and link that in 
instead of the shared version, exactly as 
`_AArch64_Get_current_processor_for_system_start()` is used.

-- 
View it on GitLab: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1072#note_143365
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

Reply via email to