On Fri, Sep 24, 2021 at 12:09:06AM +0000, Sean Christopherson wrote: > On Thu, Sep 23, 2021, Oliver Upton wrote: > > While x86 does not require any additional setup to use the ucall > > infrastructure, arm64 needs to set up the MMIO address used to signal a > > ucall to userspace. rseq_test does not initialize the MMIO address, > > resulting in the test spinning indefinitely. > > > > Fix the issue by calling ucall_init() during setup. > > > > Fixes: 61e52f1630f5 ("KVM: selftests: Add a test for KVM_RUN+rseq to detect task migration bugs") > > Signed-off-by: Oliver Upton <oupton@xxxxxxxxxx> > > --- > > tools/testing/selftests/kvm/rseq_test.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/tools/testing/selftests/kvm/rseq_test.c b/tools/testing/selftests/kvm/rseq_test.c > > index 060538bd405a..c5e0dd664a7b 100644 > > --- a/tools/testing/selftests/kvm/rseq_test.c > > +++ b/tools/testing/selftests/kvm/rseq_test.c > > @@ -180,6 +180,7 @@ int main(int argc, char *argv[]) > > * CPU affinity. > > */ > > vm = vm_create_default(VCPU_ID, 0, guest_code); > > + ucall_init(vm, NULL); > > Any reason not to do this automatically in vm_create()? There is 0% chance I'm > going to remember to add this next time I write a common selftest, arm64 is the > oddball here. > Yes, please. But, it'll take more than just adding a ucall_init(vm, NULL) call to vm_create. We should also modify aarch64's ucall_init to allow a *new* explicit mapping to be made. It already allows an explicit mapping when arg != NULL, but we'll need to unmap the default mapping first, now. The reason is that a unit test may not be happy with the automatically selected address (that hasn't happened yet, but...) and want to set its own. Thanks, drew _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm