[PATCH v2 2/3] arm64: Kill detection of VPIPT i-cache policy

Anshuman Khandual anshuman.khandual at arm.com
Tue Nov 28 23:25:08 PST 2023



On 11/27/23 22:56, Marc Zyngier wrote:
> Since the kernel will never run on a system with the VPIPT i-cache
> policy, drop the detection code altogether.
> 
> Signed-off-by: Marc Zyngier <maz at kernel.org>

Reviewed-by: Anshuman Khandual <anshuman.khandual at arm.com>

> ---
>  arch/arm64/include/asm/cache.h | 6 ------
>  arch/arm64/kernel/cpuinfo.c    | 5 -----
>  2 files changed, 11 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/cache.h b/arch/arm64/include/asm/cache.h
> index ceb368d33bf4..06a4670bdb0b 100644
> --- a/arch/arm64/include/asm/cache.h
> +++ b/arch/arm64/include/asm/cache.h
> @@ -58,7 +58,6 @@ static inline unsigned int arch_slab_minalign(void)
>  #define CTR_L1IP(ctr)		SYS_FIELD_GET(CTR_EL0, L1Ip, ctr)
>  
>  #define ICACHEF_ALIASING	0
> -#define ICACHEF_VPIPT		1
>  extern unsigned long __icache_flags;
>  
>  /*
> @@ -70,11 +69,6 @@ static inline int icache_is_aliasing(void)
>  	return test_bit(ICACHEF_ALIASING, &__icache_flags);
>  }
>  
> -static __always_inline int icache_is_vpipt(void)
> -{
> -	return test_bit(ICACHEF_VPIPT, &__icache_flags);
> -}
> -
>  static inline u32 cache_type_cwg(void)
>  {
>  	return SYS_FIELD_GET(CTR_EL0, CWG, read_cpuid_cachetype());
> diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c
> index a257da7b56fe..47043c0d95ec 100644
> --- a/arch/arm64/kernel/cpuinfo.c
> +++ b/arch/arm64/kernel/cpuinfo.c
> @@ -36,8 +36,6 @@ static struct cpuinfo_arm64 boot_cpu_data;
>  static inline const char *icache_policy_str(int l1ip)
>  {
>  	switch (l1ip) {
> -	case CTR_EL0_L1Ip_VPIPT:
> -		return "VPIPT";
>  	case CTR_EL0_L1Ip_VIPT:
>  		return "VIPT";
>  	case CTR_EL0_L1Ip_PIPT:
> @@ -388,9 +386,6 @@ static void cpuinfo_detect_icache_policy(struct cpuinfo_arm64 *info)
>  	switch (l1ip) {
>  	case CTR_EL0_L1Ip_PIPT:
>  		break;
> -	case CTR_EL0_L1Ip_VPIPT:
> -		set_bit(ICACHEF_VPIPT, &__icache_flags);
> -		break;
>  	case CTR_EL0_L1Ip_VIPT:
>  	default:
>  		/* Assume aliasing */



More information about the linux-arm-kernel mailing list