On Fri, 23 Jul 2021 at 21:36, Richard Henderson <richard.hender...@linaro.org> wrote: > > Mirror the behavour of /proc/sys/abi/sve_default_vector_length > under the real linux kernel. We have no way of passing along > a real default across exec like the kernel can, but this is a > decent way of adjusting the startup vector length of a process. > > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/482 > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > docs/system/arm/cpu-features.rst | 11 ++++++ > target/arm/cpu.h | 5 +++ > target/arm/cpu.c | 14 ++++++-- > target/arm/cpu64.c | 60 ++++++++++++++++++++++++++++++++ > 4 files changed, 88 insertions(+), 2 deletions(-) > > diff --git a/docs/system/arm/cpu-features.rst > b/docs/system/arm/cpu-features.rst > index c455442eaf..4ff36cc83f 100644 > --- a/docs/system/arm/cpu-features.rst > +++ b/docs/system/arm/cpu-features.rst > @@ -376,3 +376,14 @@ verbose command lines. However, the recommended way to > select vector > lengths is to explicitly enable each desired length. Therefore only > example's (1), (4), and (6) exhibit recommended uses of the properties. > > +SVE User-mode Default Vector Length Property > +-------------------------------------------- > + > +For qemu-aarch64, the cpu property `sve-default-vector-length=N` is
You probably don't want single-backticks. In rST this means "interpreted text", which can be handled as a bunch of different things if tagged with a specific "role": https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#interpreted-text The default "role" if none is specified is "title_reference", intended for references to book or article titles, and it renders into the HTML as <cite>...</cite> (usually comes out as italics). If you want fixed-width-font text, that's double backtick: ``text``. If you want italics, that's *emphasised text*. If you want bold, that's **strong text**. > +defined to mirror the Linux kernel parameter file > +`/proc/sys/abi/sve_default_vector_length`. The default length, `N`, > +is in units of bytes and must be between 16 and 8192. > +If not specified, the default vector length is 64. > + > +If the default length is larger than the maximum vector length enabled > +with `sve<N>` properties, the actual vector length will be reduced. We should document the -1 case too, something like: If this property is set to ``-1`` then the default vector length is set to the maximum possible length. Otherwise Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM