[PATCH v1] arm64: mm: fix resume for 52-bit enabled builds

Ard Biesheuvel ardb at kernel.org
Fri Sep 9 02:11:29 PDT 2022


On Fri, 9 Sept 2022 at 10:38, Joey Gouly <joey.gouly at arm.com> wrote:
>
> __cpu_setup() was changed to take the actual number of VA bits in x0,
> however the resume path was not updated at the same time.
>
> Load `vabits_actual` in the resume path, to ensure that the correct
> number of VA bits is used.
>
> This fixes booting v6.0-rc kernels on my Juno.
>
> Fixes: 0aaa68532e9d ("arm64: mm: fix booting with 52-bit address space")
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Will Deacon <will at kernel.org>
> Cc: Ard Biesheuvel <ardb at kernel.org>

Yup. I missed that one - thanks for fixing it.

Acked-by: Ard Biesheuvel <ardb at kernel.org>

> ---
>  arch/arm64/kernel/sleep.S | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm64/kernel/sleep.S b/arch/arm64/kernel/sleep.S
> index 617f78ad43a1..97c9de57725d 100644
> --- a/arch/arm64/kernel/sleep.S
> +++ b/arch/arm64/kernel/sleep.S
> @@ -101,6 +101,9 @@ SYM_FUNC_END(__cpu_suspend_enter)
>  SYM_CODE_START(cpu_resume)
>         bl      init_kernel_el
>         bl      finalise_el2
> +#if VA_BITS > 48
> +       ldr_l   x0, vabits_actual
> +#endif
>         bl      __cpu_setup
>         /* enable the MMU early - so we can access sleep_save_stash by va */
>         adrp    x1, swapper_pg_dir
> --
> 2.17.1
>



More information about the linux-arm-kernel mailing list