diff mbox series

arm64: fix ARM64_USER_VA_BITS_52 builds

Message ID 20181211140832.567893-1-arnd@arndb.de
State Accepted
Commit 4d08d20f1c94b2da5847d3f9ba6c93ae5b1520c2
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(-)

-- 
2.20.0

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