diff options
| -rw-r--r-- | man/man2/prctl.2 | 42 | ||||
| -rw-r--r-- | man/man2const/PR_SVE_GET_VL.2const | 71 |
2 files changed, 74 insertions, 39 deletions
diff --git a/man/man2/prctl.2 b/man/man2/prctl.2 index 290a92e40d..b36275d427 100644 --- a/man/man2/prctl.2 +++ b/man/man2/prctl.2 @@ -129,38 +129,8 @@ The first argument can be: .B PR_SET_SPECULATION_CTRL .TQ .B PR_SVE_SET_VL -.\" prctl PR_SVE_GET_VL -.TP -.BR PR_SVE_GET_VL " (since Linux 4.15, only on arm64)" -Get the thread's current SVE vector length configuration. -.IP -Arguments -.IR arg2 ", " arg3 ", " arg4 ", and " arg5 -are ignored. -.IP -Provided that the kernel and platform support SVE, -this operation always succeeds, -returning a nonnegative value that describes the -.I current -configuration. -The bits corresponding to -.B PR_SVE_VL_LEN_MASK -contain the currently configured vector length in bytes. -The bit corresponding to -.B PR_SVE_VL_INHERIT -indicates whether the vector length will be inherited -across -.BR execve (2). -.IP -Note that there is no way to determine whether there is -a pending vector length change that has not yet taken effect. -.IP -For more information, see the kernel source file -.I Documentation/arm64/sve.rst -.\"commit b693d0b372afb39432e1c49ad7b3454855bc6bed -(or -.I Documentation/arm64/sve.txt -before Linux 5.3). +.TQ +.B PR_SVE_GET_VL .TP .\" prctl PR_SET_SYSCALL_USER_DISPATCH .\" commit 1446e1df9eb183fdf81c3f0715402f1d7595d4 @@ -700,7 +670,6 @@ of the calling process. for information on the protection mask bits.) .SH RETURN VALUE On success, -.BR PR_SVE_GET_VL , .BR PR_GET_TAGGED_ADDR_CTRL , .BR PR_GET_THP_DISABLE , .BR PR_GET_TIMING , @@ -753,12 +722,6 @@ is not .B EINVAL .I op is -.B PR_SVE_GET_VL -and SVE is not available on this platform. -.TP -.B EINVAL -.I op -is .B PR_SET_SYSCALL_USER_DISPATCH and one of the following is true: .RS @@ -854,4 +817,5 @@ glibc 2.0.6 .BR PR_SET_SPECULATION_CTRL (2const), .BR PR_GET_SPECULATION_CTRL (2const), .BR PR_SVE_SET_VL (2const), +.BR PR_SVE_GET_VL (2const), .BR core (5) diff --git a/man/man2const/PR_SVE_GET_VL.2const b/man/man2const/PR_SVE_GET_VL.2const new file mode 100644 index 0000000000..20d06237ad --- /dev/null +++ b/man/man2const/PR_SVE_GET_VL.2const @@ -0,0 +1,71 @@ +.\" Copyright 2020, Dave Martin <Dave.Martin@arm.com> +.\" Copyright 2020, Michael Kerrisk <mtk.manpages@gmail.com> +.\" +.\" SPDX-License-Identifier: Linux-man-pages-copyleft +.\" +.TH PR_SVE_GET_VL 2const (date) "Linux man-pages (unreleased)" +.SH NAME +PR_SVE_GET_VL +\- +get the thread's SVE vector length +.SH LIBRARY +Standard C library +.RI ( libc ", " \-lc ) +.SH SYNOPSIS +.nf +.B #include <sys/prctl.h> +.P +.BI "int prctl(int " op ", ...);" +.fi +.SH DESCRIPTION +.TP +.BR PR_SVE_GET_VL " (since Linux 4.15, only on arm64)" +Get the thread's current SVE vector length configuration. +.IP +Arguments +.IR arg2 ", " arg3 ", " arg4 ", and " arg5 +are ignored. +.IP +Provided that the kernel and platform support SVE, +this operation always succeeds, +returning a nonnegative value that describes the +.I current +configuration. +The bits corresponding to +.B PR_SVE_VL_LEN_MASK +contain the currently configured vector length in bytes. +The bit corresponding to +.B PR_SVE_VL_INHERIT +indicates whether the vector length will be inherited +across +.BR execve (2). +.IP +Note that there is no way to determine whether there is +a pending vector length change that has not yet taken effect. +.IP +For more information, see the kernel source file +.I Documentation/arm64/sve.rst +.\"commit b693d0b372afb39432e1c49ad7b3454855bc6bed +(or +.I Documentation/arm64/sve.txt +before Linux 5.3). +.SH RETURN VALUE +On success, +.BR PR_SVE_GET_VL , +return the nonnegative values described above. +On error, \-1 is returned, and +.I errno +is set to indicate the error. +.SH ERRORS +.TP +.B EINVAL +.I op +is +.B PR_SVE_GET_VL +and SVE is not available on this platform. +.SH STANDARDS +Linux. +.SH HISTORY +.SH SEE ALSO +.BR prctl (2), +.BR PR_SVE_SET_VL (2const) |
