Merge pull request #1851 from antonio-nino-diaz-arm/an/pauth
Correctly check for support of Address Authentication
This commit is contained in:
commit
fb70e56d6a
|
@ -265,7 +265,7 @@ void bl_handle_pauth(void)
|
||||||
* system registers. Pointer authentication can't be enabled here or the
|
* system registers. Pointer authentication can't be enabled here or the
|
||||||
* authentication will fail when returning from this function.
|
* authentication will fail when returning from this function.
|
||||||
*/
|
*/
|
||||||
assert(is_armv8_3_pauth_api_present());
|
assert(is_armv8_3_pauth_apa_api_present());
|
||||||
|
|
||||||
uint64_t *apiakey = plat_init_apiakey();
|
uint64_t *apiakey = plat_init_apiakey();
|
||||||
|
|
||||||
|
|
|
@ -34,10 +34,12 @@ static inline bool is_armv8_3_pauth_present(void)
|
||||||
return (read_id_aa64isar1_el1() & mask) != 0U;
|
return (read_id_aa64isar1_el1() & mask) != 0U;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool is_armv8_3_pauth_api_present(void)
|
static inline bool is_armv8_3_pauth_apa_api_present(void)
|
||||||
{
|
{
|
||||||
return ((read_id_aa64isar1_el1() >> ID_AA64ISAR1_API_SHIFT) &
|
uint64_t mask = (ID_AA64ISAR1_API_MASK << ID_AA64ISAR1_API_SHIFT) |
|
||||||
ID_AA64ISAR1_API_MASK) != 0U;
|
(ID_AA64ISAR1_APA_MASK << ID_AA64ISAR1_APA_SHIFT);
|
||||||
|
|
||||||
|
return (read_id_aa64isar1_el1() & mask) != 0U;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool is_armv8_4_ttst_present(void)
|
static inline bool is_armv8_4_ttst_present(void)
|
||||||
|
|
Loading…
Reference in New Issue