summaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/entry-fpsimd.S
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2022-04-19 13:22:22 +0200
committerCatalin Marinas <catalin.marinas@arm.com>2022-04-22 19:51:00 +0200
commitaf7167d6d2675f3343eff3ad6c9b4a8e30122e2c (patch)
tree3078283fea103457faec6f0aa8caa1d611a04b93 /arch/arm64/kernel/entry-fpsimd.S
parentarm64/sme: Implement SVCR context switching (diff)
downloadlinux-af7167d6d2675f3343eff3ad6c9b4a8e30122e2c.tar.xz
linux-af7167d6d2675f3343eff3ad6c9b4a8e30122e2c.zip
arm64/sme: Implement streaming SVE context switching
When in streaming mode we need to save and restore the streaming mode SVE register state rather than the regular SVE register state. This uses the streaming mode vector length and omits FFR but is otherwise identical, if TIF_SVE is enabled when we are in streaming mode then streaming mode takes precedence. This does not handle use of streaming SVE state with KVM, ptrace or signals. This will be updated in further patches. Signed-off-by: Mark Brown <broonie@kernel.org> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Link: https://lore.kernel.org/r/20220419112247.711548-15-broonie@kernel.org Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/kernel/entry-fpsimd.S')
-rw-r--r--arch/arm64/kernel/entry-fpsimd.S5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm64/kernel/entry-fpsimd.S b/arch/arm64/kernel/entry-fpsimd.S
index deee5f01462e..6f88c0f86d50 100644
--- a/arch/arm64/kernel/entry-fpsimd.S
+++ b/arch/arm64/kernel/entry-fpsimd.S
@@ -94,4 +94,9 @@ SYM_FUNC_START(sme_get_vl)
ret
SYM_FUNC_END(sme_get_vl)
+SYM_FUNC_START(sme_set_vq)
+ sme_load_vq x0, x1, x2
+ ret
+SYM_FUNC_END(sme_set_vq)
+
#endif /* CONFIG_ARM64_SME */