arm64: Add a capability for FEAT_ECV
authorMarc Zyngier <maz@kernel.org>
Sun, 17 Oct 2021 12:42:22 +0000 (13:42 +0100)
committerWill Deacon <will@kernel.org>
Tue, 19 Oct 2021 09:56:20 +0000 (10:56 +0100)
Add a new capability to detect the Enhanced Counter Virtualization
feature (FEAT_ECV).

Reviewed-by: Oliver Upton <oupton@google.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211017124225.3018098-15-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/cpufeature.c
arch/arm64/tools/cpucaps

index 6ec7036..6fc3336 100644 (file)
@@ -1930,6 +1930,16 @@ static const struct arm64_cpu_capabilities arm64_features[] = {
                .sign = FTR_UNSIGNED,
                .min_field_value = 1,
        },
+       {
+               .desc = "Enhanced Counter Virtualization",
+               .capability = ARM64_HAS_ECV,
+               .type = ARM64_CPUCAP_SYSTEM_FEATURE,
+               .matches = has_cpuid_feature,
+               .sys_reg = SYS_ID_AA64MMFR0_EL1,
+               .field_pos = ID_AA64MMFR0_ECV_SHIFT,
+               .sign = FTR_UNSIGNED,
+               .min_field_value = 1,
+       },
 #ifdef CONFIG_ARM64_PAN
        {
                .desc = "Privileged Access Never",
index 49305c2..7a7c58a 100644 (file)
@@ -18,6 +18,7 @@ HAS_CRC32
 HAS_DCPODP
 HAS_DCPOP
 HAS_E0PD
+HAS_ECV
 HAS_EPAN
 HAS_GENERIC_AUTH
 HAS_GENERIC_AUTH_ARCH