xemu/hw/intc
Peter Xu cb135f59b8 q35: ioapic: add support for emulated IOAPIC IR
This patch translates all IOAPIC interrupts into MSI ones. One pseudo
ioapic address space is added to transfer the MSI message. By default,
it will be system memory address space. When IR is enabled, it will be
IOMMU address space.

Currently, only emulated IOAPIC is supported.

Idea suggested by Jan Kiszka and Rita Sinha in the following patch:

https://lists.gnu.org/archive/html/qemu-devel/2016-03/msg01933.html

Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2016-07-21 20:43:49 +03:00
..
allwinner-a10-pic.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
apic_common.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
apic.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
arm_gic_common.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
arm_gic_kvm.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
arm_gic.c hw/intc/gic: RAZ/WI non-sec access to sec interrupts 2016-06-06 16:59:29 +01:00
arm_gicv2m.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
arm_gicv3_common.c hw/intc/arm_gicv3: Implement functions to identify next pending irq 2016-06-17 15:23:51 +01:00
arm_gicv3_cpuif.c hw/intc/arm_gicv3: Add missing break 2016-06-27 15:37:32 +01:00
arm_gicv3_dist.c hw/intc/arm_gicv3: Fix compilation with simple trace backend 2016-06-20 11:35:15 +01:00
arm_gicv3_kvm.c hw/intc/arm_gicv3: Add vmstate descriptors 2016-06-17 15:23:51 +01:00
arm_gicv3_redist.c hw/intc/arm_gicv3: Fix compilation with simple trace backend 2016-06-20 11:35:15 +01:00
arm_gicv3.c hw/intc/arm_gicv3: Implement GICv3 CPU interface registers 2016-06-17 15:23:51 +01:00
armv7m_nvic.c armv7m_nvic: Use qemu_get_cpu(0) instead of current_cpu 2016-07-04 13:15:22 +01:00
aspeed_vic.c hw: Clean up includes 2016-06-07 18:19:23 +03:00
bcm2835_ic.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
bcm2836_control.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
etraxfs_pic.c hw/intc: QOM'ify etraxfs_pic.c 2016-05-12 13:22:24 +01:00
exynos4210_combiner.c hw/intc: QOM'ify exynos4210_combiner.c 2016-05-12 13:22:24 +01:00
exynos4210_gic.c hw/intc: QOM'ify exynos4210_gic.c 2016-05-12 13:22:24 +01:00
gic_internal.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
gicv3_internal.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
grlib_irqmp.c hw/intc: QOM'ify grlib_irqmp.c 2016-05-12 13:22:25 +01:00
heathrow_pic.c hw/intc: Clean up includes 2016-01-29 15:07:24 +00:00
i8259_common.c hw/intc: Clean up includes 2016-01-29 15:07:24 +00:00
i8259.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
imx_avic.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
ioapic_common.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
ioapic.c q35: ioapic: add support for emulated IOAPIC IR 2016-07-21 20:43:49 +03:00
lm32_pic.c hw/intc: QOM'ify lm32_pic.c 2016-06-20 18:12:04 +02:00
Makefile.objs hw/mips: implement Global Interrupt Controller 2016-07-12 09:10:12 +01:00
mips_gic.c hw/mips: implement Global Interrupt Controller 2016-07-12 09:10:12 +01:00
omap_intc.c hw/intc: QOM'ify omap_intc.c 2016-05-12 13:22:25 +01:00
openpic_kvm.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
openpic.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
pl190.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
puv3_intc.c unicore: Clean up includes 2016-01-29 15:07:22 +00:00
realview_gic.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
s390_flic_kvm.c coccinelle: Remove unnecessary variables for function return value 2016-06-20 16:38:13 +02:00
s390_flic.c s390x/kvm: add interface for clearing IO irqs 2016-06-14 13:34:50 +02:00
sh_intc.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
slavio_intctl.c hw/intc: QOM'ify slavio_intctl.c 2016-05-12 13:22:25 +01:00
trace-events trace: split out trace events for hw/intc/ directory 2016-06-20 17:22:15 +01:00
vgic_common.h intc/gic: Extract some reusable vGIC code 2015-09-24 01:29:36 +01:00
xics_kvm.c ppc/xics: Replace "icp" with "xics" in most places 2016-07-01 13:41:47 +10:00
xics_spapr.c ppc/xics: Replace "icp" with "xics" in most places 2016-07-01 13:41:47 +10:00
xics.c ppc/xics: Replace "icp" with "xics" in most places 2016-07-01 13:41:47 +10:00
xilinx_intc.c hw/intc: Clean up includes 2016-01-29 15:07:24 +00:00