[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