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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html