Open
Description
There are two NMIs in OpenTitan (for EG at least):
- Watchdog bark from the AON timer.
- Alert escalation from the alert handler.
Ibex has a non-standard resumable NMI implementation from before smrnmi
was ratified, described here: https://ibex-core.readthedocs.io/en/latest/03_reference/exception_interrupts.html#recoverable-non-maskable-interrupt
Can we add these NMIs without changing upstream QEMU code too much? #111 attempted this.
Alternatively, can we somehow hook into the smrnmi
implementation to manipulate mcause
and mstatus
etc in addition to the official mncause
and mnstatus
?
Alternatively, can we try to migrate Ibex to smrnmi
upstream and use that? This is a bigger but more robust change.
Metadata
Metadata
Assignees
Labels
No labels