KVM: selftests: Convert s390x/diag318_test_handler away from VCPU_ID
authorSean Christopherson <seanjc@google.com>
Wed, 16 Feb 2022 20:40:18 +0000 (12:40 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 11 Jun 2022 15:47:13 +0000 (11:47 -0400)
Convert diag318_test_handler to use vm_create_with_vcpus() and pass around a
'struct kvm_vcpu' object instead of passing around vCPU IDs.  Note, this is
a "functional" change in the sense that the test now creates a vCPU with
vcpu_id==0 instead of vcpu_id==6.  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>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tools/testing/selftests/kvm/lib/s390x/diag318_test_handler.c

index 86b9e61..21c31fe 100644 (file)
@@ -8,8 +8,6 @@
 #include "test_util.h"
 #include "kvm_util.h"
 
-#define VCPU_ID        6
-
 #define ICPT_INSTRUCTION       0x04
 #define IPA0_DIAG              0x8300
 
@@ -27,14 +25,15 @@ static void guest_code(void)
  */
 static uint64_t diag318_handler(void)
 {
+       struct kvm_vcpu *vcpu;
        struct kvm_vm *vm;
        struct kvm_run *run;
        uint64_t reg;
        uint64_t diag318_info;
 
-       vm = vm_create_default(VCPU_ID, 0, guest_code);
-       vcpu_run(vm, VCPU_ID);
-       run = vcpu_state(vm, VCPU_ID);
+       vm = vm_create_with_one_vcpu(&vcpu, guest_code);
+       vcpu_run(vm, vcpu->id);
+       run = vcpu->run;
 
        TEST_ASSERT(run->exit_reason == KVM_EXIT_S390_SIEIC,
                    "DIAGNOSE 0x0318 instruction was not intercepted");