Re: [PATCH v3 03/18] arm64: Apply errata to swsusp_arch_suspend_exit

Mark Rutland
2021-05-20T12:55:36Z

On Thu, May 20, 2021 at 01:43:51PM +0100, Fuad Tabba wrote:
> The Arm errata covered by ARM64_WORKAROUND_CLEAN_CACHE require
> that "dc cvau" instructions get promoted to "dc civac".
>
> Reported-by: Mark Rutland <mark.rutland@arm.com>
> Signed-off-by: Fuad Tabba <tabba@google.com>

Acked-by: Mark Rutland <mark.rutland@arm.com>

Mark.

> ---
> arch/arm64/kernel/hibernate-asm.S | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/kernel/hibernate-asm.S b/arch/arm64/kernel/hibernate-asm.S
> index 8ccca660034e..0ed2f72a6b94 100644
> --- a/arch/arm64/kernel/hibernate-asm.S
> +++ b/arch/arm64/kernel/hibernate-asm.S
> @@ -91,7 +91,8 @@ SYM_CODE_START(swsusp_arch_suspend_exit)
> raw_dcache_line_size x2, x3
> sub x3, x2, #1
> bic x4, x10, x3
> -2: dc cvau, x4 /* clean D line / unified line */
> +2: /* clean D line / unified line */
> +alternative_insn "dc cvau, x4", "dc civac, x4", ARM64_WORKAROUND_CLEAN_CACHE
> add x4, x4, x2
> cmp x4, x1
> b.lo 2b
> --
> 2.31.1.751.gd2f1c929bd-goog