qemu/hw/intc
Yong-Xuan Wang 489840a012 hw/intc/aplic: refine the APLIC realize
When the APLIC is emulated in the kernel, the GPIO output lines to CPUs
can be remove. In this case the APLIC trigger CPU interrupts by KVM APIs.

This patch also move the code that claim the CPU interrupts to the
beginning of APLIC realization. This can avoid the unnecessary resource
allocation before checking failed.

Signed-off-by: Yong-Xuan Wang <yongxuan.wang@sifive.com>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20250224025722.3999-3-yongxuan.wang@sifive.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2025-03-04 15:42:54 +10:00
..
allwinner-a10-pic.c hw/arm: Mark Allwinner Technology devices as little-endian 2025-02-16 14:41:46 +01:00
apic.c hw/intc/apic: Fixes magic number use, removes outdated comment 2025-02-16 14:25:07 +01:00
apic_common.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
arm_gic.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
arm_gic_common.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
arm_gic_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
arm_gicv2m.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
arm_gicv3.c hw/intc/arm_gicv3: Implement NMI interrupt priority 2024-04-25 10:21:05 +01:00
arm_gicv3_common.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
arm_gicv3_cpuif.c hw/intc/arm_gicv3_cpuif(): Remove redundant tests of is_a64() 2025-02-20 14:20:28 +00:00
arm_gicv3_cpuif_common.c hw/intc/arm_gicv3: Extract gicv3_set_gicv3state from arm_gicv3_cpuif.c 2021-12-15 10:11:34 +00:00
arm_gicv3_dist.c hw/intc/arm_gicv3: Implement GICD_INMIR 2024-04-25 10:21:05 +01:00
arm_gicv3_its.c * qdev: second part of Property cleanups 2024-12-21 08:06:50 -05:00
arm_gicv3_its_common.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
arm_gicv3_its_kvm.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
arm_gicv3_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
arm_gicv3_redist.c hw/intc/arm_gicv3: Implement NMI interrupt priority 2024-04-25 10:21:05 +01:00
armv7m_nvic.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
aspeed_intc.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
aspeed_vic.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
bcm2835_ic.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
bcm2836_control.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
exynos4210_combiner.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
exynos4210_gic.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
gic_internal.h hw/intc/arm_gic: Fix deactivation of SPI lines 2024-06-21 14:01:58 +01:00
gicv3_internal.h hw/intc/arm_gicv3: Handle icv_nmiar1_read() for icc_nmiar1_read() 2024-04-25 10:21:05 +01:00
goldfish_pic.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
grlib_irqmp.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
heathrow_pic.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
i8259.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
i8259_common.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
imx_avic.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
imx_gpcv2.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
intc.c intc: add an interface to gather statistics/informations on interrupt controllers 2016-10-04 10:00:25 +02:00
ioapic-stub.c i386: select correct components for no-board build 2024-05-10 15:45:15 +02:00
ioapic.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
ioapic_common.c hw/intc: Avoid using Monitor in INTERRUPT_STATS_PROVIDER::print_info() 2024-06-19 12:40:49 +02:00
ioapic_internal.h hw: Move ioapic*.h to intc/ 2023-02-27 22:29:01 +01:00
Kconfig hw/intc/loongarch_ipi: Add loongarch IPI support 2024-08-06 10:22:52 +02:00
kvm_irqcount.c hw/intc: Extract the IRQ counting functions into a separate file 2023-01-13 16:22:57 +01:00
loongarch_extioi.c hw/intc/loongarch_extioi: Add irq routing support from physical id 2025-01-09 14:13:41 +08:00
loongarch_extioi_common.c hw/intc/loongarch_extioi: Remove num-cpu property 2025-01-09 14:13:31 +08:00
loongarch_ipi.c hw/intc/loongarch_ipi: Use alternative implemation for cpu_by_arch_id 2025-01-15 14:36:19 +08:00
loongarch_pch_msi.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
loongarch_pch_pic.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
loongarch_pic_common.c * qdev: second part of Property cleanups 2024-12-21 08:06:50 -05:00
loongson_ipi.c hw/intc/loongson_ipi: Add more input parameter for cpu_by_arch_id 2025-01-15 14:33:49 +08:00
loongson_ipi_common.c hw/intc/loongson_ipi: Add more input parameter for cpu_by_arch_id 2025-01-15 14:33:49 +08:00
loongson_liointc.c hw/other: spelling fixes 2023-09-21 11:31:16 +03:00
m68k_irqc.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
meson.build hw/intc/loongarch_extioi: Inherit from loongarch_extioi_common 2024-12-19 15:23:29 +08:00
mips_gic.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
omap_intc.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
ompic.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
openpic.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
openpic_kvm.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
pl190.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
pnv_xive.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
pnv_xive2.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
pnv_xive2_regs.h pnv/xive2: Enable VST NVG and NVC index compression 2024-07-26 09:51:33 +10:00
pnv_xive_regs.h ppc/xive: Handle END triggers between chips with MMIOs 2023-09-06 11:19:33 +02:00
ppc-uic.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
realview_gic.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
riscv_aclint.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
riscv_aplic.c hw/intc/aplic: refine the APLIC realize 2025-03-04 15:42:54 +10:00
riscv_imsic.c hw/intc/imsic: refine the IMSIC realize 2025-03-04 15:42:54 +10:00
rx_icu.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
s390_flic.c hw/s390x: Remove the "adapter_routes_max_batch" property from the flic 2025-01-07 14:51:39 +01:00
s390_flic_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
sh_intc.c hw/intc/sh_intc: Remove unneeded local variable initialisers 2021-10-30 18:39:37 +02:00
sifive_plic.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
slavio_intctl.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
spapr_xive.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
spapr_xive_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
trace-events aspeed/intc: Add AST2700 support 2024-06-16 21:08:54 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vgic_common.h intc/gic: Extract some reusable vGIC code 2015-09-24 01:29:36 +01:00
xics.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
xics_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
xics_pnv.c non-virt: Fix Lesser GPL version number 2020-11-15 16:38:24 +01:00
xics_spapr.c hw/ppc: Avoid using Monitor in SpaprInterruptControllerClass::print_info() 2024-06-19 12:40:49 +02:00
xilinx_intc.c hw/intc/xilinx_intc: Make device endianness configurable 2025-02-16 14:34:09 +01:00
xive.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
xive2.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
xlnx-pmu-iomod-intc.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
xlnx-zynqmp-ipi.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00