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

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
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -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");