[PATCH v2 0/8] Extend irqchip framework for M-mode interrupts
Anup Patel
anup.patel at oss.qualcomm.com
Thu Feb 12 21:53:34 PST 2026
To handle interrupts in M-mode, the OpenSBI irqchip framework
needs to support:
1) Multiple interrupt controllers where each targets a
subset of harts
2) Hierarchical interrupt controllers (e.g. APLIC + IMSIC)
3) Registering handler for hardware interrupt of a
particular interrupt controller out of multiple
multiple interrupt controllers
The needs to be achieved without over-consuming memory.
These patches can also be found in irqchip_imp_v2 branch
at: https://github.com/avpatel/opensbi.git
Changes since v1:
- Fixed typos in PATCH4 and PATCH5
- Improved sbi_irqchip_process() and sbi_irqchip_add_device()
based on Samuel's suggestion
Anup Patel (8):
lib: sbi_irqchip: Use chip as variable name for irqchip device
lib: sbi_irqchip: Rename irq_handle() callback to process_hwirqs()
lib: utils/irqchip: Fix context_map init in
irqchip_plic_update_context_map()
lib: utils/irqchip: Add IDC to hartindex map in struct aplic_data
lib: sbi_irqchip: Support irqchip device targetting subset of harts
lib: utils/irqchip: Add unique_id to plic, aplic, and imsic data
lib: sbi_irqchip: Associate 32-bit unique ID for each irqchip device
lib: sbi_irqchip: Allow registering interrupt handlers
include/sbi/sbi_irqchip.h | 74 +++++-
include/sbi_utils/irqchip/aplic.h | 2 +
include/sbi_utils/irqchip/imsic.h | 1 +
include/sbi_utils/irqchip/plic.h | 1 +
lib/sbi/sbi_irqchip.c | 281 +++++++++++++++++++++--
lib/utils/fdt/fdt_helper.c | 3 +
lib/utils/irqchip/aplic.c | 14 +-
lib/utils/irqchip/fdt_irqchip_aplic.c | 54 ++++-
lib/utils/irqchip/fdt_irqchip_plic.c | 5 +
lib/utils/irqchip/imsic.c | 19 +-
lib/utils/irqchip/plic.c | 7 +-
platform/generic/openhwgroup/ariane.c | 1 +
platform/generic/openhwgroup/openpiton.c | 1 +
platform/kendryte/k210/platform.c | 1 +
platform/nuclei/ux600/platform.c | 1 +
platform/template/platform.c | 1 +
16 files changed, 437 insertions(+), 29 deletions(-)
--
2.43.0
More information about the opensbi
mailing list