zephyr/drivers/interrupt_controller
Neil Armstrong a737999b5b interrupt_controller: gicv3: add Interrupt Translation Service support
This implements support for the optional Interrupt Translation Service
(ITS) module of the GICv3 Interrupt Controller.

The current implementation is designed for MSI/MSI-X interrupt delivery
in mind.
The gicv3 driver calls each ITS INVALL command when LPI interrupts are
enabled/disabled.
A simple atomic integer is used to allocate unique LPI INTIDs to ITS
users.
CPUs numbers are directly mapped as ICIDs into the Collections Table.

As a limitation it doesn't support indirect Device table to simplify
implementation but may use a large amount of memory.

INV, DISCARD, MOVI and MOVALL commands are not implemented.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2021-09-28 19:45:29 -04:00
..
CMakeLists.txt interrupt_controller: gicv3: add Interrupt Translation Service support 2021-09-28 19:45:29 -04:00
intc_arcv2_irq_unit.c
intc_cavs.c
intc_cavs.h
intc_dw.c
intc_dw.h
intc_esp32.c
intc_exti_stm32.c
intc_gic_common_priv.h
intc_gic.c
intc_gicv3_its.c interrupt_controller: gicv3: add Interrupt Translation Service support 2021-09-28 19:45:29 -04:00
intc_gicv3_priv.h interrupt_controller: gicv3: add Interrupt Translation Service support 2021-09-28 19:45:29 -04:00
intc_gicv3.c interrupt_controller: gicv3: add Interrupt Translation Service support 2021-09-28 19:45:29 -04:00
intc_intel_vtd.c
intc_intel_vtd.h
intc_ioapic_priv.h
intc_ioapic.c
intc_irqmp.c
intc_ite_it8xxx2.c cleanup: soc: it8xxx2: remove unnecessary code 2021-09-28 11:36:23 +02:00
intc_ite_it8xxx2.h
intc_loapic_spurious.S
intc_loapic.c
intc_mchp_ecia_xec.c
intc_miwu.c
intc_plic.c
intc_rv32m1_intmux.c
intc_sam0_eic_priv.h
intc_sam0_eic.c
intc_shared_irq.c
intc_swerv_pic.c
intc_system_apic.c
intc_vexriscv_litex.c
Kconfig drivers: interrupt_controller: plic is independent of risc-v privileged 2021-08-25 18:06:34 -04:00
Kconfig.cavs
Kconfig.dw
Kconfig.esp32 esp32: drivers: interrupt_controller: make it common for xtensa socs 2021-08-27 17:34:41 -04:00
Kconfig.gic interrupt_controller: gicv3: add Interrupt Translation Service support 2021-09-28 19:45:29 -04:00
Kconfig.intel_vtd
Kconfig.it8xxx2
Kconfig.loapic
Kconfig.multilevel
Kconfig.multilevel.aggregator_template
Kconfig.npcx
Kconfig.rv32m1
Kconfig.sam0
Kconfig.shared_irq
Kconfig.stm32
Kconfig.xec