Re: [PATCH v2 14/28] arm64/sve: Backend logic for setting the vector length

Dave Martin
2017-09-21T11:19:45Z

On Wed, Sep 20, 2017 at 06:08:21PM +0000, Alan Hayward wrote:
>
> > On 20 Sep 2017, at 12:09, Dave Martin <dave.martin@foss.arm.com> wrote:

[...]

> >> Given, sve_set_vector_length is called when setting the vector length in
> >> PTRACE_SETREGSET, it looks to me like if you set VL to a value that’s not
> >> supported by the hardware, then it’s going to round down to the previous value.
> >> Is that correct? I’m not sure if that’s explained in the docs?
> >
> > Does this cover it?
> >
> > "On success, the calling thread's vector length is changed to the
> > largest value supported by the system that is less than or equal to vl."
> >
> > (For ptrace, I just cross-reference the PR_SVE_SET_VL behaviour, above.)
>
> For ptrace is it worth mentioning user should do a GET after a SET to confirm
> what VL value was actually set?

This seems worth a clarification -- I'd thought this was already
mentioned, but it isn't.

How about:

The caller must make a further GETREGSET call if it needs to know what VL is
actually set by SETREGSET, unless is it known in advance that the requested
VL is supported.

[...]

Cheers
---Dave