diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 8dc937823eeb..337a696c9b02 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -656,11 +656,24 @@ choice config ARM64_PA_BITS_48 bool "48-bit" +config ARM64_PA_BITS_52 + bool "52-bit (ARMv8.2)" + depends on ARM64_64K_PAGES + depends on ARM64_PAN || !ARM64_SW_TTBR0_PAN + help + Enable support for a 52-bit physical address space, introduced as + part of the ARMv8.2-LPA extension. + + With this enabled, the kernel will also continue to work on CPUs that + do not support ARMv8.2-LPA, but with some added memory overhead (and + minor performance overhead). + endchoice config ARM64_PA_BITS int default 48 if ARM64_PA_BITS_48 + default 52 if ARM64_PA_BITS_52 config CPU_BIG_ENDIAN bool "Build big-endian kernel"