Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

KVM: selftests: Convert triple_fault_event_test away from VCPU_ID

Convert triple_fault_event_test to use vm_create_with_one_vcpu() and pull
the vCPU's ID from 'struct kvm_vcpu'.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

authored by

Sean Christopherson and committed by
Paolo Bonzini
f3443bed 08ce0888

+11 -11
+11 -11
tools/testing/selftests/kvm/x86_64/triple_fault_event_test.c
··· 9 9 10 10 #include "kselftest.h" 11 11 12 - #define VCPU_ID 0 13 12 #define ARBITRARY_IO_PORT 0x2000 14 13 15 14 /* The virtual machine object. */ ··· 40 41 41 42 int main(void) 42 43 { 44 + struct kvm_vcpu *vcpu; 43 45 struct kvm_run *run; 44 46 struct kvm_vcpu_events events; 45 47 vm_vaddr_t vmx_pages_gva; ··· 56 56 exit(KSFT_SKIP); 57 57 } 58 58 59 - vm = vm_create_default(VCPU_ID, 0, (void *) l1_guest_code); 59 + vm = vm_create_with_one_vcpu(&vcpu, l1_guest_code); 60 60 vm_enable_cap(vm, KVM_CAP_X86_TRIPLE_FAULT_EVENT, 1); 61 61 62 - run = vcpu_state(vm, VCPU_ID); 62 + run = vcpu->run; 63 63 vcpu_alloc_vmx(vm, &vmx_pages_gva); 64 - vcpu_args_set(vm, VCPU_ID, 1, vmx_pages_gva); 65 - vcpu_run(vm, VCPU_ID); 64 + vcpu_args_set(vm, vcpu->id, 1, vmx_pages_gva); 65 + vcpu_run(vm, vcpu->id); 66 66 67 67 TEST_ASSERT(run->exit_reason == KVM_EXIT_IO, 68 68 "Expected KVM_EXIT_IO, got: %u (%s)\n", ··· 70 70 TEST_ASSERT(run->io.port == ARBITRARY_IO_PORT, 71 71 "Expected IN from port %d from L2, got port %d", 72 72 ARBITRARY_IO_PORT, run->io.port); 73 - vcpu_events_get(vm, VCPU_ID, &events); 73 + vcpu_events_get(vm, vcpu->id, &events); 74 74 events.flags |= KVM_VCPUEVENT_VALID_TRIPLE_FAULT; 75 75 events.triple_fault.pending = true; 76 - vcpu_events_set(vm, VCPU_ID, &events); 76 + vcpu_events_set(vm, vcpu->id, &events); 77 77 run->immediate_exit = true; 78 - vcpu_run_complete_io(vm, VCPU_ID); 78 + vcpu_run_complete_io(vm, vcpu->id); 79 79 80 - vcpu_events_get(vm, VCPU_ID, &events); 80 + vcpu_events_get(vm, vcpu->id, &events); 81 81 TEST_ASSERT(events.flags & KVM_VCPUEVENT_VALID_TRIPLE_FAULT, 82 82 "Triple fault event invalid"); 83 83 TEST_ASSERT(events.triple_fault.pending, 84 84 "No triple fault pending"); 85 - vcpu_run(vm, VCPU_ID); 85 + vcpu_run(vm, vcpu->id); 86 86 87 - switch (get_ucall(vm, VCPU_ID, &uc)) { 87 + switch (get_ucall(vm, vcpu->id, &uc)) { 88 88 case UCALL_DONE: 89 89 break; 90 90 case UCALL_ABORT: