From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by mx.groups.io with SMTP id smtpd.web12.3148.1642574613680433421 for ; Tue, 18 Jan 2022 22:43:35 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: byosoft.com.cn, ip: 58.240.74.242, mailfrom: gaoliming@byosoft.com.cn) Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Wed, 19 Jan 2022 14:43:27 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-Originating-IP: 58.246.60.130 X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming" To: , , "'Jiewen Yao'" , "'Jian J Wang'" , "'Michael D Kinney'" , "'Zhiguang Liu'" , "'Ard Biesheuvel'" , "'Sami Mujawar'" , "'Rebecca Cran'" References: <20210510215308.28745-1-rebecca@nuviainc.com> In-Reply-To: Subject: =?UTF-8?B?5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYzIDAvMl0gTWRlUGtnLFNlY3VyaXR5UGtnOiBBZGQgc3VwcG9ydCB0byBSbmdEeGUgYW5kIEJhc2VSbmdMaWIgZm9yIEFBUkNINjQgUk5EUg==?= Date: Wed, 19 Jan 2022 14:43:30 +0800 Message-ID: <015c01d80cff$def4d250$9cde76f0$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQESC3XA47+pgLurJnrprr8HrGERAAFX5BsVresnAAA= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn Pierre: MdePkg can provide the arch specific implementation. BaseRngLib places th= e arch specific code into its Arch directory. If the arch logic is generic = enough, new API can be defined in BaseLib. Thanks Liming > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > =E5=8F=91=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io = =E4=BB=A3=E8=A1=A8 > PierreGondois > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2022=E5=B9=B41=E6=9C=8818=E6=97=A5 = 17:24 > =E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io; Jiewen Yao ; Jian J > Wang ; Michael D Kinney > ; Liming Gao ; > Zhiguang Liu ; Ard Biesheuvel > ; Sami Mujawar ; > Rebecca Cran > =E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH v3 0/2] MdePkg,SecurityPkg: A= dd support to > RngDxe and BaseRngLib for AARCH64 RNDR >=20 > Hello all, > I have a question about the this patch, and more generically the organiza= tion > of the MdePkg. The current organization, for the BaseRngLib, is as: > - the BaseRngLib implements the library functions of > MdePkg/Include/Library/RngLib.h > - the BaseRngLib contains Ia32, X64 and AARCH64 implementations >=20 > This means the BaseRngLib contains arch specific functions. It comes that= I > would like to re-use one of these arch specific functions. My question is > then, shouldn't the BaseRngLib contains an arch agnostic implementation, > and the arch specific implementation be placed in arch specific folders > (ArmPkg for arm, I am not sure for other architectures) ? >=20 > Another possibility for me is to me is to move the function that I want > to use to the ArmPkg, but this means the MdePkg would be dependent > on the ArmPkg. Would this be a viable option ? >=20 > Regards, > Pierre >=20 > On 5/10/21 11:53 PM, Rebecca Cran via groups.io wrote: > > Update MdePkg BaseRngLib and SecurityPkg RngDxe to add support for > > the AARCH64 RNDR instruction. > > > > Changes from v2 to v3: > > > > o Fixed the default value of > gEfiSecurityPkgTokenSpaceGuid.PcdCpuRngSupportedAlgorithm > > to be an empty GUID. > > o Removed RNDRRS since it wasn't being used. > > o Fixed the commit message to remove mention of BaseLib. > > > > Rebecca Cran (2): > > MdePkg/BaseRngLib: Add support for ARMv8.5 RNG instructions > > SecurityPkg: Add support for RngDxe on AARCH64 > > > > 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 > | 43 +++++ > > MdePkg/Library/BaseRngLib/BaseRngLibInternals.h | > 78 +++++++++ > > SecurityPkg/RandomNumberGenerator/RngDxe/{ =3D> Rand}/AesCore.h | > 0 > > SecurityPkg/RandomNumberGenerator/RngDxe/{ =3D> 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/{ =3D> Rand}/AesCore.c | > 0 > > SecurityPkg/RandomNumberGenerator/RngDxe/{ =3D> 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 > | 37 +++++ > > MdePkg/Library/BaseRngLib/AArch64/ArmRng.asm > | 39 +++++ > > MdePkg/Library/BaseRngLib/BaseRngLib.uni | > 6 +- > > 24 files changed, 1086 insertions(+), 230 deletions(-) > > create mode 100644 MdePkg/Library/BaseRngLib/AArch64/ArmRng.h > > create mode 100644 MdePkg/Library/BaseRngLib/BaseRngLibInternals.h > > rename SecurityPkg/RandomNumberGenerator/RngDxe/{ =3D> > Rand}/AesCore.h (100%) > > rename SecurityPkg/RandomNumberGenerator/RngDxe/{ =3D> > 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/{ =3D> > Rand}/AesCore.c (100%) > > rename SecurityPkg/RandomNumberGenerator/RngDxe/{ =3D> > 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 > > >=20 >=20 >=20 >=20