qemu/hw/intc
Eric Auger f6530926e2 intc/arm_gic: Support IRQ injection for more than 256 vpus
Host kernels that expose the KVM_CAP_ARM_IRQ_LINE_LAYOUT_2 capability
allow injection of interrupts along with vcpu ids larger than 255.
Let's encode the vpcu id on 12 bits according to the upgraded KVM_IRQ_LINE
ABI when needed.

Given that we have two callsites that need to assemble
the value for kvm_set_irq(), a new helper routine, kvm_arm_set_irq
is introduced.

Without that patch qemu exits with "kvm_set_irq: Invalid argument"
message.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reported-by: Zenghui Yu <yuzenghui@huawei.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Message-id: 20191003154640.22451-3-eric.auger@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-10-15 18:09:02 +01:00
..
allwinner-a10-pic.c
apic_common.c
apic.c
arm_gic_common.c
arm_gic_kvm.c intc/arm_gic: Support IRQ injection for more than 256 vpus 2019-10-15 18:09:02 +01:00
arm_gic.c hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
arm_gicv2m.c
arm_gicv3_common.c hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
arm_gicv3_cpuif.c
arm_gicv3_dist.c
arm_gicv3_its_common.c
arm_gicv3_its_kvm.c
arm_gicv3_kvm.c
arm_gicv3_redist.c
arm_gicv3.c
armv7m_nvic.c memory: Access MemoryRegion with endianness 2019-09-03 08:30:39 -07:00
aspeed_vic.c
bcm2835_ic.c
bcm2836_control.c
etraxfs_pic.c
exynos4210_combiner.c
exynos4210_gic.c
gic_internal.h
gicv3_internal.h
grlib_irqmp.c
heathrow_pic.c
i8259_common.c
i8259.c
imx_avic.c
imx_gpcv2.c
intc.c
ioapic_common.c
ioapic.c
Kconfig
lm32_pic.c
Makefile.objs hw/intc: Only build the xlnx-iomod-intc device for the MicroBlaze PMU 2019-08-19 21:28:25 +02:00
mips_gic.c
nios2_iic.c
omap_intc.c
ompic.c
openpic_kvm.c
openpic.c
pl190.c
pnv_xive_regs.h
pnv_xive.c ppc/xive: Improve 'info pic' support 2019-08-21 17:17:39 +10:00
puv3_intc.c
realview_gic.c
s390_flic_kvm.c s390x/kvm: Officially require at least kernel 3.15 2019-09-23 09:15:03 +02:00
s390_flic.c
sh_intc.c
slavio_intctl.c
spapr_xive_kvm.c xive: Improve irq claim/free path 2019-10-04 19:08:23 +10:00
spapr_xive.c xive: Improve irq claim/free path 2019-10-04 19:08:23 +10:00
trace-events xics: Rename misleading ics_simple_*() functions 2019-10-04 19:08:22 +10:00
vgic_common.h
xics_kvm.c spapr/irq: Only claim VALID interrupts at the KVM level 2019-10-04 10:25:23 +10:00
xics_pnv.c
xics_spapr.c spapr: Eliminate SpaprIrq:get_nodename method 2019-10-04 19:08:22 +10:00
xics.c xics: Merge TYPE_ICS_BASE and TYPE_ICS_SIMPLE classes 2019-10-04 19:08:22 +10:00
xilinx_intc.c
xive.c spapr/xive: skip partially initialized vCPUs in presenter 2019-10-04 19:08:21 +10:00
xlnx-pmu-iomod-intc.c
xlnx-zynqmp-ipi.c