]> git.baikalelectronics.ru Git - kernel.git/commit
hyperv: Detect Nested virtualization support for SVM
authorVineeth Pillai <viremana@linux.microsoft.com>
Thu, 3 Jun 2021 15:14:34 +0000 (15:14 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 17 Jun 2021 17:09:36 +0000 (13:09 -0400)
commite887c8df589c28f71aab3014a6b2d5d792edc1df
treeb9c83b1a9f08720463831b351cdf2fe1a81b0491
parent8b1a5a52071fce4841f2770b0601667a1c4c1c1f
hyperv: Detect Nested virtualization support for SVM

Previously, to detect nested virtualization enlightenment support,
we were using HV_X64_ENLIGHTENED_VMCS_RECOMMENDED feature bit of
HYPERV_CPUID_ENLIGHTMENT_INFO.EAX CPUID as docuemented in TLFS:
 "Bit 14: Recommend a nested hypervisor using the enlightened VMCS
  interface. Also indicates that additional nested enlightenments
  may be available (see leaf 0x4000000A)".

Enlightened VMCS, however, is an Intel only feature so the above
detection method doesn't work for AMD. So, use the
HYPERV_CPUID_VENDOR_AND_MAX_FUNCTIONS.EAX CPUID information ("The
maximum input value for hypervisor CPUID information.") and this
works for both AMD and Intel.

Signed-off-by: Vineeth Pillai <viremana@linux.microsoft.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Message-Id: <43b25ff21cd2d9a51582033c9bdd895afefac056.1622730232.git.viremana@linux.microsoft.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kernel/cpu/mshyperv.c