arm64/sme: Don't flush SVE register state when handling SME traps
authorMark Brown <broonie@kernel.org>
Wed, 17 Aug 2022 18:23:24 +0000 (19:23 +0100)
committerWill Deacon <will@kernel.org>
Tue, 23 Aug 2022 10:29:12 +0000 (11:29 +0100)
commit714f3cbd70a4db9f9b7fe5b8a032896ed33fb824
tree97f0517eab1531c5065a2ebe3d60eaebc3ef8dbd
parent826a4fdd2ada9e5923c58bdd168f31a42e958ffc
arm64/sme: Don't flush SVE register state when handling SME traps

Currently as part of handling a SME access trap we flush the SVE register
state. This is not needed and would corrupt register state if the task has
access to the SVE registers already. For non-streaming mode accesses the
required flushing will be done in the SVE access trap. For streaming
mode SVE register accesses the architecture guarantees that the register
state will be flushed when streaming mode is entered or exited so there is
no need for us to do so. Simply remove the register initialisation.

Fixes: 8bd7f91c03d8 ("arm64/sme: Implement traps and syscall handling for SME")
Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20220817182324.638214-5-broonie@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/fpsimd.c