The VMCS includes controls that enable the virtualization of interrupts and the Advanced Programmable Interrupt Controller (APIC). When these controls are used, the processor will emulate many accesses to the APIC, track the state of the virtual APIC, and deliver virtual interrupts - all in VMX non-root operation without a VM exit. You can refer to Chapter 29 of the latest SDM. APICv support in KVM is split into 5 patches: 0001-x86-apicv-add-APICv-register-virtualization-support.patch - enable APICv register virtualization 0002-x86-apicv-adjust-for-virtual-interrupt-delivery.patch - add basic KVM frameowrk for virtual interrupt delivery 0003-x86-apicv-enable-virtual-interrupt-delivery-for-VMX.patch - enable APICv virtual interrupt delivery 0004-x86-apicv-add-interface-for-poking-EOI-exit-bitmap.patch - EOI exit bitmap handling 0005-x86-apicv-add-virtual-x2apic-support.patch - handle MSR style in virtual x2apic Apply them in above order APICv is disabled by default, and use below command to enable it: modprobe enable_apicv_reg=1 enable_apicv_vid=1 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html