-
Specification
-
Resolution: Unresolved
-
Medium
-
ResNMI
-
Yes
-
ISA
-
Smrnmi
-
Ratification-Ready Approval Not Required
-
Completed
-
1
The base machine-level architecture supports only unresumable non-maskable interrupts (UNMIs), where the NMI jumps to a handler in machine mode, overwriting the current mepc and mcause register values. If the hart had been executing machine-mode code in a trap handler, the previous values in mepc and mcause would not be recoverable and so execution is not generally resumable.
The Smrnmi extension adds support for resumable non-maskable interrupts (RNMIs) to RISC-V. The extension adds four new CSRs (mnepc, mncause, mnstatus, and mnscratch) to hold the interrupted state, and one new instruction, MNRET, to resume from the RNMI handler.
Google Drive link for the extension: https://drive.google.com/file/d/1rz1GQSaEm6gSF2UN2jE2Md3_5BLdqd71/view