arm64/sme: Implement ZA signal handling
authorMark Brown <broonie@kernel.org>
Tue, 19 Apr 2022 11:22:27 +0000 (12:22 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 22 Apr 2022 17:51:13 +0000 (18:51 +0100)
commit39782210eb7e87634d96cacb6ece370bc59d74ba
tree8a37eea9cf410a6fcfd5b821c3750dc86493950e
parent85ed24dad2904f7c141911d91b7807ab02694b5e
arm64/sme: Implement ZA signal handling

Implement support for ZA in signal handling in a very similar way to how
we implement support for SVE registers, using a signal context structure
with optional register state after it. Where present this register state
stores the ZA matrix as a series of horizontal vectors numbered from 0 to
VL/8 in the endinanness independent format used for vectors.

As with SVE we do not allow changes in the vector length during signal
return but we do allow ZA to be enabled or disabled.

Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20220419112247.711548-20-broonie@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/uapi/asm/sigcontext.h
arch/arm64/kernel/fpsimd.c
arch/arm64/kernel/signal.c