Re: [PATCH v2 000/144] KVM: selftests: Overhaul APIs, purge VCPU_ID

Sean Christopherson
2022-06-08T03:03:26Z

On Tue, Jun 07, 2022, Sean Christopherson wrote:
> On Tue, Jun 07, 2022, Sean Christopherson wrote:
> > +Raghu
> >
> > On Tue, Jun 07, 2022, Paolo Bonzini wrote:
> > > Marc, Christian, Anup, can you please give this a go?
> >
> > Raghu is going to run on arm64, I'll work with him to iron out any bugs (I should
> > have done this before posting). I.e. Marc is mostly off the hook unless there's
> > tests we can't run.
>
> arm64 is quite broken, the only tests that pass are those that don't actually
> enter the guest. Common tests, e.g. rseq and memslots tests, fail with the same
> signature, so presumably I botched something in lib/aarch64, but I haven't been
> able to find anything via inspection.
>
> Raghu is bisecting...

Ha! Looks like it's an issue with running upstream selftest using one of our many
internal framework things. Running a few of the tests manually works. We should
have full results tomorrow.

I did find one bug during my inspection, in case someone gets ambitious and wants
to run tests too :-)

diff --git a/tools/testing/selftests/kvm/lib/aarch64/vgic.c b/tools/testing/selftests/kvm/lib/aarch64/vgic.c
index 0de9b0686498..b5f28d21a947 100644
--- a/tools/testing/selftests/kvm/lib/aarch64/vgic.c
+++ b/tools/testing/selftests/kvm/lib/aarch64/vgic.c
@@ -55,7 +55,7 @@ int vgic_v3_setup(struct kvm_vm *vm, unsigned int nr_vcpus, uint32_t nr_irqs,
if (gic_fd < 0)
return gic_fd;

- kvm_device_attr_get(gic_fd, KVM_DEV_ARM_VGIC_GRP_NR_IRQS, 0, &nr_irqs);
+ kvm_device_attr_set(gic_fd, KVM_DEV_ARM_VGIC_GRP_NR_IRQS, 0, &nr_irqs);

kvm_device_attr_set(gic_fd, KVM_DEV_ARM_VGIC_GRP_CTRL,
KVM_DEV_ARM_VGIC_CTRL_INIT, NULL);