zephyr/drivers/interrupt_controller
Jimmy Zheng a7096fac7d drivers: interrupt_controller: nuclei_eclic: always use clic common entry
When CONFIG_RISCV_VECTORED_MODE is disabled, CLIC claims interrupts using
CSR 'mnxti' and handles all pending interrupts before exiting the ISR.

When CONFIG_RISCV_VECTORED_MODE is enabled, all interrupts use vector mode
and are claimed automatically. The RISC-V common ISR is used for interrupts
hooked into SW ISR table, but it only handle one pending interrupt per ISR.

This commit enhances CLIC to set vector mode for direct ISRs only and use
the CLIC common entry for regular ISRs to handles multiple pending
interrupts in an ISR.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2024-08-26 17:05:53 +02:00
..
CMakeLists.txt
Kconfig
Kconfig.cavs
Kconfig.clic drivers: interrupt_controller: nuclei_eclic: always use clic common entry 2024-08-26 17:05:53 +02:00
Kconfig.dw
Kconfig.esp32 drivers: intc: esp32c2: Added support 2024-08-16 14:08:22 -04:00
Kconfig.esp32c3 drivers: intc: esp32c2: Added support 2024-08-16 14:08:22 -04:00
Kconfig.gd32_exti
Kconfig.gic
Kconfig.intel_vtd
Kconfig.it8xxx2
Kconfig.loapic
Kconfig.mtk_adsp
Kconfig.multilevel
Kconfig.multilevel.aggregator_template
Kconfig.npcx
Kconfig.nxp_irqsteer
Kconfig.nxp_pint
Kconfig.nxp_s32 drivers: intc: nxp: convert wkpu to native driver 2024-08-02 15:14:33 -05:00
Kconfig.plic
Kconfig.renesas_ra
Kconfig.rv32m1
Kconfig.sam0
Kconfig.shared_irq
Kconfig.stm32
Kconfig.vim
Kconfig.xec
Kconfig.xmc4xxx
intc_arcv2_irq_unit.c
intc_cavs.c
intc_cavs.h
intc_dw.c
intc_dw.h
intc_dw_ace.c
intc_eirq_nxp_s32.c drivers: nxp: convert SIUL2 drivers to native 2024-07-31 10:08:24 +02:00
intc_esp32.c
intc_esp32c3.c drivers: intc: esp32c2: Added support 2024-08-16 14:08:22 -04:00
intc_exti_stm32.c
intc_gd32_exti.c
intc_gic.c drivers: intc: gic: implement set pending interrupt 2024-08-12 15:54:42 +02:00
intc_gic_common_priv.h
intc_gicv3.c drivers: intc: gic: implement set pending interrupt 2024-08-12 15:54:42 +02:00
intc_gicv3_its.c
intc_gicv3_priv.h
intc_intel_vtd.c
intc_intel_vtd.h
intc_ioapic.c
intc_ioapic_priv.h
intc_irqmp.c
intc_ite_it8xxx2.c style: drivers: comply with MISRA C:2012 Rule 15.6 2024-08-20 10:33:51 +02:00
intc_ite_it8xxx2.h
intc_ite_it8xxx2_v2.c drivers/interrupt: it8xxx2: Register interrupt number 0 to handle 2024-08-01 12:36:23 +02:00
intc_loapic.c
intc_loapic_spurious.S
intc_mchp_ecia_xec.c
intc_miwu.c
intc_mtk_adsp.c
intc_nrfx_clic.S
intc_nrfx_clic.c
intc_nuclei_eclic.S drivers: interrupt_controller: nuclei_eclic: always use clic common entry 2024-08-26 17:05:53 +02:00
intc_nuclei_eclic.c drivers: interrupt_controller: nuclei_eclic: always use clic common entry 2024-08-26 17:05:53 +02:00
intc_nxp_irqsteer.c
intc_nxp_pint.c
intc_plic.c style: drivers: comply with MISRA C:2012 Rule 15.6 2024-08-20 10:33:51 +02:00
intc_renesas_ra_icu.c
intc_rv32m1_intmux.c
intc_sam0_eic.c
intc_sam0_eic_priv.h
intc_shared_irq.c
intc_swerv_pic.c style: drivers: comply with MISRA C:2012 Rule 15.6 2024-08-20 10:33:51 +02:00
intc_system_apic.c
intc_vexriscv_litex.c drivers: intc: litex: add helper for interrupts 2024-08-01 08:59:37 +01:00
intc_vim.c
intc_wkpu_nxp_s32.c drivers: intc: nxp: convert wkpu to native driver 2024-08-02 15:14:33 -05:00
intc_xmc4xxx.c
wuc_ite_it8xxx2.c