https://developer.arm.com/documentation/ddi0601/2023-12/ lists
more system registers than EDK2 supports now.

ISAR3, MMFR3, MMFR4, PFR2, FPFR0 were added.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiew...@linaro.org>
---
 ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h    | 34 ++++++++++++++++---
 .../Library/ArmLib/AArch64/AArch64Support.S   | 31 +++++++++++++++++
 2 files changed, 61 insertions(+), 4 deletions(-)

diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h 
b/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h
index 2fd256f4acc8..172b73f7acad 100644
--- a/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h
+++ b/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h
@@ -50,6 +50,12 @@ ArmReadIdAA64Dfr1 (
   VOID
   );
 
+UINTN
+EFIAPI
+ArmReadIdAA64Fpfr0 (
+  VOID
+  );
+
 UINTN
 EFIAPI
 ArmReadIdAA64Isar0 (
@@ -68,6 +74,12 @@ ArmReadIdAA64Isar2 (
   VOID
   );
 
+UINTN
+EFIAPI
+ArmReadIdAA64Isar3 (
+  VOID
+  );
+
 UINTN
 EFIAPI
 ArmReadIdAA64Mmfr0 (
@@ -80,16 +92,24 @@ ArmReadIdAA64Mmfr1 (
   VOID
   );
 
-/** Reads the ID_AA64MMFR2_EL1 register.
-
-   @return The contents of the ID_AA64MMFR2_EL1 register.
-**/
 UINTN
 EFIAPI
 ArmReadIdAA64Mmfr2 (
   VOID
   );
 
+UINTN
+EFIAPI
+ArmReadIdAA64Mmfr3 (
+  VOID
+  );
+
+UINTN
+EFIAPI
+ArmReadIdAA64Mmfr4 (
+  VOID
+  );
+
 UINTN
 EFIAPI
 ArmReadIdAA64Pfr0 (
@@ -102,6 +122,12 @@ ArmReadIdAA64Pfr1 (
   VOID
   );
 
+UINTN
+EFIAPI
+ArmReadIdAA64Pfr2 (
+  VOID
+  );
+
 UINTN
 EFIAPI
 ArmReadIdAA64Smfr0 (
diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S 
b/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S
index 0e8e7b5cf0e6..b007aef67adf 100644
--- a/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S
+++ b/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S
@@ -485,6 +485,12 @@ ASM_FUNC(ArmReadIdAA64Dfr1)
   ret
 
 
+ASM_FUNC(ArmReadIdAA64Fpfr0)
+  mrs   x0, s3_0_c0_c4_7
+#  mrs   x0, ID_AA64FPFR0_EL1
+  ret
+
+
 ASM_FUNC(ArmReadIdAA64Isar0)
   mrs   x0, ID_AA64ISAR0_EL1
   ret
@@ -500,6 +506,12 @@ ASM_FUNC(ArmReadIdAA64Isar2)
   ret
 
 
+ASM_FUNC(ArmReadIdAA64Isar3)
+  mrs   x0, s3_0_c0_c6_3
+#  mrs   x0, ID_AA64ISAR3_EL1
+  ret
+
+
 ASM_FUNC(ArmReadIdAA64Mmfr0)
   mrs   x0, ID_AA64MMFR0_EL1
   ret
@@ -515,6 +527,18 @@ ASM_FUNC(ArmReadIdAA64Mmfr2)
   ret
 
 
+ASM_FUNC(ArmReadIdAA64Mmfr3)
+  mrs   x0, s3_0_c0_c7_3
+#  mrs   x0, ID_AA64MMFR3_EL1
+  ret
+
+
+ASM_FUNC(ArmReadIdAA64Mmfr4)
+  mrs   x0, s3_0_c0_c7_4
+#  mrs   x0, ID_AA64MMFR4_EL1
+  ret
+
+
 ASM_FUNC(ArmReadIdAA64Pfr0)
   mrs   x0, ID_AA64PFR0_EL1
   ret
@@ -524,6 +548,13 @@ ASM_FUNC(ArmReadIdAA64Pfr1)
   mrs   x0, ID_AA64PFR1_EL1
   ret
 
+
+ASM_FUNC(ArmReadIdAA64Pfr2)
+  mrs   x0, s3_0_c0_c4_2
+#  mrs   x0, ID_AA64PFR2_EL1
+  ret
+
+
 ASM_FUNC(ArmReadIdAA64Smfr0)
   mrs   x0, ID_AA64SMFR0_EL1
   ret
--
2.43.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#115880): https://edk2.groups.io/g/devel/message/115880
Mute This Topic: https://groups.io/mt/104526094/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to