[PATCH] KVM: VMX: Prepare VMCS setting for posted interrupt enabling when APICv is available

Zeng Guang posted 1 patch 4 years, 3 months ago
arch/x86/kvm/vmx/vmx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] KVM: VMX: Prepare VMCS setting for posted interrupt enabling when APICv is available
Posted by Zeng Guang 4 years, 3 months ago
Currently KVM setup posted interrupt VMCS only depending on
per-vcpu APICv activation status at the vCPU creation time.
However, this status can be toggled dynamically under some
circumstance. So potentially, later posted interrupt enabling
may be problematic without VMCS readiness.

To fix this, always settle the VMCS setting for posted interrupt
as long as APICv is available and lapic locates in kernel.

Signed-off-by: Zeng Guang <guang.zeng@intel.com>
---
 arch/x86/kvm/vmx/vmx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index b730d799c26e..d6e42d37bb61 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -4388,7 +4388,7 @@ static void init_vmcs(struct vcpu_vmx *vmx)
 	if (cpu_has_secondary_exec_ctrls())
 		secondary_exec_controls_set(vmx, vmx_secondary_exec_control(vmx));
 
-	if (kvm_vcpu_apicv_active(&vmx->vcpu)) {
+	if (enable_apicv && lapic_in_kernel(&vmx->vcpu)) {
 		vmcs_write64(EOI_EXIT_BITMAP0, 0);
 		vmcs_write64(EOI_EXIT_BITMAP1, 0);
 		vmcs_write64(EOI_EXIT_BITMAP2, 0);
-- 
2.27.0
Re: [PATCH] KVM: VMX: Prepare VMCS setting for posted interrupt enabling when APICv is available
Posted by Paolo Bonzini 4 years, 3 months ago
Queued, thanks.

Paolo
Re: [PATCH] KVM: VMX: Prepare VMCS setting for posted interrupt enabling when APICv is available
Posted by Paolo Bonzini 4 years, 3 months ago
Queued, thanks.

Paolo