]> git.baikalelectronics.ru Git - kernel.git/commit
arm64/sve: Low-level SVE architectural state manipulation functions
authorDave Martin <Dave.Martin@arm.com>
Tue, 31 Oct 2017 15:51:01 +0000 (15:51 +0000)
committerWill Deacon <will.deacon@arm.com>
Fri, 3 Nov 2017 15:24:14 +0000 (15:24 +0000)
commitb503416e5e0433116e9d5e94297c22d5c04bc11f
tree3718014c2a1531441a25339d2d32a5cd0cb7e0ad
parentff6290d5e8ac63287d8de5c1025f3300cf8956ef
arm64/sve: Low-level SVE architectural state manipulation functions

Manipulating the SVE architectural state, including the vector and
predicate registers, first-fault register and the vector length,
requires the use of dedicated instructions added by SVE.

This patch adds suitable assembly functions for saving and
restoring the SVE registers and querying the vector length.
Setting of the vector length is done as part of register restore.

Since people building kernels may not all get an SVE-enabled
toolchain for a while, this patch uses macros that generate
explicit opcodes in place of assembler mnemonics.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/fpsimd.h
arch/arm64/include/asm/fpsimdmacros.h
arch/arm64/kernel/entry-fpsimd.S