qemu/hw/intc
Peter Maydell e97be73c97 hw/intc/arm_gicv3_redist: Factor out "update hpplpi for one LPI" logic
Currently the functions which update the highest priority pending LPI
information by looking at the LPI Pending and Configuration tables
are hard-coded to use the physical LPI tables addressed by
GICR_PENDBASER and GICR_PROPBASER.  To support virtual LPIs we will
need to do essentially the same job, but looking at the current
virtual LPI Pending and Configuration tables and updating cs->hppvlpi
instead of cs->hpplpi.

Factor out the common part of the gicv3_redist_check_lpi_priority()
function into a new update_for_one_lpi() function, which updates
a PendingIrq struct if the specified LPI is higher priority than
what is currently recorded there.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220408141550.1271295-28-peter.maydell@linaro.org
2022-04-22 14:44:53 +01:00
..
allwinner-a10-pic.c
apic_common.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
apic.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
arm_gic_common.c
arm_gic_kvm.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
arm_gic.c hw/intc/arm_gic: Allow reset of the running priority 2022-01-20 11:47:52 +00:00
arm_gicv2m.c arm tcg cpus: Fix Lesser GPL version number 2020-11-15 16:42:14 +01:00
arm_gicv3_common.c hw/intc/arm_gicv3_cpuif: Support vLPIs 2022-04-22 14:44:52 +01: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_cpuif.c hw/intc/arm_gicv3_cpuif: Don't recalculate maintenance irq unnecessarily 2022-04-22 14:44:52 +01:00
arm_gicv3_dist.c hw/intc/arm_gicv3: Report correct PIDR0 values for ID registers 2022-04-22 09:19:24 +01:00
arm_gicv3_its_common.c hw/intc/arm_gicv3_its: Revert version increments in vmstate_its 2021-11-22 18:17:19 +00:00
arm_gicv3_its_kvm.c hw/intc/arm_gicv3: Keep pointers to every connected ITS 2022-04-22 09:24:44 +01:00
arm_gicv3_its.c hw/intc/arm_gicv3_its: Implement VINVALL 2022-04-22 14:44:52 +01:00
arm_gicv3_kvm.c hw/intc/arm_gicv3: Support multiple redistributor regions 2021-11-15 16:12:59 +00:00
arm_gicv3_redist.c hw/intc/arm_gicv3_redist: Factor out "update hpplpi for one LPI" logic 2022-04-22 14:44:53 +01:00
arm_gicv3.c hw/intc/arm_gicv3: Specify valid and impl in MemoryRegionOps 2022-03-07 13:16:50 +00:00
armv7m_nvic.c arm: Move system PPB container handling to armv7m 2021-09-01 11:08:18 +01:00
aspeed_vic.c
bcm2835_ic.c Mark remaining global TypeInfo instances as const 2022-02-21 13:30:20 +00:00
bcm2836_control.c Mark remaining global TypeInfo instances as const 2022-02-21 13:30:20 +00:00
etraxfs_pic.c hw: Replace anti-social QOM type names 2021-03-19 15:18:43 +01:00
exynos4210_combiner.c hw/arm/exynos4210: Put combiners into state struct 2022-04-21 11:37:04 +01:00
exynos4210_gic.c Misc cleanups 2022-04-21 09:27:54 -07:00
gic_internal.h
gicv3_internal.h hw/intc/arm_gicv3_cpuif: Support vLPIs 2022-04-22 14:44:52 +01:00
goldfish_pic.c hw/m68k: Fix typo in SPDX tag 2021-11-09 10:11:27 +01:00
grlib_irqmp.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
heathrow_pic.c
i8259_common.c intc: Unexport InterruptStatsProviderClass-related functions 2022-01-27 12:08:50 +01:00
i8259.c hw/intc/i8259: Refactor pic_read_irq() to avoid uninitialized variable 2021-03-19 08:48:18 -04:00
imx_avic.c
imx_gpcv2.c hw: Do not include qemu/log.h if it is not necessary 2021-05-02 17:24:50 +02:00
intc.c
ioapic_common.c intc: Unexport InterruptStatsProviderClass-related functions 2022-01-27 12:08:50 +01:00
ioapic.c Remove superfluous timer_del() calls 2021-01-08 15:13:38 +00:00
Kconfig hw/intc: Rename CONFIG_ARM_GIC_TCG into CONFIG_ARM_GICV3_TCG 2022-03-18 10:55:15 +00:00
loongson_liointc.c hw/intc/loongson_liointc: Fix per core ISR handling 2021-02-21 18:41:46 +01:00
m68k_irqc.c hw/m68k: Fix typo in SPDX tag 2021-11-09 10:11:27 +01:00
meson.build hw/intc: Rename CONFIG_ARM_GIC_TCG into CONFIG_ARM_GICV3_TCG 2022-03-18 10:55:15 +00:00
mips_gic.c
omap_intc.c
ompic.c hw: Do not include qemu/log.h if it is not necessary 2021-05-02 17:24:50 +02:00
openpic_kvm.c memory: Name all the memory listeners 2021-09-30 15:30:24 +02:00
openpic.c hw/intc: openpic: Clean up the styles 2021-09-30 12:26:06 +10:00
pl190.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
pnv_xive2_regs.h pnv/xive2: Add support for automatic save&restore 2022-03-02 06:51:39 +01:00
pnv_xive2.c pnv/xive2: Add support for 8bits thread id 2022-03-02 06:51:39 +01:00
pnv_xive_regs.h
pnv_xive.c ppc/xive: Add support for PQ state bits offload 2022-03-02 06:51:39 +01:00
ppc-uic.c misc: Correct relative include path 2021-06-05 21:10:42 +02:00
realview_gic.c
riscv_aclint.c Use g_new() & friends where that makes obvious sense 2022-03-21 15:44:44 +01:00
riscv_aplic.c hw/intc: Add RISC-V AIA APLIC device emulation 2022-02-16 12:24:19 +10:00
riscv_imsic.c hw/intc: Add RISC-V AIA IMSIC device emulation 2022-03-03 13:14:50 +10:00
rx_icu.c hw/intc: fix heap-buffer-overflow in rxicu_realize() 2020-11-23 10:41:58 +00:00
s390_flic_kvm.c Replace qemu_real_host_page variables with inlined functions 2022-04-06 10:50:38 +02:00
s390_flic.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
sh_intc.c hw/intc/sh_intc: Remove unneeded local variable initialisers 2021-10-30 18:39:37 +02:00
sifive_plic.c target/riscv: Support start kernel directly by KVM 2022-01-21 15:52:56 +10:00
slavio_intctl.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
spapr_xive_kvm.c spapr/xive: Use xive_esb_rw() to trigger interrupts 2021-10-21 11:42:47 +11:00
spapr_xive.c ppc/xive: Add support for PQ state bits offload 2022-03-02 06:51:39 +01:00
trace-events hw/intc/arm_gicv3_cpuif: Support vLPIs 2022-04-22 14:44:52 +01:00
trace.h
vgic_common.h
xics_kvm.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
xics_pnv.c non-virt: Fix Lesser GPL version number 2020-11-15 16:38:24 +01:00
xics_spapr.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
xics.c Use g_new() & friends where that makes obvious sense 2022-03-21 15:44:44 +01:00
xilinx_intc.c
xive2.c ppc/xive2: Make type Xive2EndSource not user creatable 2022-03-14 15:57:17 +01:00
xive.c ppc/pnv: Add support for PQ offload on PHB5 2022-03-02 06:51:39 +01:00
xlnx-pmu-iomod-intc.c
xlnx-zynqmp-ipi.c