KVM_CAP_HYPERV_ENLIGHTENED_VMCS will be reported as supported even when
nested VMX is not, fix evmcs_test/hyperv_cpuid tests to check for both.

Signed-off-by: Vitaly Kuznetsov <[email protected]>
---
 tools/testing/selftests/kvm/x86_64/evmcs_test.c   | 5 +++--
 tools/testing/selftests/kvm/x86_64/hyperv_cpuid.c | 3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/kvm/x86_64/evmcs_test.c 
b/tools/testing/selftests/kvm/x86_64/evmcs_test.c
index e6e62e5e75b2..757928199f19 100644
--- a/tools/testing/selftests/kvm/x86_64/evmcs_test.c
+++ b/tools/testing/selftests/kvm/x86_64/evmcs_test.c
@@ -94,9 +94,10 @@ int main(int argc, char *argv[])
 
        vcpu_set_cpuid(vm, VCPU_ID, kvm_get_supported_cpuid());
 
-       if (!kvm_check_cap(KVM_CAP_NESTED_STATE) ||
+       if (!nested_vmx_supported() ||
+           !kvm_check_cap(KVM_CAP_NESTED_STATE) ||
            !kvm_check_cap(KVM_CAP_HYPERV_ENLIGHTENED_VMCS)) {
-               print_skip("capabilities not available");
+               print_skip("Enlightened VMCS is unsupported");
                exit(KSFT_SKIP);
        }
 
diff --git a/tools/testing/selftests/kvm/x86_64/hyperv_cpuid.c 
b/tools/testing/selftests/kvm/x86_64/hyperv_cpuid.c
index 4a7967cca281..745b708c2d3b 100644
--- a/tools/testing/selftests/kvm/x86_64/hyperv_cpuid.c
+++ b/tools/testing/selftests/kvm/x86_64/hyperv_cpuid.c
@@ -170,7 +170,8 @@ int main(int argc, char *argv[])
                case 1:
                        break;
                case 2:
-                       if (!kvm_check_cap(KVM_CAP_HYPERV_ENLIGHTENED_VMCS)) {
+                       if (!nested_vmx_supported() ||
+                           !kvm_check_cap(KVM_CAP_HYPERV_ENLIGHTENED_VMCS)) {
                                print_skip("Enlightened VMCS is unsupported");
                                continue;
                        }
-- 
2.25.4

Reply via email to