RTEMS | riscv: fix spurious interrupt by using SIP_SSIP instead of SIP_STIP (!1124)
saksham balsane (@sak8644)
gitlab at rtems.org
Mon Mar 16 15:14:12 UTC 2026
saksham balsane commented on a discussion on bsps/riscv/riscv/irq/irq.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1124#note_145721
>
> if (vector == RISCV_INTERRUPT_VECTOR_TIMER) {
> #ifdef RISCV_USE_S_MODE
> - *pending = (read_csr(sip) & SIP_STIP) != 0;
> + set_csr(sie, SIP_SSIP);
> #else
> - *pending = (read_csr(mip) & MIP_MTIP) != 0;
> + set_csr(mie, MIP_MSIP);
hi @opticron for pointing out the issue where the code for software interrupt path was checking SIP_STIP instead of SIP_SSIP. i will update the revised patch shortly which replaces the incorrect csr bit while preserving the orignal logic
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1124#note_145721
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/20260316/736c73be/attachment-0001.htm>
More information about the bugs
mailing list