Re: [RFC V2 05/10] arm64/mm: Add CONFIG_ARM64_PA_BITS_52_[LPA|LPA2]

From: Catalin Marinas
Date: Thu Aug 05 2021 - 13:26:06 EST


On Mon, Jul 26, 2021 at 12:07:20PM +0530, Anshuman Khandual wrote:
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index b5b13a9..1999ac6 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -934,6 +934,12 @@ config ARM64_VA_BITS
> default 48 if ARM64_VA_BITS_48
> default 52 if ARM64_VA_BITS_52
>
> +config ARM64_PA_BITS_52_LPA
> + bool
> +
> +config ARM64_PA_BITS_52_LPA2
> + bool
> +
> choice
> prompt "Physical address space size"
> default ARM64_PA_BITS_48
> @@ -948,6 +954,7 @@ config ARM64_PA_BITS_52
> bool "52-bit (ARMv8.2)"
> depends on ARM64_64K_PAGES
> depends on ARM64_PAN || !ARM64_SW_TTBR0_PAN
> + select ARM64_PA_BITS_52_LPA if ARM64_64K_PAGES
> help
> Enable support for a 52-bit physical address space, introduced as
> part of the ARMv8.2-LPA extension.

Do we actually need to bother with LPA, LPA2 options? We could just add
an extra defined(ARM64_64K_PAGES) in places, it may be easier to follow
in a few years time when we won't remember what LPA or LPA2 was. I
haven't got to the rest of the patches but it may just be simpler to
define the shifts separately for 52-bit based on 4K/16K/64K and ignore
the LPA/LPA2 distinction altogether (we'll still keep it for CPUID
checking though).

--
Catalin