CR4.VMXE is reserved unless the VMX CPUID bit is set.  On Intel,
it is also tested by vmx_set_cr4, but AMD relies on kvm_valid_cr4,
so fix it.

Signed-off-by: Paolo Bonzini <[email protected]>
---
 arch/x86/kvm/x86.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index 56975c6c1e15..224670d7c245 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -392,6 +392,8 @@ bool kvm_vcpu_exit_request(struct kvm_vcpu *vcpu);
                __reserved_bits |= X86_CR4_LA57;        \
        if (!__cpu_has(__c, X86_FEATURE_UMIP))          \
                __reserved_bits |= X86_CR4_UMIP;        \
+       if (!__cpu_has(__c, X86_FEATURE_VMX))           \
+               __reserved_bits |= X86_CR4_VMXE;        \
        __reserved_bits;                                \
 })
 
-- 
2.26.2

Reply via email to