Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2375913b authored by Catalin Marinas's avatar Catalin Marinas Committed by Sami Tolvanen
Browse files

UPSTREAM: arm64: Factor out TTBR0_EL1 post-update workaround into a specific asm macro



This patch takes the errata workaround code out of cpu_do_switch_mm into
a dedicated post_ttbr0_update_workaround macro which will be reused in a
subsequent patch.

Cc: Will Deacon <will.deacon@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Kees Cook <keescook@chromium.org>
Reviewed-by: default avatarMark Rutland <mark.rutland@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>

Bug: 31432001
Change-Id: Iab8f98ecb2f91164ec63728af52769140a2d70ab
(cherry picked from commit f33bcf03e6079668da6bf4eec4a7dcf9289131d0)
Signed-off-by: default avatarSami Tolvanen <samitolvanen@google.com>
parent 2962f1d2
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -395,4 +395,17 @@ alternative_endif
	movk	\reg, :abs_g0_nc:\val
	.endm

/*
 * Errata workaround post TTBR0_EL1 update.
 */
	.macro	post_ttbr0_update_workaround
#ifdef CONFIG_CAVIUM_ERRATUM_27456
alternative_if ARM64_WORKAROUND_CAVIUM_27456
	ic	iallu
	dsb	nsh
	isb
alternative_else_nop_endif
#endif
	.endm

#endif	/* __ASM_ASSEMBLER_H */
+1 −5
Original line number Diff line number Diff line
@@ -136,11 +136,7 @@ ENTRY(cpu_do_switch_mm)
	bfi	x0, x1, #48, #16		// set the ASID
	msr	ttbr0_el1, x0			// set TTBR0
	isb
alternative_if ARM64_WORKAROUND_CAVIUM_27456
	ic	iallu
	dsb	nsh
	isb
alternative_else_nop_endif
	post_ttbr0_update_workaround
	ret
ENDPROC(cpu_do_switch_mm)