lkml.org 
[lkml]   [2022]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH 28/42] KVM: selftests: Use vcpu_{set,clear}_cpuid_feature() in nVMX state test
    From
    Use vcpu_{set,clear}_cpuid_feature() to toggle nested VMX support in the
    vCPU CPUID module in the nVMX state test. Drop CPUID_VMX as there are
    no longer any users.

    Signed-off-by: Sean Christopherson <seanjc@google.com>
    ---
    .../selftests/kvm/include/x86_64/processor.h | 1 -
    .../kvm/x86_64/vmx_set_nested_state_test.c | 20 ++-----------------
    2 files changed, 2 insertions(+), 19 deletions(-)

    diff --git a/tools/testing/selftests/kvm/include/x86_64/processor.h b/tools/testing/selftests/kvm/include/x86_64/processor.h
    index b9b3a19895aa..a1cac0b7d8b2 100644
    --- a/tools/testing/selftests/kvm/include/x86_64/processor.h
    +++ b/tools/testing/selftests/kvm/include/x86_64/processor.h
    @@ -158,7 +158,6 @@ struct kvm_x86_cpu_feature {
    #define X86_FEATURE_KVM_MIGRATION_CONTROL KVM_X86_CPU_FEATURE(0x40000001, 0, EAX, 17)

    /* CPUID.1.ECX */
    -#define CPUID_VMX (1ul << 5)
    #define CPUID_XSAVE (1ul << 26)
    #define CPUID_OSXSAVE (1ul << 27)

    diff --git a/tools/testing/selftests/kvm/x86_64/vmx_set_nested_state_test.c b/tools/testing/selftests/kvm/x86_64/vmx_set_nested_state_test.c
    index 1cf78ec007f2..41ea7028a1f8 100644
    --- a/tools/testing/selftests/kvm/x86_64/vmx_set_nested_state_test.c
    +++ b/tools/testing/selftests/kvm/x86_64/vmx_set_nested_state_test.c
    @@ -121,7 +121,7 @@ void test_vmx_nested_state(struct kvm_vcpu *vcpu)
    test_nested_state(vcpu, state);

    /* Enable VMX in the guest CPUID. */
    - vcpu_set_cpuid(vcpu);
    + vcpu_set_cpuid_feature(vcpu, X86_FEATURE_VMX);

    /*
    * Setting vmxon_pa == -1ull and vmcs_pa == -1ull exits early without
    @@ -243,22 +243,6 @@ void test_vmx_nested_state(struct kvm_vcpu *vcpu)
    free(state);
    }

    -void disable_vmx(struct kvm_vcpu *vcpu)
    -{
    - struct kvm_cpuid2 *cpuid = vcpu->cpuid;
    - int i;
    -
    - for (i = 0; i < cpuid->nent; ++i)
    - if (cpuid->entries[i].function == 1 &&
    - cpuid->entries[i].index == 0)
    - break;
    - TEST_ASSERT(i != cpuid->nent, "CPUID function 1 not found");
    -
    - cpuid->entries[i].ecx &= ~CPUID_VMX;
    - vcpu_set_cpuid(vcpu);
    - cpuid->entries[i].ecx |= CPUID_VMX;
    -}
    -
    int main(int argc, char *argv[])
    {
    struct kvm_vm *vm;
    @@ -280,7 +264,7 @@ int main(int argc, char *argv[])
    /*
    * First run tests with VMX disabled to check error handling.
    */
    - disable_vmx(vcpu);
    + vcpu_clear_cpuid_feature(vcpu, X86_FEATURE_VMX);

    /* Passing a NULL kvm_nested_state causes a EFAULT. */
    test_nested_state_expect_efault(vcpu, NULL);
    --
    2.36.1.255.ge46751e96f-goog
    \
     
     \ /
      Last update: 2022-06-04 03:24    [W:4.163 / U:0.284 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site