diff options
author | Antonio Nino Diaz <antonio.ninodiaz@arm.com> | 2019-03-01 09:35:26 +0000 |
---|---|---|
committer | Antonio Nino Diaz <antonio.ninodiaz@arm.com> | 2019-03-01 10:13:39 +0000 |
commit | b6fd41837f3ff233aeb0be908d5065a86219242b (patch) | |
tree | 9a0f129b5f080a1401fc85110f5acaa1b11925a2 /include/arch | |
parent | 4476838ae8c03087c4172de393a9c7c8b13dc393 (diff) |
Correctly check for support of Address Authentication
Check for both IMPLEMENTATION_DEFINED and Architected algorithms of
Address Authentication.
Change-Id: I209dcc6087172cfef7baf8d09e0454628f02cbd0
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Diffstat (limited to 'include/arch')
-rw-r--r-- | include/arch/aarch64/arch_features.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/include/arch/aarch64/arch_features.h b/include/arch/aarch64/arch_features.h index 495ecb3a..6af1d039 100644 --- a/include/arch/aarch64/arch_features.h +++ b/include/arch/aarch64/arch_features.h @@ -34,10 +34,12 @@ static inline bool is_armv8_3_pauth_present(void) 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) & - ID_AA64ISAR1_API_MASK) != 0U; + uint64_t mask = (ID_AA64ISAR1_API_MASK << ID_AA64ISAR1_API_SHIFT) | + (ID_AA64ISAR1_APA_MASK << ID_AA64ISAR1_APA_SHIFT); + + return (read_id_aa64isar1_el1() & mask) != 0U; } static inline bool is_armv8_4_ttst_present(void) |