Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for recoverable Ibex NMIs #128

Open
jwnrt opened this issue Jan 28, 2025 · 0 comments
Open

Add support for recoverable Ibex NMIs #128

jwnrt opened this issue Jan 28, 2025 · 0 comments
Assignees

Comments

@jwnrt
Copy link

jwnrt commented Jan 28, 2025

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.

@jwnrt jwnrt changed the title Add support for NMIs Add support for recoverable Ibex NMIs Jan 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants