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> |
||
---|---|---|
.. | ||
arch-query-cpu-def.c | ||
bdrv-commit-all.c | ||
clock-warp.c | ||
cpu-get-clock.c | ||
cpu-get-icount.c | ||
cpus.c | ||
dump.c | ||
fd-register.c | ||
fdset-add-fd.c | ||
fdset-find-fd.c | ||
fdset-get-fd.c | ||
fdset-remove-fd.c | ||
gdbstub.c | ||
get-fd.c | ||
get-next-serial.c | ||
get-vm-name.c | ||
iothread-lock.c | ||
is-daemonized.c | ||
kvm.c | ||
machine-init-done.c | ||
Makefile.objs | ||
migr-blocker.c | ||
mon-is-qmp.c | ||
mon-printf.c | ||
monitor-init.c | ||
notify-event.c | ||
qmp_pc_dimm_device_list.c | ||
qtest.c | ||
replay-user.c | ||
replay.c | ||
reset.c | ||
runstate-check.c | ||
set-fd-handler.c | ||
slirp.c | ||
sysbus.c | ||
target-get-monitor-def.c | ||
target-monitor-defs.c | ||
uuid.c | ||
vhost.c | ||
vm-stop.c | ||
vmstate.c |