]> git.itanic.dy.fi Git - linux-stable/commitdiff
KVM: nVMX: Move guest_cpuid_has_evmcs() to hyperv.h
authorVitaly Kuznetsov <vkuznets@redhat.com>
Tue, 5 Dec 2023 10:36:25 +0000 (11:36 +0100)
committerSean Christopherson <seanjc@google.com>
Thu, 7 Dec 2023 17:34:45 +0000 (09:34 -0800)
In preparation for making Hyper-V emulation optional, move Hyper-V specific
guest_cpuid_has_evmcs() to hyperv.h.

No functional change intended.

Suggested-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Tested-by: Jeremi Piotrowski <jpiotrowski@linux.microsoft.com>
Link: https://lore.kernel.org/r/20231205103630.1391318-12-vkuznets@redhat.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/vmx/hyperv.h
arch/x86/kvm/vmx/vmx.h

index d4ed99008518c6772ed0039f0b26f044a1c64a47..6e1ee951e360641260de8787eac8a6e305041b7a 100644 (file)
@@ -4,6 +4,7 @@
 
 #include <linux/kvm_host.h>
 #include "vmcs12.h"
+#include "vmx.h"
 
 #define EVMPTR_INVALID (-1ULL)
 #define EVMPTR_MAP_PENDING (-2ULL)
@@ -20,6 +21,16 @@ enum nested_evmptrld_status {
        EVMPTRLD_ERROR,
 };
 
+static inline bool guest_cpuid_has_evmcs(struct kvm_vcpu *vcpu)
+{
+       /*
+        * eVMCS is exposed to the guest if Hyper-V is enabled in CPUID and
+        * eVMCS has been explicitly enabled by userspace.
+        */
+       return vcpu->arch.hyperv_enabled &&
+              to_vmx(vcpu)->nested.enlightened_vmcs_enabled;
+}
+
 u64 nested_get_evmptr(struct kvm_vcpu *vcpu);
 uint16_t nested_get_evmcs_version(struct kvm_vcpu *vcpu);
 int nested_enable_evmcs(struct kvm_vcpu *vcpu,
index c2130d2c8e24bb5ff3a529a4bde67f875376adda..959c6d94287fc92c6d28840d3b88bf81c1070322 100644 (file)
@@ -745,14 +745,4 @@ static inline bool vmx_can_use_ipiv(struct kvm_vcpu *vcpu)
        return  lapic_in_kernel(vcpu) && enable_ipiv;
 }
 
-static inline bool guest_cpuid_has_evmcs(struct kvm_vcpu *vcpu)
-{
-       /*
-        * eVMCS is exposed to the guest if Hyper-V is enabled in CPUID and
-        * eVMCS has been explicitly enabled by userspace.
-        */
-       return vcpu->arch.hyperv_enabled &&
-              to_vmx(vcpu)->nested.enlightened_vmcs_enabled;
-}
-
 #endif /* __KVM_X86_VMX_H */