test(pauth): updated helpers to include QARMA3
QARMA3 is a pointer authentication algorithm introduced by v8.3
extensions. Previous tests did not consider the possible presence
of QARMA3 algorithm, as it was released in v8.8. This algorithm
can be detected through fields ID_AA64ISAR2_EL1.{GPA3, APA3} when
they are not 0.
This patch modifies the helper function that detects the presence
of PAuth, considering the possibility of having QARMA3 available.
In addition, is_armv8_3_pauth_gpa_gpi_present() and
is_armv8_3_pauth_apa_api_present() were modified to take into
account fields GPA3 and APA3 (from ID_AA64ISAR2_EL1) respectively.
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
Change-Id: I486c6d3118a040b3352eff2b0d5709baf0518314
diff --git a/include/lib/aarch64/arch.h b/include/lib/aarch64/arch.h
index 0c36785..534e1cf 100644
--- a/include/lib/aarch64/arch.h
+++ b/include/lib/aarch64/arch.h
@@ -215,6 +215,10 @@
#define ID_AA64ISAR2_WFXT_MASK ULL(0xf)
#define ID_AA64ISAR2_WFXT_SHIFT U(0x0)
#define ID_AA64ISAR2_WFXT_SUPPORTED ULL(0x2)
+#define ID_AA64ISAR2_GPA3_SHIFT U(8)
+#define ID_AA64ISAR2_GPA3_MASK ULL(0xf)
+#define ID_AA64ISAR2_APA3_SHIFT U(12)
+#define ID_AA64ISAR2_APA3_MASK ULL(0xf)
/* ID_AA64MMFR0_EL1 definitions */
#define ID_AA64MMFR0_EL1_PARANGE_SHIFT U(0)