qemu/target-i386
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
..
arch_dump.c x86: Fuse g_malloc(); memset() into g_malloc0() 2014-12-15 12:21:02 +01:00
arch_memory_mapping.c Switch non-CPU callers from ld/st*_phys to address_space_ld/st* 2015-04-26 16:49:24 +01:00
bpt_helper.c target-i386: Ensure always-1 bits on DR6 can't be cleared 2015-10-23 12:59:27 -02:00
cc_helper_template.h target-i386: Implement BLSR, BLSMSK, BLSI 2013-02-18 15:52:05 -08:00
cc_helper.c target-i386: exception handling for other helper functions 2015-09-15 12:31:59 -07:00
cpu-qom.h target-i386/kvm: Hyper-V SynIC timers MSR's support 2015-12-17 15:24:35 +01:00
cpu.c kvm: x86: add support for KVM_CAP_SPLIT_IRQCHIP 2015-12-17 17:33:47 +01:00
cpu.h target-i386/kvm: Hyper-V SynIC timers MSR's support 2015-12-17 15:24:35 +01:00
excp_helper.c target-i386: introduce new raise_exception functions 2015-09-15 12:28:16 -07:00
fpu_helper.c target-i386: exception handling for FPU instructions 2015-09-15 12:28:16 -07:00
gdbstub.c target-i386: update fp status fix 2014-09-18 17:06:12 +02:00
helper.c target-i386: Move breakpoint related functions to new file 2015-10-02 16:22:01 -03:00
helper.h target-i386: Check CR4[DE] for processing DR4/DR5 2015-10-23 12:59:27 -02:00
hyperv.c target-i386/hyperv: Hyper-V SynIC SINT routing and vcpu exit 2015-12-17 15:24:34 +01:00
hyperv.h target-i386/hyperv: Hyper-V SynIC SINT routing and vcpu exit 2015-12-17 15:24:34 +01:00
int_helper.c target-i386: exception handling for div instructions 2015-09-15 12:28:16 -07:00
kvm_i386.h kvm: x86: add support for KVM_CAP_SPLIT_IRQCHIP 2015-12-17 17:33:47 +01:00
kvm-stub.c pc: add SMM property 2015-07-06 18:39:59 +02:00
kvm.c kvm: x86: add support for KVM_CAP_SPLIT_IRQCHIP 2015-12-17 17:33:47 +01:00
machine.c target-i386/kvm: Hyper-V SynIC timers MSR's support 2015-12-17 15:24:35 +01:00
Makefile.objs target-i386/hyperv: Hyper-V SynIC SINT routing and vcpu exit 2015-12-17 15:24:34 +01:00
mem_helper.c target-i386: exception handling for memory helpers 2015-09-15 12:31:49 -07:00
misc_helper.c target-i386: Move breakpoint related functions to new file 2015-10-02 16:22:01 -03:00
monitor.c hmp: implemented io apic dump state for TCG 2015-09-25 12:04:42 +02:00
ops_sse_header.h target-i386: add AES-NI instructions 2013-04-13 13:51:57 +02:00
ops_sse.h target-i386: fix pcmpxstrx equal-ordered (strstr) mode 2015-11-04 15:02:30 +01:00
seg_helper.c target-i386: Introduce cpu_x86_update_dr7 2015-10-23 12:59:27 -02:00
shift_helper_template.h target-i386: compute eflags outside rcl/rcr helper 2013-02-18 15:03:56 -08:00
smm_helper.c target-i386: allow any alignment for SMBASE 2015-10-23 12:59:26 -02:00
svm_helper.c target-i386: Use correct memory attributes for memory accesses 2015-06-05 17:10:00 +02:00
svm.h Use new macro QEMU_PACKED for packed structures 2011-09-03 10:45:59 +00:00
TODO target-i386: fix {min,max}{pd,ps,sd,ss} SSE2 instructions 2012-01-11 09:55:28 +01:00
translate.c target-i386: Fix mulx for identical target regs 2015-11-17 17:05:59 -02:00