diff options
author | Paolo Bonzini | 2019-08-14 18:02:41 +0200 |
---|---|---|
committer | Paolo Bonzini | 2019-08-15 09:16:02 +0200 |
commit | 65efa61dc0d536d5f0602c33ee805a57cc07e9dc (patch) | |
tree | 6794e51c0a6fa5da3fecb33f9642b7a08b2c05a1 /tools/testing/selftests/kvm/x86_64/evmcs_test.c | |
parent | selftests: kvm: do not try running the VM in vmx_set_nested_state_test (diff) | |
download | kernel-qcow2-linux-65efa61dc0d536d5f0602c33ee805a57cc07e9dc.tar.gz kernel-qcow2-linux-65efa61dc0d536d5f0602c33ee805a57cc07e9dc.tar.xz kernel-qcow2-linux-65efa61dc0d536d5f0602c33ee805a57cc07e9dc.zip |
selftests: kvm: provide common function to enable eVMCS
There are two tests already enabling eVMCS and a third is coming.
Add a function that enables the capability and tests the result.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'tools/testing/selftests/kvm/x86_64/evmcs_test.c')
-rw-r--r-- | tools/testing/selftests/kvm/x86_64/evmcs_test.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/tools/testing/selftests/kvm/x86_64/evmcs_test.c b/tools/testing/selftests/kvm/x86_64/evmcs_test.c index f95c08343b48..92915e6408e7 100644 --- a/tools/testing/selftests/kvm/x86_64/evmcs_test.c +++ b/tools/testing/selftests/kvm/x86_64/evmcs_test.c @@ -79,11 +79,6 @@ int main(int argc, char *argv[]) struct kvm_x86_state *state; struct ucall uc; int stage; - uint16_t evmcs_ver; - struct kvm_enable_cap enable_evmcs_cap = { - .cap = KVM_CAP_HYPERV_ENLIGHTENED_VMCS, - .args[0] = (unsigned long)&evmcs_ver - }; /* Create VM */ vm = vm_create_default(VCPU_ID, 0, guest_code); @@ -96,13 +91,7 @@ int main(int argc, char *argv[]) exit(KSFT_SKIP); } - vcpu_ioctl(vm, VCPU_ID, KVM_ENABLE_CAP, &enable_evmcs_cap); - - /* KVM should return supported EVMCS version range */ - TEST_ASSERT(((evmcs_ver >> 8) >= (evmcs_ver & 0xff)) && - (evmcs_ver & 0xff) > 0, - "Incorrect EVMCS version range: %x:%x\n", - evmcs_ver & 0xff, evmcs_ver >> 8); + vcpu_enable_evmcs(vm, VCPU_ID); run = vcpu_state(vm, VCPU_ID); @@ -146,7 +135,7 @@ int main(int argc, char *argv[]) kvm_vm_restart(vm, O_RDWR); vm_vcpu_add(vm, VCPU_ID); vcpu_set_cpuid(vm, VCPU_ID, kvm_get_supported_cpuid()); - vcpu_ioctl(vm, VCPU_ID, KVM_ENABLE_CAP, &enable_evmcs_cap); + vcpu_enable_evmcs(vm, VCPU_ID); vcpu_load_state(vm, VCPU_ID, state); run = vcpu_state(vm, VCPU_ID); free(state); |