Skip to content
Commit 01b467d6 authored by Dave Martin's avatar Dave Martin
Browse files

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: default avatarDave Martin <Dave.Martin@arm.com>
Reviewed-by: Catalin Marinas's avatarCatalin Marinas <catalin.marinas@arm.com>
Cc: Alex Bennée <alex.bennee@linaro.org>

---

**Dropped at v3** Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
due to non-trivial changes/fixes after v2.

Changes since v3
----------------

Requested by Catalin Marinas:

 * Replace static __maybe_unused functions with static inlines.

   (Retaining Catalin's Reviewed-by with his approval.)
parent d308f453
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment