ID_AA64ZFR0_EL1 and ID_AA64SMFR0_EL1 system registers are needed for ArmCpuInfo application to show state of SVE/SME support.
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiew...@linaro.org> --- ArmPkg/Library/ArmLib/ArmBaseLib.inf | 5 +++++ ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h | 12 ++++++++++++ ArmPkg/Library/ArmLib/AArch64/AArch64Support.S | 10 ++++++++++ 3 files changed, 27 insertions(+) diff --git a/ArmPkg/Library/ArmLib/ArmBaseLib.inf b/ArmPkg/Library/ArmLib/ArmBaseLib.inf index e37d85bee471..8b5eda337fe3 100644 --- a/ArmPkg/Library/ArmLib/ArmBaseLib.inf +++ b/ArmPkg/Library/ArmLib/ArmBaseLib.inf @@ -48,3 +48,8 @@ [Packages] [FeaturePcd.ARM] gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride + +# to access ID_AA64ZFR0_EL1 and ID_AA64SMFR0_EL1 system registers +# we need to enable SME +[BuildOptions] + GCC:*_*_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..c996fa8dbbc3 100644 --- a/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S +++ b/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S @@ -524,4 +524,14 @@ ASM_FUNC(ArmReadIdAA64Pfr1) mrs x0, ID_AA64PFR1_EL1 ret + +ASM_FUNC(ArmReadIdAA64Smfr0) + mrs x0, ID_AA64SMFR0_EL1 + ret + + +ASM_FUNC(ArmReadIdAA64Zfr0) + mrs x0, ID_AA64ZFR0_EL1 + ret + ASM_FUNCTION_REMOVE_IF_UNREFERENCED -- 2.40.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#105696): https://edk2.groups.io/g/devel/message/105696 Mute This Topic: https://groups.io/mt/99335291/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-