[PATCH 0/5] Add M-mode System MSI interrupt controller
Nick Hu
nick.hu at sifive.com
Sun Nov 1 19:47:14 PST 2026
This series adds an irqchip driver for the RPMI System MSI service group.
Platforms can then route system MSIs from the platform microcontroller to
the M-mode IMSIC, where the generic sbi_irqchip framework handles them.
Open Question for Devicetree Binding:
I am unsure if reusing the riscv,rpmi-system-msi compatible string for the
M-mode System MSI interrupt controller is the right approach. The Linux
binding[1] explicitly states it is "intended for use by the supervisor software."
We could either define a new M-mode-specific binding, or reuse the existing one
and update the Linux binding. Feedback on this is welcome.
[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/riscv%2Crpmi-system-msi.yaml
Signed-off-by: Nick Hu <nick.hu at sifive.com>
---
Nick Hu (5):
lib: utils/irqchip: Add RPMI system MSI helper library
lib: utils/mailbox: Unlink mailbox channel before freeing it
lib: utils/mailbox: Reference count mailbox channels
lib: utils/irqchip/imsic: Fail MSI programming on compose error
lib: utils/irqchip: Add RPMI system MSI driver
include/sbi/sbi_irqchip.h | 1 +
include/sbi_utils/irqchip/rpmi_sysmsi.h | 25 ++
include/sbi_utils/mailbox/mailbox.h | 5 +
lib/utils/irqchip/Kconfig | 11 +
lib/utils/irqchip/fdt_irqchip_rpmi_sysmsi.c | 119 +++++++++
lib/utils/irqchip/imsic.c | 3 +-
lib/utils/irqchip/objects.mk | 4 +
lib/utils/irqchip/rpmi_sysmsi.c | 380 ++++++++++++++++++++++++++++
lib/utils/mailbox/mailbox.c | 14 +-
lib/utils/mpxy/Kconfig | 2 +
lib/utils/mpxy/fdt_mpxy_rpmi_sysmsi.c | 61 +----
platform/generic/configs/defconfig | 1 +
12 files changed, 567 insertions(+), 59 deletions(-)
---
base-commit: 6ad246a1494807ee91e36ffcf60e4c30bb309d45
change-id: 20261101-dev-nickh-msysmsi-dev-upstream-8d992a7c7e5f
Best regards,
--
Nick Hu <nick.hu at sifive.com>
More information about the opensbi
mailing list