RTEMS | riscv: s-mode use SBI for timer, reset, and SMP support (!1108)

Kinsey Moore (@opticron) gitlab at rtems.org
Thu Mar 12 23:17:06 UTC 2026




Kinsey Moore commented on a discussion on bsps/riscv/riscv/start/bspsmp.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1108#note_145204

 >  {
 >    Per_CPU_Control *cpu;
 >  
 > -  cpu = _Per_CPU_Get_by_index(target_processor_index);
 >  #ifdef RISCV_USE_S_MODE
 > -  /* TODO: Add IPI call. */
 > +  uint32_t hartid;
 > +  unsigned long hart_mask;
 >    (void) cpu;
 > +
 > +  hartid = _RISCV_Map_cpu_index_to_hartid(target_processor_index);
 > +  hart_mask = 1UL << hartid;
 > +  sbi_send_ipi(&hart_mask);
 >  #else
 > +  cpu = _Per_CPU_Get_by_index(target_processor_index);

I think I tend to break these into separate functions to avoid this kind of pattern in the first place.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1108#note_145204
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/20260312/2c512b87/attachment-0001.htm>


More information about the bugs mailing list