qemu-e2k/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 Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
apic_common.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
apic.c
arm_gic_common.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
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 Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
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 Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
arm_gicv3_dist.c
arm_gicv3_its_common.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
arm_gicv3_its_kvm.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
arm_gicv3_kvm.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
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 Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
bcm2835_ic.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
bcm2836_control.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
etraxfs_pic.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
exynos4210_combiner.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
exynos4210_gic.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
gic_internal.h
gicv3_internal.h
grlib_irqmp.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
heathrow_pic.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
i8259_common.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
i8259.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
imx_avic.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
imx_gpcv2.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
intc.c
ioapic_common.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
ioapic.c Include sysemu/sysemu.h a lot less 2019-08-16 13:31:53 +02:00
Kconfig
lm32_pic.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
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 Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
nios2_iic.c Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
omap_intc.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
ompic.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
openpic_kvm.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
openpic.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
pl190.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
pnv_xive_regs.h
pnv_xive.c ppc/xive: Improve 'info pic' support 2019-08-21 17:17:39 +10:00
puv3_intc.c Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
realview_gic.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
s390_flic_kvm.c s390x/kvm: Officially require at least kernel 3.15 2019-09-23 09:15:03 +02:00
s390_flic.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
sh_intc.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
slavio_intctl.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
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 Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
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 Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
xive.c spapr/xive: skip partially initialized vCPUs in presenter 2019-10-04 19:08:21 +10:00
xlnx-pmu-iomod-intc.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
xlnx-zynqmp-ipi.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00