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] -=-=-=-=-=-=-=-=-=-=-=-