zephyr/include/drivers/interrupt_controller
Luke Starrett 430952f0b2 arch: arm64: GICv2/v3 handling causes abort on spurious interrupt
In _isr_wrapper, the interrupt ID read from the GIC is blindly used to
index into _sw_isr_table, which is only sized based on CONFIG_NUM_IRQ.

It is possible for both GICv2 and GICv3 to return 1023 for a handful
of scenarios, the simplest of which is a level sensitive interrupt
which has subsequently become de-asserted.  Borrowing from the Linux
GIC implementation, a read that returns an interrupt ID of 1023 is
simply ignored.

Minor collateral changes to gic.h to group !_ASMLANGUAGE content
together to allow this header to be used in assembler files.

Signed-off-by: Luke Starrett <luke.starrett@gmail.com>
2020-12-16 08:46:03 -05:00
..
exti_stm32.h drivers/interrup_controller: stm32: stm32_exti_enable could be void 2020-02-05 12:00:36 +01:00
gic.h arch: arm64: GICv2/v3 handling causes abort on spurious interrupt 2020-12-16 08:46:03 -05:00
intel_vtd.h drivers/interrupt_controller: Add Intel VT-D interrupt remapping driver 2020-12-08 09:29:20 -05:00
ioapic.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
loapic.h x86: apic: use device MMIO APIs 2020-07-17 11:38:18 +02:00
sam0_eic.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
sysapic.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00