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