On Fri, 7 May 2021 at 16:23, Rebecca Cran <rebe...@nuviainc.com> wrote: > > Update MdePkg BaseRngLib and SecurityPkg RngDxe to add support for > the AARCH64 RNDR instruction. > > Changes from v1 to v2: > > o Added a PCD, gEfiSecurityPkgTokenSpaceGuid.PcdCpuRngSupportedAlgorithm to > specify which algorighm the platform supports. > o Moved ArmRndr() and ArmRndrrs() into BaseRngLib. > o Added Doxygen headers. > o Merged X64 and AARCH64 *GetBytes functions into a single RngGetBytes > function. > o Updated constructors to return EFI_STATUS instead of RETURN_STATUS. > o Added ArchIsRngSupported function that gets called before each call to > ArchGetRandomNumber*. > > Rebecca Cran (2): > MdePkg/BaseRngLib: Add support for ARMv8.5 RNG instructions > SecurityPkg: Add support for RngDxe on AARCH64 >
I don't maintain any of the packages involved, but the changes look fine to me. Acked-by: Ard Biesheuvel <a...@kernel.org> > MdePkg/MdePkg.dec | 9 +- > SecurityPkg/SecurityPkg.dec | 2 + > MdePkg/MdePkg.dsc | 4 +- > SecurityPkg/SecurityPkg.dsc | 11 +- > MdePkg/Library/BaseRngLib/BaseRngLib.inf | 23 ++- > SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf | 24 ++- > MdePkg/Library/BaseRngLib/AArch64/ArmRng.h | 59 +++++++ > MdePkg/Library/BaseRngLib/BaseRngLibInternals.h | 79 +++++++++ > SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/AesCore.h | 0 > SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/RdRand.h | 17 -- > SecurityPkg/RandomNumberGenerator/RngDxe/RngDxeInternals.h | 117 > ++++++++++++++ > MdePkg/Library/BaseRngLib/AArch64/Rndr.c | 139 > ++++++++++++++++ > MdePkg/Library/BaseRngLib/BaseRng.c | 87 > +++++----- > MdePkg/Library/BaseRngLib/Rand/RdRand.c | 131 > +++++++++++++++ > SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/RngDxe.c | 127 > +++++++++++++++ > SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/AesCore.c | 0 > SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/RdRand.c | 45 +----- > SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c | 146 > +++++++++++++++++ > SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.c | 170 > ++++++++------------ > MdePkg/Library/BaseRngLib/AArch64/ArmReadIdIsar0.S | 31 ++++ > MdePkg/Library/BaseRngLib/AArch64/ArmReadIdIsar0.asm | 30 ++++ > MdePkg/Library/BaseRngLib/AArch64/ArmRng.S | 61 +++++++ > MdePkg/Library/BaseRngLib/AArch64/ArmRng.asm | 64 ++++++++ > MdePkg/Library/BaseRngLib/BaseRngLib.uni | 6 +- > 24 files changed, 1152 insertions(+), 230 deletions(-) > create mode 100644 MdePkg/Library/BaseRngLib/AArch64/ArmRng.h > create mode 100644 MdePkg/Library/BaseRngLib/BaseRngLibInternals.h > rename SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/AesCore.h (100%) > rename SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/RdRand.h (72%) > create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/RngDxeInternals.h > create mode 100644 MdePkg/Library/BaseRngLib/AArch64/Rndr.c > create mode 100644 MdePkg/Library/BaseRngLib/Rand/RdRand.c > create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/RngDxe.c > rename SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/AesCore.c (100%) > rename SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/RdRand.c (71%) > create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c > create mode 100644 MdePkg/Library/BaseRngLib/AArch64/ArmReadIdIsar0.S > create mode 100644 MdePkg/Library/BaseRngLib/AArch64/ArmReadIdIsar0.asm > create mode 100644 MdePkg/Library/BaseRngLib/AArch64/ArmRng.S > create mode 100644 MdePkg/Library/BaseRngLib/AArch64/ArmRng.asm > > -- > 2.26.2 > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#74821): https://edk2.groups.io/g/devel/message/74821 Mute This Topic: https://groups.io/mt/82656488/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-