zephyr/arch/arm
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
..
core arch: arm64: GICv2/v3 handling causes abort on spurious interrupt 2020-12-16 08:46:03 -05:00
include arm: de-couple MPU code from k_mem_partition 2020-11-18 08:02:08 -05:00
CMakeLists.txt arch: arm: Remove extraneous root cmake files 2020-04-15 11:23:56 +02:00
Kconfig arch: arm: Clean up configurations 2020-04-15 11:23:56 +02:00