diff mbox series

arm64: fix ARM64_USER_VA_BITS_52 builds

Message ID 20181211140832.567893-1-arnd@arndb.de (mailing list archive)
State New, archived
Headers show
Series arm64: fix ARM64_USER_VA_BITS_52 builds | expand

Commit Message

Arnd Bergmann Dec. 11, 2018, 2:08 p.m. UTC
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@arndb.de>
---
 arch/arm64/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Will Deacon Dec. 11, 2018, 2:18 p.m. UTC | #1
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@arndb.de>
> ---
>  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
diff mbox series

Patch

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