Skip to content

Commit 483dbf6

Browse files
brooniewilldeacon
authored andcommitted
arm64/sve: Split _sve_flush macro into separate Z and predicate flushes
Trivial refactoring to support further work, no change to generated code. Signed-off-by: Mark Brown <broonie@kernel.org> Reviewed-by: Dave Martin <Dave.Martin@arm.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Link: https://lore.kernel.org/r/20210512151131.27877-2-broonie@kernel.org Signed-off-by: Will Deacon <will@kernel.org>
1 parent c468154 commit 483dbf6

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

arch/arm64/include/asm/fpsimdmacros.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,8 +213,10 @@
213213
mov v\nz\().16b, v\nz\().16b
214214
.endm
215215

216-
.macro sve_flush
216+
.macro sve_flush_z
217217
_for n, 0, 31, _sve_flush_z \n
218+
.endm
219+
.macro sve_flush_p_ffr
218220
_for n, 0, 15, _sve_pfalse \n
219221
_sve_wrffr 0
220222
.endm

arch/arm64/kernel/entry-fpsimd.S

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ SYM_FUNC_END(sve_load_from_fpsimd_state)
7272

7373
/* Zero all SVE registers but the first 128-bits of each vector */
7474
SYM_FUNC_START(sve_flush_live)
75-
sve_flush
75+
sve_flush_z
76+
sve_flush_p_ffr
7677
ret
7778
SYM_FUNC_END(sve_flush_live)
7879

0 commit comments

Comments
 (0)