KVM: VMX: Zero the vpid module parameter if vpid is not supported

This allows reading back how the hardware is configured.

Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
Avi Kivity 2009-03-23 18:01:29 +02:00
parent 4462d21a61
commit 919818abc2

View File

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