On Fri, Apr 05, 2019 at 05:33:21PM +0200, Andrew Jones wrote: > On Fri, Apr 05, 2019 at 01:54:13PM +0100, Dave Martin wrote: [...] > > If you think the above is enough for ABI documentation purposes, I will > > aim to drop the following comment into set_sve_vls(): > > > > /* > > * Vector lengths supported by the host can't currently be > > * hidden from the guest individually: instead we can only set a > > * maxmium via ZCR_EL2.LEN. So, make sure the available vector > > * length match the set requested exactly up to the requested > > * maximum: > > */ > > for (vq = SVE_VQ_MIN; vq <= max_vq; ++vq) > > if (vq_present(&vqs, vq) != sve_vq_available(vq)) > > return -EINVAL; > > > > Do you think that's enough? > > > > That works for me, and I'm glad I now have it understood, because this > will be a key piece of the QEMU uesr interface to work out. I.e. we > need to be able to provide the user with the current host's VL list > up to the max virtualizable VL when queried, allow them to choose a max > from that list for a guest, and then commit to that VL sublist for the > guest. I'll dive into QEMU on Monday, hopefully I won't drown there. Agreed. How to make this user-friendly is a separate problem, provided that the kernel provides userspace with sufficient tools to do the job. Cheers ---Dave _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm