@@ -321,6 +321,7 @@ static const struct arm64_ftr_bits ftr_id_aa64pfr1[] = {
321
321
static const struct arm64_ftr_bits ftr_id_aa64pfr2 [] = {
322
322
ARM64_FTR_BITS (FTR_VISIBLE , FTR_STRICT , FTR_LOWER_SAFE , ID_AA64PFR2_EL1_FPMR_SHIFT , 4 , 0 ),
323
323
ARM64_FTR_BITS (FTR_VISIBLE , FTR_NONSTRICT , FTR_LOWER_SAFE , ID_AA64PFR2_EL1_MTEFAR_SHIFT , 4 , ID_AA64PFR2_EL1_MTEFAR_NI ),
324
+ ARM64_FTR_BITS (FTR_VISIBLE , FTR_NONSTRICT , FTR_LOWER_SAFE , ID_AA64PFR2_EL1_MTESTOREONLY_SHIFT , 4 , ID_AA64PFR2_EL1_MTESTOREONLY_NI ),
324
325
ARM64_FTR_END ,
325
326
};
326
327
@@ -2882,6 +2883,13 @@ static const struct arm64_cpu_capabilities arm64_features[] = {
2882
2883
.matches = has_cpuid_feature ,
2883
2884
ARM64_CPUID_FIELDS (ID_AA64PFR2_EL1 , MTEFAR , IMP )
2884
2885
},
2886
+ {
2887
+ .desc = "Store Only MTE Tag Check" ,
2888
+ .capability = ARM64_MTE_STORE_ONLY ,
2889
+ .type = ARM64_CPUCAP_SYSTEM_FEATURE ,
2890
+ .matches = has_cpuid_feature ,
2891
+ ARM64_CPUID_FIELDS (ID_AA64PFR2_EL1 , MTESTOREONLY , IMP )
2892
+ },
2885
2893
#endif /* CONFIG_ARM64_MTE */
2886
2894
{
2887
2895
.desc = "RCpc load-acquire (LDAPR)" ,
0 commit comments