qemu/include/hw/intc
Peter Maydell 28cca59c46 hw/intc/arm_gicv3: Add NMI handling CPU interface registers
Add the NMIAR CPU interface registers which deal with acknowledging NMI.

When introduce NMI interrupt, there are some updates to the semantics for the
register ICC_IAR1_EL1 and ICC_HPPIR1_EL1. For ICC_IAR1_EL1 register, it
should return 1022 if the intid has non-maskable property. And for
ICC_NMIAR1_EL1 register, it should return 1023 if the intid do not have
non-maskable property. Howerever, these are not necessary for ICC_HPPIR1_EL1
register.

And the APR and RPR has NMI bits which should be handled correctly.

Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
[PMM: Separate out whether cpuif supports NMI from whether the
 GIC proper (IRI) supports NMI]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20240407081733.3231820-19-ruanjinjie@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2024-04-25 10:21:05 +01:00
..
allwinner-a10-pic.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
arm_gic_common.h hw/intc/arm_gicv3: Add external IRQ lines for NMI 2024-04-25 10:21:05 +01:00
arm_gic.h hw/intc/arm_gic: Un-inline GIC*/ITS class_name() helpers 2023-06-28 14:27:59 +02:00
arm_gicv3_common.h hw/intc/arm_gicv3: Add NMI handling CPU interface registers 2024-04-25 10:21:05 +01:00
arm_gicv3_its_common.h hw/intc/arm_gic: Un-inline GIC*/ITS class_name() helpers 2023-06-28 14:27:59 +02:00
arm_gicv3.h Use DECLARE_*CHECKER* when possible (--force mode) 2020-09-09 09:27:11 -04:00
armv7m_nvic.h hw/arm/armv7m: Make 'hw/intc/armv7m_nvic.h' a target agnostic header 2024-01-26 11:30:49 +00:00
aspeed_vic.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
bcm2835_ic.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
bcm2836_control.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
exynos4210_combiner.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
exynos4210_gic.h hw/arm/exynos4210: Put external GIC into state struct 2022-04-21 11:37:04 +01:00
goldfish_pic.h include: Include headers where needed 2023-01-08 01:54:22 -05:00
grlib_irqmp.h hw/intc/grlib_irqmp: implements multicore irq 2024-02-15 16:58:46 +01:00
heathrow_pic.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
i8259.h hw/intc/i8259: Document i8259_init() 2023-02-27 22:29:01 +01:00
imx_avic.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
imx_gpcv2.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
intc.h Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
ioapic.h hw: Move ioapic*.h to intc/ 2023-02-27 22:29:01 +01:00
kvm_irqcount.h hw/intc: Extract the IRQ counting functions into a separate file 2023-01-13 16:22:57 +01:00
loongarch_extioi.h hw/intc/loongarch_extioi: Add dynamic cpu number support 2024-01-11 19:22:47 +08:00
loongarch_ipi.h hw/loongarch/virt: Set iocsr address space per-board rather than percpu 2024-01-11 19:22:47 +08:00
loongarch_pch_msi.h include: Include headers where needed 2023-01-08 01:54:22 -05:00
loongarch_pch_pic.h include: Include headers where needed 2023-01-08 01:54:22 -05:00
loongson_liointc.h hw/intc: Rework Loongson LIOINTC 2021-01-04 23:24:44 +01:00
m68k_irqc.h hw/m68k/irqc: Pass CPU using QOM link property 2023-11-01 07:20:34 +01:00
mips_gic.h hw/mips: Declare all length properties as unsigned 2023-03-08 00:37:48 +01:00
ppc-uic.h hw/intc/ppc-uic: Convert ppc-uic to a PPC4xx DCR device 2022-08-31 14:08:06 -03:00
realview_gic.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
riscv_aclint.h hw/intc: Move mtimer/mtimecmp to aclint 2022-09-07 09:19:10 +02:00
riscv_aplic.h hw/intc: Add RISC-V AIA APLIC device emulation 2022-02-16 12:24:19 +10:00
riscv_imsic.h hw/intc: Add RISC-V AIA IMSIC device emulation 2022-03-03 13:14:50 +10:00
rx_icu.h Clean up decorations and whitespace around header guards 2022-05-11 16:50:32 +02:00
sifive_plic.h hw/intc: sifive_plic: Drop PLICMode_H 2023-01-06 10:42:55 +10:00
xlnx-pmu-iomod-intc.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
xlnx-zynqmp-ipi.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00