Commit 7cdcdfe5 authored by Sean Christopherson's avatar Sean Christopherson Committed by Paolo Bonzini

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: default avatarSean Christopherson <seanjc@google.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 5241904f
...@@ -8,8 +8,6 @@ ...@@ -8,8 +8,6 @@
#include "test_util.h" #include "test_util.h"
#include "kvm_util.h" #include "kvm_util.h"
#define VCPU_ID 6
#define ICPT_INSTRUCTION 0x04 #define ICPT_INSTRUCTION 0x04
#define IPA0_DIAG 0x8300 #define IPA0_DIAG 0x8300
...@@ -27,14 +25,15 @@ static void guest_code(void) ...@@ -27,14 +25,15 @@ static void guest_code(void)
*/ */
static uint64_t diag318_handler(void) static uint64_t diag318_handler(void)
{ {
struct kvm_vcpu *vcpu;
struct kvm_vm *vm; struct kvm_vm *vm;
struct kvm_run *run; struct kvm_run *run;
uint64_t reg; uint64_t reg;
uint64_t diag318_info; uint64_t diag318_info;
vm = vm_create_default(VCPU_ID, 0, guest_code); vm = vm_create_with_one_vcpu(&vcpu, guest_code);
vcpu_run(vm, VCPU_ID); vcpu_run(vm, vcpu->id);
run = vcpu_state(vm, VCPU_ID); run = vcpu->run;
TEST_ASSERT(run->exit_reason == KVM_EXIT_S390_SIEIC, TEST_ASSERT(run->exit_reason == KVM_EXIT_S390_SIEIC,
"DIAGNOSE 0x0318 instruction was not intercepted"); "DIAGNOSE 0x0318 instruction was not intercepted");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment