]> git.baikalelectronics.ru Git - kernel.git/commit
arm64/sve: Add prctl controls for userspace vector length management
authorDave Martin <Dave.Martin@arm.com>
Tue, 31 Oct 2017 15:51:14 +0000 (15:51 +0000)
committerWill Deacon <will.deacon@arm.com>
Fri, 3 Nov 2017 15:24:19 +0000 (15:24 +0000)
commitf32afc55c018bfa2c42ac0f6b1e01cd0f5a9b252
treecc8ad3cccc8d8156382edbf512c4cf1af1d27978
parent0ac7abfb1e8fe783a79a0c9bce7686f211c59e37
arm64/sve: Add prctl controls for userspace vector length management

This patch adds two arm64-specific prctls, to permit userspace to
control its vector length:

 * PR_SVE_SET_VL: set the thread's SVE vector length and vector
   length inheritance mode.

 * PR_SVE_GET_VL: get the same information.

Although these prctls resemble instruction set features in the SVE
architecture, they provide additional control: the vector length
inheritance mode is Linux-specific and nothing to do with the
architecture, and the architecture does not permit EL0 to set its
own vector length directly.  Both can be used in portable tools
without requiring the use of SVE instructions.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Alex Bennée <alex.bennee@linaro.org>
[will: Fixed up prctl constants to avoid clash with PDEATHSIG]
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/fpsimd.h
arch/arm64/include/asm/processor.h
arch/arm64/kernel/fpsimd.c
include/uapi/linux/prctl.h
kernel/sys.c