aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/kvm/lib/s390x/diag318_test_handler.c
diff options
context:
space:
mode:
authorSean Christopherson <seanjc@google.com>2022-02-16 12:40:18 -0800
committerPaolo Bonzini <pbonzini@redhat.com>2022-06-11 11:47:13 -0400
commit7cdcdfe50d8d68b7b9ba2e1b0345ff47fdda390f (patch)
tree521103c213d78d092bb9bfeacc786ba133d68146 /tools/testing/selftests/kvm/lib/s390x/diag318_test_handler.c
parentKVM: selftests: Convert memop away from VCPU_ID (diff)
downloadlinux-dev-7cdcdfe50d8d68b7b9ba2e1b0345ff47fdda390f.tar.xz
linux-dev-7cdcdfe50d8d68b7b9ba2e1b0345ff47fdda390f.zip
KVM: selftests: Convert s390x/diag318_test_handler away from VCPU_ID
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>
Diffstat (limited to 'tools/testing/selftests/kvm/lib/s390x/diag318_test_handler.c')
-rw-r--r--tools/testing/selftests/kvm/lib/s390x/diag318_test_handler.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/tools/testing/selftests/kvm/lib/s390x/diag318_test_handler.c b/tools/testing/selftests/kvm/lib/s390x/diag318_test_handler.c
index 86b9e611ad87..21c31fe10c1a 100644
--- a/tools/testing/selftests/kvm/lib/s390x/diag318_test_handler.c
+++ b/tools/testing/selftests/kvm/lib/s390x/diag318_test_handler.c
@@ -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");