KVM: VMX: align vmx->nested.nested_vmx_secondary_ctls_high to vmx->rdtscp_enabled

The SECONDARY_EXEC_RDTSCP must be available iff RDTSCP is enabled in the
guest.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini
2015-09-15 17:34:42 +02:00
parent 29541bb8f4
commit 8b97265a15
+6 -1
View File
@@ -8686,10 +8686,15 @@ static void vmx_cpuid_update(struct kvm_vcpu *vcpu)
exec_control); exec_control);
} }
if (nested && !vmx->rdtscp_enabled) if (nested) {
if (vmx->rdtscp_enabled)
vmx->nested.nested_vmx_secondary_ctls_high |=
SECONDARY_EXEC_RDTSCP;
else
vmx->nested.nested_vmx_secondary_ctls_high &= vmx->nested.nested_vmx_secondary_ctls_high &=
~SECONDARY_EXEC_RDTSCP; ~SECONDARY_EXEC_RDTSCP;
} }
}
/* Exposing INVPCID only when PCID is exposed */ /* Exposing INVPCID only when PCID is exposed */
best = kvm_find_cpuid_entry(vcpu, 0x7, 0); best = kvm_find_cpuid_entry(vcpu, 0x7, 0);