Re: [PATCH] arm64: fix ARM64_USER_VA_BITS_52 builds

From: Will Deacon
Date: Tue Dec 11 2018 - 09:18:22 EST


On Tue, Dec 11, 2018 at 03:08:10PM +0100, Arnd Bergmann wrote:
> In some randconfig builds, the new CONFIG_ARM64_USER_VA_BITS_52
> triggered a build failure:
>
> arch/arm64/mm/proc.S:287: Error: immediate out of range
>
> As it turns out, we were incorrectly setting PGTABLE_LEVELS here,
> lacking any other default value.
> This fixes the calculation of CONFIG_PGTABLE_LEVELS to consider
> all combinations again.
>
> Fixes: 68d23da4373a ("arm64: Kconfig: Re-jig CONFIG options for 52-bit VA")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> arch/arm64/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index df201d93697d..a0f3b921b6e6 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -278,7 +278,7 @@ config PGTABLE_LEVELS
> int
> default 2 if ARM64_16K_PAGES && ARM64_VA_BITS_36
> default 2 if ARM64_64K_PAGES && ARM64_VA_BITS_42
> - default 3 if ARM64_64K_PAGES && ARM64_VA_BITS_48
> + default 3 if ARM64_64K_PAGES && (ARM64_VA_BITS_48 || ARM64_USER_VA_BITS_52)
> default 3 if ARM64_4K_PAGES && ARM64_VA_BITS_39
> default 3 if ARM64_16K_PAGES && ARM64_VA_BITS_47
> default 4 if !ARM64_64K_PAGES && ARM64_VA_BITS_48

Thanks, Arnd. I'll pick this one up too.

Will