lkml.org 
[lkml]   [2022]   [Jun]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH v2 052/144] KVM: selftests: Convert xss_msr_test away from VCPU_ID
    From
    Convert xss_msr_test to use vm_create_with_one_vcpu() and pass around a
    'struct kvm_vcpu' object instead of using a global VCPU_ID. Note, this
    is a "functional" change in the sense that the test now creates a vCPU
    with vcpu_id==0 instead of vcpu_id==1. The non-zero VCPU_ID was 100%
    arbitrary and added little to no validation coverage. If testing
    non-zero vCPU IDs is desirable for generic tests, that can be done in the
    future by tweaking the VM creation helpers.

    Signed-off-by: Sean Christopherson <seanjc@google.com>
    ---
    tools/testing/selftests/kvm/x86_64/xss_msr_test.c | 11 ++++++-----
    1 file changed, 6 insertions(+), 5 deletions(-)

    diff --git a/tools/testing/selftests/kvm/x86_64/xss_msr_test.c b/tools/testing/selftests/kvm/x86_64/xss_msr_test.c
    index a6abcb559e7c..a89d49ae79a6 100644
    --- a/tools/testing/selftests/kvm/x86_64/xss_msr_test.c
    +++ b/tools/testing/selftests/kvm/x86_64/xss_msr_test.c
    @@ -12,7 +12,6 @@
    #include "kvm_util.h"
    #include "vmx.h"

    -#define VCPU_ID 1
    #define MSR_BITS 64

    #define X86_FEATURE_XSAVES (1<<3)
    @@ -23,11 +22,12 @@ int main(int argc, char *argv[])
    bool xss_supported = false;
    bool xss_in_msr_list;
    struct kvm_vm *vm;
    + struct kvm_vcpu *vcpu;
    uint64_t xss_val;
    int i, r;

    /* Create VM */
    - vm = vm_create_default(VCPU_ID, 0, 0);
    + vm = vm_create_with_one_vcpu(&vcpu, NULL);

    if (kvm_get_cpuid_max_basic() >= 0xd) {
    entry = kvm_get_supported_cpuid_index(0xd, 1);
    @@ -38,11 +38,12 @@ int main(int argc, char *argv[])
    exit(KSFT_SKIP);
    }

    - xss_val = vcpu_get_msr(vm, VCPU_ID, MSR_IA32_XSS);
    + xss_val = vcpu_get_msr(vm, vcpu->id, MSR_IA32_XSS);
    TEST_ASSERT(xss_val == 0,
    "MSR_IA32_XSS should be initialized to zero\n");

    - vcpu_set_msr(vm, VCPU_ID, MSR_IA32_XSS, xss_val);
    + vcpu_set_msr(vm, vcpu->id, MSR_IA32_XSS, xss_val);
    +
    /*
    * At present, KVM only supports a guest IA32_XSS value of 0. Verify
    * that trying to set the guest IA32_XSS to an unsupported value fails.
    @@ -51,7 +52,7 @@ int main(int argc, char *argv[])
    */
    xss_in_msr_list = kvm_msr_is_in_save_restore_list(MSR_IA32_XSS);
    for (i = 0; i < MSR_BITS; ++i) {
    - r = _vcpu_set_msr(vm, VCPU_ID, MSR_IA32_XSS, 1ull << i);
    + r = _vcpu_set_msr(vm, vcpu->id, MSR_IA32_XSS, 1ull << i);

    /*
    * Setting a list of MSRs returns the entry that "faulted", or
    --
    2.36.1.255.ge46751e96f-goog
    \
     
     \ /
      Last update: 2022-06-03 02:54    [W:2.983 / U:2.528 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site