From c4eb050a898566cc6381dcbf90ea39e454b95bfe Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 9 Sep 2020 23:24:13 +0800 Subject: [PATCH] arm64: Advertise ARM64_HAS_DCPODP cpu feature mainline inclusion from v5.2-rc1 commit b9585f53bcf1 category: feature bugzilla: 30110 CVE: NA ------------------------------------------------- Advertise ARM64_HAS_DCPODP when both DC CVAP and DC CVADP are supported. Even though we don't use this feature now, we provide it for consistency with DCPOP and anticipate it being used in the future. conflict: arch/arm64/include/asm/cpucaps.h Signed-off-by: Andrew Murray Reviewed-by: Dave Martin Reviewed-by: Suzuki K Poulose Signed-off-by: Will Deacon Signed-off-by: Hongbo Yao Signed-off-by: Wang Wensheng Reviewed-by: Xie XiuQi Signed-off-by: Yang Yingliang --- arch/arm64/include/asm/cpucaps.h | 3 ++- arch/arm64/kernel/cpufeature.c | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/arch/arm64/include/asm/cpucaps.h b/arch/arm64/include/asm/cpucaps.h index 92d1f3cd8057..5935aadc065f 100644 --- a/arch/arm64/include/asm/cpucaps.h +++ b/arch/arm64/include/asm/cpucaps.h @@ -67,7 +67,8 @@ #define ARM64_HAS_GENERIC_AUTH 46 #define ARM64_HAS_CNP 47 #define ARM64_HAS_ARMv8_4_TTL 48 +#define ARM64_HAS_DCPODP 49 -#define ARM64_NCAPS 49 +#define ARM64_NCAPS 50 #endif /* __ASM_CPUCAPS_H */ diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index 230cf04c83a6..056c1d2f20c6 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -1490,6 +1490,16 @@ static const struct arm64_cpu_capabilities arm64_features[] = { .field_pos = ID_AA64ISAR1_DPB_SHIFT, .min_field_value = 1, }, + { + .desc = "Data cache clean to Point of Deep Persistence", + .capability = ARM64_HAS_DCPODP, + .type = ARM64_CPUCAP_SYSTEM_FEATURE, + .matches = has_cpuid_feature, + .sys_reg = SYS_ID_AA64ISAR1_EL1, + .sign = FTR_UNSIGNED, + .field_pos = ID_AA64ISAR1_DPB_SHIFT, + .min_field_value = 2, + }, #endif #ifdef CONFIG_ARM64_SVE { -- GitLab