Please sign in to comment.
hv: Introduce check_vm_vlapic_state API
This patch introduces check_vm_vlapic_state API instead of is_lapic_pt_enabled to check if all the vCPUs of a VM are using x2APIC mode and LAPIC pass-through is enabled on all of them. When the VM is in VM_VLAPIC_TRANSITION or VM_VLAPIC_DISABLED state, following conditions apply. 1) For pass-thru MSI interrupts, interrupt source is not programmed. 2) For DM emulated device MSI interrupts, interrupt is not delivered. 3) For IPIs, it will work only if the sender and destination are both in x2APIC mode. Tracked-On: #3253 Signed-off-by: Sainath Grandhi <email@example.com> Acked-by: Eddie Dong <firstname.lastname@example.org>
- Loading branch information...
Showing with 98 additions and 35 deletions.
- +33 −8 hypervisor/arch/x86/guest/assign.c
- +15 −1 hypervisor/arch/x86/guest/vcpu.c
- +10 −16 hypervisor/arch/x86/guest/vlapic.c
- +15 −2 hypervisor/arch/x86/guest/vm.c
- +2 −2 hypervisor/common/hv_main.c
- +21 −3 hypervisor/common/hypercall.c
- +1 −1 hypervisor/include/arch/x86/guest/vcpu.h
- +0 −1 hypervisor/include/arch/x86/guest/vlapic.h
- +1 −1 hypervisor/include/arch/x86/guest/vm.h