arm64: cpufeature: add feature for CRC32 instructions
Add a CRC32 feature bit and wire it up to the CPU id register so we will be able to use alternatives patching for CRC32 operations. Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
parent
9784d82db3
commit
86d0dd34ea
|
@ -51,7 +51,8 @@
|
||||||
#define ARM64_SSBD 30
|
#define ARM64_SSBD 30
|
||||||
#define ARM64_MISMATCHED_CACHE_TYPE 31
|
#define ARM64_MISMATCHED_CACHE_TYPE 31
|
||||||
#define ARM64_HAS_STAGE2_FWB 32
|
#define ARM64_HAS_STAGE2_FWB 32
|
||||||
|
#define ARM64_HAS_CRC32 33
|
||||||
|
|
||||||
#define ARM64_NCAPS 33
|
#define ARM64_NCAPS 34
|
||||||
|
|
||||||
#endif /* __ASM_CPUCAPS_H */
|
#endif /* __ASM_CPUCAPS_H */
|
||||||
|
|
|
@ -1222,6 +1222,15 @@ static const struct arm64_cpu_capabilities arm64_features[] = {
|
||||||
.cpu_enable = cpu_enable_hw_dbm,
|
.cpu_enable = cpu_enable_hw_dbm,
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
{
|
||||||
|
.desc = "CRC32 instructions",
|
||||||
|
.capability = ARM64_HAS_CRC32,
|
||||||
|
.type = ARM64_CPUCAP_SYSTEM_FEATURE,
|
||||||
|
.matches = has_cpuid_feature,
|
||||||
|
.sys_reg = SYS_ID_AA64ISAR0_EL1,
|
||||||
|
.field_pos = ID_AA64ISAR0_CRC32_SHIFT,
|
||||||
|
.min_field_value = 1,
|
||||||
|
},
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue