]> Git Repo - qemu.git/commit - target-i386/kvm.c
kvm: x86: add support for KVM_CAP_SPLIT_IRQCHIP
authorPaolo Bonzini <[email protected]>
Thu, 17 Dec 2015 16:16:08 +0000 (17:16 +0100)
committerPaolo Bonzini <[email protected]>
Thu, 17 Dec 2015 16:33:47 +0000 (17:33 +0100)
commit15eafc2e602ff8c37c6e132eb8c63fec8fc17175
treee37c79eac125c083389e8bde03b8d3e048c22b0a
parent32c18a2dbaf79c241eddabd19a3b410bab5bf0cc
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 <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
hw/i386/pc.c
hw/i386/pc_piix.c
hw/intc/ioapic.c
include/hw/i386/pc.h
include/sysemu/kvm.h
kvm-all.c
stubs/kvm.c
target-arm/kvm.c
target-i386/cpu.c
target-i386/kvm.c
target-i386/kvm_i386.h
This page took 0.027628 seconds and 4 git commands to generate.