There are functions to read DFR, MMFR, PFR system registers. So let add ones for SMFR0 and ZFR0 ones too.
ArmReadIdAA64Zfr0() uses s3_0_c0_c4_4 notation as clang 17 on my system does not recognize normal name. Bumps build flags to "armv8-a+sme" to get access to both registers. Signed-off-by: Marcin Juszkiewicz <marcin.juszkiew...@linaro.org> --- ArmPkg/Library/ArmLib/ArmBaseLib.inf | 4 ++++ ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h | 12 ++++++++++++ ArmPkg/Library/ArmLib/AArch64/AArch64Support.S | 11 +++++++++++ 3 files changed, 27 insertions(+) diff --git a/ArmPkg/Library/ArmLib/ArmBaseLib.inf b/ArmPkg/Library/ArmLib/ArmBaseLib.inf index e37d85bee471..2e8812e8a386 100644 --- a/ArmPkg/Library/ArmLib/ArmBaseLib.inf +++ b/ArmPkg/Library/ArmLib/ArmBaseLib.inf @@ -48,3 +48,7 @@ [Packages] [FeaturePcd.ARM] gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride + +[BuildOptions] + GCC:*_*_AARCH64_ASM_FLAGS = -march=armv8-a+sme + CLANGDWARF:*_*_AARCH64_ASM_FLAGS = -march=armv8-a+sme diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h b/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h index 6380a019ddc5..2fd256f4acc8 100644 --- a/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h +++ b/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h @@ -102,4 +102,16 @@ ArmReadIdAA64Pfr1 ( VOID ); +UINTN +EFIAPI +ArmReadIdAA64Smfr0 ( + VOID + ); + +UINTN +EFIAPI +ArmReadIdAA64Zfr0 ( + VOID + ); + #endif // AARCH64_LIB_H_ diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S b/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S index a7111e51882c..0e8e7b5cf0e6 100644 --- a/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S +++ b/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S @@ -524,4 +524,15 @@ ASM_FUNC(ArmReadIdAA64Pfr1) mrs x0, ID_AA64PFR1_EL1 ret +ASM_FUNC(ArmReadIdAA64Smfr0) + mrs x0, ID_AA64SMFR0_EL1 + ret + + +ASM_FUNC(ArmReadIdAA64Zfr0) + mrs x0, s3_0_c0_c4_4 +# mrs x0, ID_AA64ZFR0_EL1 + ret + + ASM_FUNCTION_REMOVE_IF_UNREFERENCED -- 2.43.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#115878): https://edk2.groups.io/g/devel/message/115878 Mute This Topic: https://groups.io/mt/104526092/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-