KVM: selftests: Convert rseq_test away from VCPU_ID
authorSean Christopherson <seanjc@google.com>
Tue, 15 Feb 2022 21:36:46 +0000 (13:36 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 11 Jun 2022 15:46:38 +0000 (11:46 -0400)
Convert rseq_test to use vm_create_with_one_vcpu() and pass around a
'struct kvm_vcpu' object instead of using a global VCPU_ID.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tools/testing/selftests/kvm/rseq_test.c

index 4158da0..fd754de 100644 (file)
@@ -20,8 +20,6 @@
 #include "processor.h"
 #include "test_util.h"
 
-#define VCPU_ID 0
-
 static __thread volatile struct rseq __rseq = {
        .cpu_id = RSEQ_CPU_ID_UNINITIALIZED,
 };
@@ -207,6 +205,7 @@ int main(int argc, char *argv[])
 {
        int r, i, snapshot;
        struct kvm_vm *vm;
+       struct kvm_vcpu *vcpu;
        u32 cpu, rseq_cpu;
 
        /* Tell stdout not to buffer its content */
@@ -228,14 +227,14 @@ int main(int argc, char *argv[])
         * GUEST_SYNC, while concurrently migrating the process by setting its
         * CPU affinity.
         */
-       vm = vm_create_default(VCPU_ID, 0, guest_code);
+       vm = vm_create_with_one_vcpu(&vcpu, guest_code);
        ucall_init(vm, NULL);
 
        pthread_create(&migration_thread, NULL, migration_worker, 0);
 
        for (i = 0; !done; i++) {
-               vcpu_run(vm, VCPU_ID);
-               TEST_ASSERT(get_ucall(vm, VCPU_ID, NULL) == UCALL_SYNC,
+               vcpu_run(vm, vcpu->id);
+               TEST_ASSERT(get_ucall(vm, vcpu->id, NULL) == UCALL_SYNC,
                            "Guest failed?");
 
                /*