]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
KVM: VMX: Zero the vpid module parameter if vpid is not supported
authorAvi Kivity <avi@redhat.com>
Mon, 23 Mar 2009 16:01:29 +0000 (18:01 +0200)
committerAvi Kivity <avi@redhat.com>
Mon, 23 Mar 2009 16:01:29 +0000 (18:01 +0200)
This allows reading back how the hardware is configured.

Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/vmx.c

index 47b94ae005350871201d1ce7ff0a9753bfa08029..8b1b9b8f5f42f99e76f077ad1fed462b2e446ea4 100644 (file)
@@ -1202,6 +1202,9 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf)
                      vmx_capability.ept, vmx_capability.vpid);
        }
 
+       if (!cpu_has_vmx_vpid())
+               enable_vpid = 0;
+
        min = 0;
 #ifdef CONFIG_X86_64
        min |= VM_EXIT_HOST_ADDR_SPACE_SIZE;
@@ -2082,7 +2085,7 @@ static void allocate_vpid(struct vcpu_vmx *vmx)
        int vpid;
 
        vmx->vpid = 0;
-       if (!enable_vpid || !cpu_has_vmx_vpid())
+       if (!enable_vpid)
                return;
        spin_lock(&vmx_vpid_lock);
        vpid = find_first_zero_bit(vmx_vpid_bitmap, VMX_NR_VPIDS);