fix(cpufeat): update FEAT_PAUTH's feat detect line to tri-state

Since patch 8d9f5f258, FEAT_PAUTH has supported the tri-state framework.
This part was missed, update it.

Change-Id: I3e086865df4d852e9d31a04cd8150d9d8a4dd2b8
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
This commit is contained in:
Boyan Karatotev 2025-07-03 15:25:55 +01:00
parent 0f57a3889c
commit e293fcadee

View File

@ -63,16 +63,6 @@ check_feature(int state, unsigned long field, const char *feat_name,
return false; return false;
} }
/************************************************
* Feature : FEAT_PAUTH (Pointer Authentication)
***********************************************/
static void read_feat_pauth(void)
{
#if (ENABLE_PAUTH == FEAT_STATE_ALWAYS) || (CTX_INCLUDE_PAUTH_REGS == FEAT_STATE_ALWAYS)
feat_detect_panic(is_feat_pauth_present(), "PAUTH");
#endif
}
static unsigned int read_feat_rng_trap_id_field(void) static unsigned int read_feat_rng_trap_id_field(void)
{ {
return ISOLATE_FIELD(read_id_aa64pfr1_el1(), ID_AA64PFR1_EL1_RNDR_TRAP_SHIFT, return ISOLATE_FIELD(read_id_aa64pfr1_el1(), ID_AA64PFR1_EL1_RNDR_TRAP_SHIFT,
@ -365,8 +355,9 @@ void detect_arch_features(unsigned int core_pos)
"RAS", 1, 2); "RAS", 1, 2);
/* v8.3 features */ /* v8.3 features */
/* TODO: Pauth yet to convert to tri-state feat detect logic */ /* the PAuth fields are very complicated, no min/max is checked */
read_feat_pauth(); tainted |= check_feature(ENABLE_PAUTH, is_feat_pauth_present(),
"PAUTH", 1, 1);
/* v8.4 features */ /* v8.4 features */
tainted |= check_feature(ENABLE_FEAT_DIT, read_feat_dit_id_field(), tainted |= check_feature(ENABLE_FEAT_DIT, read_feat_dit_id_field(),