On Thu, Jul 29, 2021 at 06:15:27PM +0000, Sean Christopherson wrote: > On Thu, Jun 10, 2021, Ricardo Koller wrote: > > diff --git a/tools/testing/selftests/kvm/include/kvm_util.h b/tools/testing/selftests/kvm/include/kvm_util.h > > index fcd8e3855111..beb76d6deaa9 100644 > > --- a/tools/testing/selftests/kvm/include/kvm_util.h > > +++ b/tools/testing/selftests/kvm/include/kvm_util.h > > @@ -349,6 +349,7 @@ enum { > > UCALL_SYNC, > > UCALL_ABORT, > > UCALL_DONE, > > + UCALL_UNHANDLED, > > }; > > ... > > > @@ -1254,16 +1254,13 @@ void vm_install_exception_handler(struct kvm_vm *vm, int vector, > > > > void assert_on_unhandled_exception(struct kvm_vm *vm, uint32_t vcpuid) > > { > > - if (vcpu_state(vm, vcpuid)->exit_reason == KVM_EXIT_IO > > - && vcpu_state(vm, vcpuid)->io.port == UNEXPECTED_VECTOR_PORT > > - && vcpu_state(vm, vcpuid)->io.size == 4) { > > - /* Grab pointer to io data */ > > - uint32_t *data = (void *)vcpu_state(vm, vcpuid) > > - + vcpu_state(vm, vcpuid)->io.data_offset; > > - > > - TEST_ASSERT(false, > > - "Unexpected vectored event in guest (vector:0x%x)", > > - *data); > > + struct ucall uc; > > + > > + if (get_ucall(vm, vcpuid, &uc) == UCALL_UNHANDLED) { > > UCALL_UNHANDLED is a bit of an odd name. Without the surrounding context, I would > have no idea that it's referring to an unhandled event, e.g. my gut reaction would > be that it means the ucall itself was unhandled. Maybe UCALL_UNHANDLED_EVENT? I see. I can send a new patch (this was commited as 75275d7fbe) with a new name. The only name I can think of that's more descriptive would be UCALL_UNHANDLED_EXCEPTION, but that's even longer. > It's rather long, but I don't think that will be problematic for any of the code. > > > > + uint64_t vector = uc.args[0]; > > + > > + TEST_FAIL("Unexpected vectored event in guest (vector:0x%lx)", > > + vector); > > } > > } > > > > -- > > 2.32.0.272.g935e593368-goog > >