[PATCH 0/3] Add NMI Support to RISC-V via SSE

Yunhui Cui cuiyunhui at bytedance.com
Mon Oct 27 06:34:28 PDT 2025


We thank Clément Léger (Rivos Inc.) for his foundational SSE
work ([1]), upon which this patch series builds. This series adds
NMI support to RISC-V via SSE, with two key focuses:
1. A PR to the RISC-V SBI spec ([2]) for unknown NMI handling, with
matching Linux kernel changes.
2. Extending NMI usage to all system scenarios where it boosts
robustness—e.g., stopping CPUs during crashes.

[1] https://lore.kernel.org/all/20250908181717.1997461-1-cleger@rivosinc.com/
[2] https://github.com/riscv-non-isa/riscv-sbi-doc/pull/223

Yunhui Cui (3):
  drivers: firmware: riscv: add SSE NMI support
  riscv: crash: move IPI crash handling logic to crash.c
  riscv: crash: use NMI to stop the CPU

 MAINTAINERS                      |   7 ++
 arch/riscv/include/asm/crash.h   |  17 ++++
 arch/riscv/include/asm/sbi.h     |   2 +
 arch/riscv/include/asm/smp.h     |  14 +++
 arch/riscv/kernel/Makefile       |   2 +-
 arch/riscv/kernel/crash.c        | 111 +++++++++++++++++++++++
 arch/riscv/kernel/smp.c          |  99 +-------------------
 drivers/firmware/riscv/Kconfig   |  10 +++
 drivers/firmware/riscv/Makefile  |   1 +
 drivers/firmware/riscv/sse_nmi.c | 150 +++++++++++++++++++++++++++++++
 include/linux/sse_nmi.h          |   8 ++
 11 files changed, 323 insertions(+), 98 deletions(-)
 create mode 100644 arch/riscv/include/asm/crash.h
 create mode 100644 arch/riscv/kernel/crash.c
 create mode 100644 drivers/firmware/riscv/sse_nmi.c
 create mode 100644 include/linux/sse_nmi.h

-- 
2.39.5




More information about the linux-riscv mailing list