From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.7534.1687850361291735789 for ; Tue, 27 Jun 2023 00:19:21 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: pierre.gondois@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2C9E82F4; Tue, 27 Jun 2023 00:20:04 -0700 (PDT) Received: from [10.34.100.101] (e126645.nice.arm.com [10.34.100.101]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 84F733F663; Tue, 27 Jun 2023 00:19:18 -0700 (PDT) Message-ID: <0085ba1c-5086-79a9-d2cd-40551cf61355@arm.com> Date: Tue, 27 Jun 2023 09:19:13 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: =?UTF-8?B?UmU6IOWbnuWkjTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MSAwLzhdIFNlY3VyaXR5UGtnL01kZVBrZzogUm5nTGliIEdVSUQ=?= To: gaoliming , devel@edk2.groups.io, Rebecca Cran Cc: 'Michael D Kinney' , 'Zhiguang Liu' , 'Jiewen Yao' , 'Jian J Wang' , 'Ard Biesheuvel' , 'Sami Mujawar' , 'Jose Marinho' , 'Samer El-Haj-Mahmoud' References: <175D69C984B78702.26836@groups.io> <7cff1caa-2f34-446f-8bf9-028efc361cdd@arm.com> <03e401d9a712$f31b68d0$d9523a70$@byosoft.com.cn> From: "PierreGondois" In-Reply-To: <03e401d9a712$f31b68d0$d9523a70$@byosoft.com.cn> Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable + Rebecca Hello Liming, PcdCpuRngSupportedAlgorithm is currently not set by any platform in the e= dk2 or edk2-platforms repository. It was first introduced by Rebecca in: commit 4e5ecdbac8bd ("SecurityPkg: Add support for RngDxe on AARCH64") Except if Rebecca sees an issue in this change, I think this is ok. Regards, Pierre On 6/25/23 05:13, gaoliming wrote: > Pierre: > This patch set moves PCD from gEfiSecurityPkgTokenSpaceGuid.PcdCpuRn= gSupportedAlgorithm to MdePkg. It may impact the platform those set this = PCD in their DSC. Have you evaluated its impact? >=20 > Thanks > Liming >> -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- >> =E5=8F=91=E4=BB=B6=E4=BA=BA: Pierre Gondois >> =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2023=E5=B9=B46=E6=9C=8823=E6=97=A5= 17:02 >> =E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io >> =E6=8A=84=E9=80=81: Michael D Kinney ; Lim= ing Gao >> ; Zhiguang Liu ; Jie= wen >> Yao ; Jian J Wang ; Ard >> Biesheuvel ; Sami Mujawar >> ; Jose Marinho ; Samer >> El-Haj-Mahmoud >> =E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH v1 0/8] SecurityPkg/MdePkg= : RngLib GUID >> >> Hello, >> Just a ping for the patch-set, >> >> Regards, >> Pierre >> >> On 5/9/23 09:40, PierreGondois via groups.io wrote: >>> From: Pierre Gondois >>> >>> This patchset follows the 'code first' approach and relies on [1]. >>> This patchset follows the thread at [3] that aims to solve [2]. >>> [1] and [2] are bound and this patchset aims to solve both. >>> >>> In this patchset: >>> a- >>> The RngDxe can rely on the RngLib. However the RngLib has no >>> interface allowing to describe which Rng algorithm is implemented. >>> The RngDxe must advertise the algorithm that are available through >>> the RngGetInfo() callback. >>> Add a GetRngGuid() for interface to the RngLib. >>> >>> b- >>> The Arm Architecture states the RNDR that the DRBG algorithm should >>> be compliant with NIST SP800-90A, while not mandating a particular >>> algorithm, so as to be inclusive of different geographies. >>> The RngLib can rely on this Arm RNDR instruction. In order to >>> accurately describe the implementation using the RNDR instruction, >>> add a EFI_RNG_ALGORITHM_ARM_RNDR GUID [1]. >>> >>> c- >>> For the same reason as a/b, add a GUID describing unsafe RNG >>> algorithms, allowing to accurately describe the BaseRngLibTimerLib. >>> >>> d- >>> Use a/b/c mechanisms/GUIDs to select a safe Rng algorithm in the >>> Arm implementation of the RngDxe. >>> >>> [1] BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4441 >>> [2] BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4151 >>> [3] https://edk2.groups.io/g/devel/message/100806 >>> >>> Pierre Gondois (8): >>> MdePkg/ArmTrngLib: Remove ASSERTs in Null implementation >>> MdePkg/MdePkg.dec: Move PcdCpuRngSupportedAlgorithm to MdePkg >>> MdePkg/DxeRngLib: Request raw algorithm instead of default >>> MdePkg/Rng: Add GUIDs to describe Rng algorithms >>> MdePkg/Rng: Add GetRngGuid() to RngLib >>> SecurityPkg/RngDxe: Use GetRngGuid() when probing RngLib >>> SecurityPkg/RngDxe: Select safe default Rng algorithm >>> SecurityPkg/RngDxe: Simplify Rng algorithm selection for Arm >>> >>> MdePkg/Include/Library/RngLib.h | 17 +++++ >>> MdePkg/Include/Protocol/Rng.h | 20 ++++++ >>> .../BaseArmTrngLibNull/BaseArmTrngLibNull.c | 4 -- >>> MdePkg/Library/BaseRngLib/AArch64/Rndr.c | 42 +++++++++++ >>> MdePkg/Library/BaseRngLib/BaseRngLib.inf | 9 +++ >>> MdePkg/Library/BaseRngLib/Rand/RdRand.c | 26 +++++++ >>> .../Library/BaseRngLibNull/BaseRngLibNull.c | 22 ++++++ >>> .../BaseRngLibTimerLib/BaseRngLibTimerLib.inf | 3 + >>> .../Library/BaseRngLibTimerLib/RngLibTimer.c | 28 ++++++++ >>> MdePkg/Library/DxeRngLib/DxeRngLib.c | 36 +++++++++- >>> MdePkg/MdePkg.dec | 7 ++ >>> .../RngDxe/AArch64/AArch64Algo.c | 70 >> +++++++++++++++---- >>> .../RandomNumberGenerator/RngDxe/ArmRngDxe.c | 23 +++--- >>> .../RandomNumberGenerator/RngDxe/RngDxe.inf | 5 +- >>> SecurityPkg/SecurityPkg.dec | 2 - >>> 15 files changed, 278 insertions(+), 36 deletions(-) >>> >=20 >=20