summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorBoyan Karatotev <boyan.karatotev@arm.com>2026-02-04 08:52:10 +0000
committerBoyan Karatotev <boyan.karatotev@arm.com>2026-02-27 15:03:59 +0000
commitbef48492271e195e6c8267ff7b9c0af0cf807d93 (patch)
treef0bf39e5e75770b7154b32df49f4643a82c3dae6 /common
parent59cc811b442900756c7bcc94dd58c5217eda1002 (diff)
downloadarm-trusted-firmware-bef48492271e195e6c8267ff7b9c0af0cf807d93.tar.gz
arm-trusted-firmware-bef48492271e195e6c8267ff7b9c0af0cf807d93.zip
feat(cpufeat): bump FEATURE_DETECTION features up to 9.5
FEAT_LSE has a new revision FEAT_LSE128 which requires no support but we tolerate. FEAT_MTPMU has the 0b1111 variant that was never checked but is perfectly valid from the point of view of the flag - the MTPMU is disabled even though the feature isn't implemented. Change-Id: I0a89eb5ade96e42bfeeb50cc54fad84ab5d60415 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Diffstat (limited to 'common')
-rw-r--r--common/feat_detect.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/common/feat_detect.c b/common/feat_detect.c
index 8d58d6898..9ecda02e6 100644
--- a/common/feat_detect.c
+++ b/common/feat_detect.c
@@ -407,7 +407,7 @@ void detect_arch_features(unsigned int core_pos)
"PMUv3", 1, ID_AA64DFR0_PMUVER_PMUV3P9);
tainted |= check_feature(USE_SPINLOCK_CAS, read_feat_lse_id_field(),
- "LSE", 2, 2);
+ "LSE", 2, 3);
/* v8.1 features */
tainted |= check_feature(ENABLE_FEAT_PAN, read_feat_pan_id_field(),
@@ -472,7 +472,10 @@ void detect_arch_features(unsigned int core_pos)
* feature when we intend to diverge from the default behaviour
*/
tainted |= check_feature(DISABLE_MTPMU, read_feat_mtpmu_id_field(),
- "MTPMU", 1, 1);
+ "MTPMU", 1, 15);
+ if (read_feat_mtpmu_id_field() == 15) {
+ WARN("DISABLE_MTPMU is implemented in hardware, flag is redundant.\n");
+ }
/* v8.7 features */
tainted |= check_feature(ENABLE_FEAT_HCX, read_feat_hcx_id_field(),