qemu/include/hw
Paolo Bonzini 15eafc2e60 kvm: x86: add support for KVM_CAP_SPLIT_IRQCHIP
This patch adds support for split IRQ chip mode. When
KVM_CAP_SPLIT_IRQCHIP is enabled:

    1.) The PIC, PIT, and IOAPIC are implemented in userspace while
    the LAPIC is implemented by KVM.

    2.) The software IOAPIC delivers interrupts to the KVM LAPIC via
    kvm_set_irq. Interrupt delivery is configured via the MSI routing
    table, for which routes are reserved in target-i386/kvm.c then
    configured in hw/intc/ioapic.c

    3.) KVM delivers IOAPIC EOIs via a new exit KVM_EXIT_IOAPIC_EOI,
    which is handled in target-i386/kvm.c and relayed to the software
    IOAPIC via ioapic_eoi_broadcast.

Signed-off-by: Matt Gingell <gingell@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-12-17 17:33:47 +01:00
..
acpi ACPI: Add aml_gpio_int() wrapper for GPIO Interrupt Connection 2015-12-17 13:37:14 +00:00
arm i.MX: Add an i.MX25 specific CCM class/instance 2015-12-17 13:37:16 +00:00
audio isa: QOM'ify ISADevice 2013-06-07 14:55:33 +02:00
block BlockConf: Call backend functions to detect geometry and blocksizes 2015-03-10 14:02:22 +01:00
char i.MX: Split UART emulator in a header file and a source file 2015-08-13 11:26:19 +01:00
cpu icc_bus: drop the unused files 2015-10-02 16:22:02 -03:00
cris cris: Remove the CRIS PIC glue 2014-02-03 14:04:00 +00:00
gpio i.MX: add support for lower and upper interrupt in GPIO. 2015-12-17 13:37:13 +00:00
i2c i.MX: Add I2C controller emulator 2015-09-07 10:39:30 +01:00
i386 kvm: x86: add support for KVM_CAP_SPLIT_IRQCHIP 2015-12-17 17:33:47 +01:00
input input: switch hid mouse and tablet to the new input layer api. 2014-05-26 08:42:43 +02:00
intc arm_gic_kvm: Disable live migration if not supported 2015-10-27 12:00:50 +00:00
ipack ipack: Move IndustryPack out of hw/char/ 2014-02-14 21:11:53 +01:00
isa i8257: remove cpu_request_exit irq 2015-09-09 15:34:53 +02:00
kvm
lm32 hmp: Name HMP info handler functions hmp_info_SUBCOMMAND() 2015-02-18 11:58:50 +01:00
m68k
mem Revert "memhp: extend address auto assignment to support gaps" 2015-10-29 11:11:07 +02:00
mips net/dp8393x: QOM'ify 2015-06-11 10:13:30 +01:00
misc i.MX: Add an i.MX25 specific CCM class/instance 2015-12-17 13:37:16 +00:00
net i.MX: Add FEC Ethernet Emulator 2015-09-07 10:39:30 +01:00
nvram fw_cfg: remove offset argument from callback prototype 2015-12-15 11:45:59 +01:00
pci enable multi-function hot-add 2015-10-29 11:17:53 +02:00
pci-host spapr_pci: Allow PCI host bridge DMA window to be configured 2015-10-23 10:38:10 +11:00
ppc spapr_iommu: Provide a function to switch a TCE table to allowing VFIO 2015-10-23 10:38:10 +11:00
s390x s390/sclp: store the increment_size in the sclp device 2015-09-07 16:10:44 +02:00
scsi scsi: remove scsi_req_free prototype 2015-12-04 09:39:55 +03:00
sd sdhci: Sanitize "sdhci-pci" properties for future qomification 2015-12-07 17:13:10 +00:00
sh4
smbios smbios: add smbios 3.0 support 2015-09-07 10:39:28 +01:00
sparc QOM infrastructure fixes and device conversions 2015-03-02 13:20:43 +00:00
timer i.MX: Split the CCM class into an abstract base class and a concrete class 2015-12-17 13:37:15 +00:00
tricore target-tricore: Add board for systemmode 2014-09-01 14:49:20 +01:00
unicore32
usb usb: move ehci register defines to header file 2014-06-02 16:28:59 +02:00
vfio vfio: Record host IOMMU's available IO page sizes 2015-10-05 12:38:41 -06:00
virtio virtio-blk: Drop x-data-plane option 2015-12-07 16:47:16 +00:00
watchdog s390x/watchdog: introduce diag288 watchdog device 2015-06-11 17:45:49 +02:00
xen xen: fix usage of xc_domain_create in domain builder 2015-11-13 17:38:06 +00:00
boards.h kvm: add support for -machine kernel_irqchip=split 2015-12-17 17:15:40 +01:00
bt.h bt: check struct sizes 2015-12-04 09:39:55 +03:00
compat.h vmw_pvscsi: Introduce 'x-disable-pcie' backword compatability property 2015-12-17 15:24:34 +01:00
devices.h arm: fix location of some include files 2013-04-15 15:16:01 +02:00
elf_ops.h elf: Update EM_MOXIE definition 2015-09-25 12:04:43 +02:00
empty_slot.h
fw-path-provider.h fw-path-provider: Change GPL version to 2+ 2014-04-07 15:36:07 +02:00
hotplug.h misc: Fix new typos in comments 2015-01-15 10:44:13 +03:00
hw.h bootdevice: move code about bootorder from vl.c to bootdevice.c 2014-12-22 14:39:20 +08:00
ide.h Call pci_piix3_xen_ide_unplug from unplug_disks 2014-02-20 17:28:08 +00:00
irq.h irq: Remove qemu_irq_intercept_out 2014-10-23 16:41:25 +02:00
loader.h vl: move rom_load_all after machine init done 2015-07-07 11:03:16 +02:00
nmi.h nmi: Implement inject_nmi() for non-monitor context use 2015-06-11 17:45:50 +02:00
pcmcia.h hmp: Remove "info pcmcia" 2014-10-24 12:19:11 +01:00
platform-bus.h sysbus: Add new platform bus helper device 2014-11-04 23:26:14 +01:00
ptimer.h vmstate: Make VMSTATE_STRUCT_POINTER take type, not ptr-to-type 2014-02-04 15:51:45 +01:00
qdev-core.h qobject: Rename qtype_code to QType 2015-12-17 08:21:28 +01:00
qdev-dma.h qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
qdev-properties.h qdev: fix 64 bit properties 2015-07-13 14:42:24 +03:00
qdev.h
ssi.h ssi: Name the CS GPIO 2014-05-28 17:36:21 +02:00
stream.h Trivial grammar and spelling fixes 2013-05-01 20:55:21 +04:00
sysbus.h sysbus: add irq_routing_notifier 2015-07-06 12:15:14 -06:00
usb.h usb: Remove unused functions 2015-04-30 16:05:48 +03:00