[PATCH v2 07/14] arm64: Make the PHYS_MASK_SHIFT dynamic

Catalin Marinas catalin.marinas at arm.com
Mon May 13 09:38:53 PDT 2024


On Fri, Apr 12, 2024 at 09:42:06AM +0100, Steven Price wrote:
> diff --git a/arch/arm64/include/asm/kvm_arm.h b/arch/arm64/include/asm/kvm_arm.h
> index e01bb5ca13b7..9944aca348bd 100644
> --- a/arch/arm64/include/asm/kvm_arm.h
> +++ b/arch/arm64/include/asm/kvm_arm.h
> @@ -398,7 +398,7 @@
>   * bits in PAR are res0.
>   */
>  #define PAR_TO_HPFAR(par)		\
> -	(((par) & GENMASK_ULL(52 - 1, 12)) >> 8)
> +	(((par) & GENMASK_ULL(MAX_PHYS_MASK_SHIFT - 1, 12)) >> 8)

Why does this need to be changed? It's still a constant not dependent on
the new dynamic IPA size.

> diff --git a/arch/arm64/include/asm/pgtable-hwdef.h b/arch/arm64/include/asm/pgtable-hwdef.h
> index ef207a0d4f0d..90dc292bed5f 100644
> --- a/arch/arm64/include/asm/pgtable-hwdef.h
> +++ b/arch/arm64/include/asm/pgtable-hwdef.h
> @@ -206,8 +206,8 @@
>  /*
>   * Highest possible physical address supported.
>   */
> -#define PHYS_MASK_SHIFT		(CONFIG_ARM64_PA_BITS)
> -#define PHYS_MASK		((UL(1) << PHYS_MASK_SHIFT) - 1)
> +#define MAX_PHYS_MASK_SHIFT	(CONFIG_ARM64_PA_BITS)
> +#define MAX_PHYS_MASK		((UL(1) << PHYS_MASK_SHIFT) - 1)

I prefer to have MAX as suffix in those definitions, it matches other
places like TASK_SIZE_MAX, PHYS_ADDR_MAX (I know PHYS_MASK_MAX doesn't
roll off the tongue easily but very few people tend to read the kernel
aloud ;)).

-- 
Catalin



More information about the linux-arm-kernel mailing list