Re: [PATCH v7 23/27] KVM: arm64/sve: Add pseudo-register for the guest's vector lengths

Dave Martin
2019-04-10T12:42:15Z

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