RTEMS | RISC-V implementation does not support Smdbltrp extension (#5274)
Matteo Concas (@matteo.concas)
gitlab at rtems.org
Sun Nov 23 17:55:11 UTC 2025
Matteo Concas commented on a discussion: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5274#note_136202
In the case I described above the value of NMIE doesn't seem to matter (From ["Smrnmi" Extension for Resumable Non-Maskable Interrupts, Version 1.0](https://docs.riscv.org/reference/isa/priv/rnmi.html#rnmi)):
> If the hart encounters an exception while executing in M-mode with the mnstatus.NMIE bit clear, the actions taken are the same as if the exception had occurred while mnstatus.NMIE were set, except that the program counter is set to the RNMI exception trap handler address.
To be clear, in our case the NMIE bit is never set by RTEMS as the RISC-V BSP has no knowledge of it. So encountering an exception while in the exception handler should always means we end up in the RNMI exception handler (also, some RV implementations could decide for the exception and normal handlers to be the same thing and only implement one CSR for its address).
I think a separate discussion around normal RNMI handling could also be had, this just came about as I encountered that situation (trap-in-trap) while doing some testing and couldn't understand why the PC was being set to an unexpected address :smile:
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5274#note_136202
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/20251123/256796ae/attachment-0001.htm>
More information about the bugs
mailing list