ArmPkg/ArmPkg.dec | 12 +- ArmPkg/ArmPkg.dsc | 5 +- ArmPkg/Include/IndustryStandard/ArmStdSmc.h | 109 ++++- ArmPkg/Include/Library/ArmMonitorLib.h | 42 ++ ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c | 29 ++ .../Library/ArmHvcLibNull/ArmHvcLibNull.inf | 22 + ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c | 34 ++ .../Library/ArmMonitorLib/ArmMonitorLib.inf | 29 ++ ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h | 50 +++ ArmPkg/Library/ArmTrngLib/ArmTrngLib.c | 388 ++++++++++++++++++ ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf | 29 ++ ArmVirtPkg/ArmVirtKvmTool.dsc | 10 + ArmVirtPkg/ArmVirtKvmTool.fdf | 5 + MdePkg/Include/Library/ArmTrngLib.h | 106 +++++ .../BaseArmTrngLibNull/BaseArmTrngLibNull.c | 121 ++++++ .../BaseArmTrngLibNull/BaseArmTrngLibNull.inf | 30 ++ .../BaseArmTrngLibNull/BaseArmTrngLibNull.uni | 12 + MdePkg/MdeLibs.dsc.inc | 1 + MdePkg/MdePkg.dec | 5 + MdePkg/MdePkg.dsc | 1 + .../RngDxe/AArch64/AArch64Algo.c | 72 ++++ .../RngDxe/Arm/ArmAlgo.c | 51 +++ .../RngDxe/{AArch64/RngDxe.c => ArmRngDxe.c} | 81 +++- .../RandomNumberGenerator/RngDxe/ArmTrng.c | 71 ++++ .../RngDxe/Rand/RdRand.c | 14 +- .../RngDxe/Rand/RdRand.h | 43 -- .../RngDxe/Rand/RngDxe.c | 62 ++- .../RandomNumberGenerator/RngDxe/RngDxe.c | 90 ++-- .../RandomNumberGenerator/RngDxe/RngDxe.inf | 18 +- .../RngDxe/RngDxeInternals.h | 71 ++-- SecurityPkg/SecurityPkg.dsc | 5 +- 31 files changed, 1462 insertions(+), 156 deletions(-) create mode 100644 ArmPkg/Include/Library/ArmMonitorLib.h create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.inf create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.inf create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.c create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf create mode 100644 MdePkg/Include/Library/ArmTrngLib.h create mode 100644 MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.c create mode 100644 MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.inf create mode 100644 MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.uni create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/AArch64Algo.c create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/Arm/ArmAlgo.c rename SecurityPkg/RandomNumberGenerator/RngDxe/{AArch64/RngDxe.c => ArmRngDxe.c} (64%) create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c delete mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h
From: Pierre Gondois <pierre.gondois@arm.com> Bugzilla: Bug 3668 (https://bugzilla.tianocore.org/show_bug.cgi?id=3668) The Arm True Random Number Generator Firmware, Interface 1.0, specification defines an interface between an Operating System (OS) executing at EL1 and Firmware (FW) exposing a conditioned entropy source that is provided by a TRNG back end. This patch-set: - defines an Arm TRNG library class that provides an interface to access the entropy source on a platform. - implements an Arm TRNG library instance that uses the Arm FW-TRNG interface. - Adds RawAlgorithm support to RngDxe for Arm architecture using the Arm TRNG interface. - Enables RNG support using Arm TRNG interface for Kvmtool Guest/Virtual firmware. This patch-set is based on the v2 from Sami Mujawar: [PATCH v2 0/8] Add Raw algorithm support using Arm FW-TRNG interface v2: https://edk2.groups.io/g/devel/message/83775 v3: https://edk2.groups.io/g/devel/message/90845 https://github.com/PierreARM/edk2/tree/Arm_Trng_v3 v4: https://github.com/PierreARM/edk2/tree/Arm_Trng_v4 v5: https://github.com/PierreARM/edk2/tree/Arm_Trng_v5 v6: https://github.com/PierreARM/edk2/tree/Arm_Trng_v6 v7: https://github.com/PierreARM/edk2/tree/Arm_Trng_v7 v8: https://github.com/PierreARM/edk2/tree/Arm_Trng_v8 v9: https://github.com/PierreARM/edk2/tree/Arm_Trng_v9 v9: - Added BaseArmTrngLibNull as default in MdePkg/MdeLibs.dsc.inc. [Liming] - Renamed TrngLib to ArmTrngLib and updated documentation, commit messages, function names accordingly. [Jiewen, Leif] v8: - Added Reviewed-by/Acked-by from Leif on ArmPkg/SecurityPkg patches. [Leif] - Renamed FID_TRNG_* macros to ARM_SMC_ID_TRNG_*. [Leif] v7: - Removed Reviewed-by from Leif. - Remove Sami's Signed-off. V6: - Added my signed-off on patches authored by Sami. [Leif] - New patch to make it easier to add new libraries in alphabetical order: ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc [Leif] - Renmaed ArmHvcNullLib to ArmHvcLibNull. [Leif] - Added RISCV64 to the list of VALID_ARCHITECTURES for BaseTrngLibNull. [Leif] - Removed unnecessary space in function parameter documentation ('[in, out]'). [Rebecca] - Updated INF_VERSION to latest spec (1.29) for new libraries. [Rebecca] - Dropped the following patches [Leif]: - ArmPkg/ArmLib: Add ArmHasRngExt() - ArmPkg/ArmLib: Add ArmReadIdIsar0() helper - MdePkg/BaseRngLib: Rename ArmReadIdIsar0() to ArmGetFeatRng() V5: - Removed references in Trnglib.h to 'Special Publication' 800-90A and 800-90C, and only reference 'Arm True Random Number Generator Firmware, Interface 1.0' in the Arm implementation of the TrngLib. [Jiewen] V4: - Removed dependencies on ArmPkg and dropped patch: [PATCH v3 12/22] SecurityPkg: Update Securitypkg.ci.yaml [Jiewen] - Use a dynamically allocated array to hold available algorithms. The array is freed in a new UNLOAD_IMAGE function and allocated in arch specific implementations of GetAvailableAlgorithms(), available in AArch64/AArch64Algo.c and Arm/ArmAlgo.c. - Correctly reference gEfiRngAlgorithmSp80090Ctr256Guid Guid by copying its address (add missing '&'). [Jiewen] V3: - Address Leif's comment (moving definitions, optimizations, ...) - Add ArmMonitorLib to choose Hvc/Smc conduit depending on a Pcd. - Re-factor some parts of SecurityPkg/RngDxe/ to ease the addition of new algorithms. - Add ArmHasRngExt() function to check Arm's FEAT_RNG extension. V2: - Updates TrngLib definitions to use RETURN_STATUS as the return type from the interface functions as TrngLib is base type library. - Drops the patch "MdePkg: Add definition for NULL GUID" as there is already an equivalent definition provided by gZeroGuid. Thus, the use of gNullGuid has been replaced with gZeroGuid. Pierre Gondois (11): ArmPkg/ArmMonitorLib: Definition for ArmMonitorLib library class ArmPkg/ArmMonitorLib: Add ArmMonitorLib ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc ArmPkg/ArmHvcLibNull: Add NULL instance of ArmHvcLib SecurityPkg/RngDxe: Replace Pcd with Sp80090Ctr256Guid SecurityPkg/RngDxe: Remove ArchGetSupportedRngAlgorithms() SecurityPkg/RngDxe: Documentation/include/parameter cleanup SecurityPkg/RngDxe: Check before advertising Cpu Rng algo SecurityPkg/RngDxe: Add debug warning for NULL PcdCpuRngSupportedAlgorithm SecurityPkg/RngDxe: Rename AArch64/RngDxe.c SecurityPkg/RngDxe: Add Arm support of RngDxe Sami Mujawar (8): ArmPkg: PCD to select conduit for monitor calls MdePkg/ArmTrngLib: Definition for Arm TRNG library class interface MdePkg/ArmTrngLib: Add NULL instance of Arm TRNG Library ArmPkg: Add FID definitions for Arm TRNG ArmPkg/ArmTrngLib: Add Arm TRNG library SecurityPkg/RngDxe: Rename RdRandGenerateEntropy to generic name SecurityPkg/RngDxe: Add AArch64 RawAlgorithm support through ArmTrngLib ArmVirtPkg: Kvmtool: Add RNG support using Arm TRNG interface ArmPkg/ArmPkg.dec | 12 +- ArmPkg/ArmPkg.dsc | 5 +- ArmPkg/Include/IndustryStandard/ArmStdSmc.h | 109 ++++- ArmPkg/Include/Library/ArmMonitorLib.h | 42 ++ ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c | 29 ++ .../Library/ArmHvcLibNull/ArmHvcLibNull.inf | 22 + ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c | 34 ++ .../Library/ArmMonitorLib/ArmMonitorLib.inf | 29 ++ ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h | 50 +++ ArmPkg/Library/ArmTrngLib/ArmTrngLib.c | 388 ++++++++++++++++++ ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf | 29 ++ ArmVirtPkg/ArmVirtKvmTool.dsc | 10 + ArmVirtPkg/ArmVirtKvmTool.fdf | 5 + MdePkg/Include/Library/ArmTrngLib.h | 106 +++++ .../BaseArmTrngLibNull/BaseArmTrngLibNull.c | 121 ++++++ .../BaseArmTrngLibNull/BaseArmTrngLibNull.inf | 30 ++ .../BaseArmTrngLibNull/BaseArmTrngLibNull.uni | 12 + MdePkg/MdeLibs.dsc.inc | 1 + MdePkg/MdePkg.dec | 5 + MdePkg/MdePkg.dsc | 1 + .../RngDxe/AArch64/AArch64Algo.c | 72 ++++ .../RngDxe/Arm/ArmAlgo.c | 51 +++ .../RngDxe/{AArch64/RngDxe.c => ArmRngDxe.c} | 81 +++- .../RandomNumberGenerator/RngDxe/ArmTrng.c | 71 ++++ .../RngDxe/Rand/RdRand.c | 14 +- .../RngDxe/Rand/RdRand.h | 43 -- .../RngDxe/Rand/RngDxe.c | 62 ++- .../RandomNumberGenerator/RngDxe/RngDxe.c | 90 ++-- .../RandomNumberGenerator/RngDxe/RngDxe.inf | 18 +- .../RngDxe/RngDxeInternals.h | 71 ++-- SecurityPkg/SecurityPkg.dsc | 5 +- 31 files changed, 1462 insertions(+), 156 deletions(-) create mode 100644 ArmPkg/Include/Library/ArmMonitorLib.h create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.inf create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.inf create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.c create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf create mode 100644 MdePkg/Include/Library/ArmTrngLib.h create mode 100644 MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.c create mode 100644 MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.inf create mode 100644 MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.uni create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/AArch64Algo.c create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/Arm/ArmAlgo.c rename SecurityPkg/RandomNumberGenerator/RngDxe/{AArch64/RngDxe.c => ArmRngDxe.c} (64%) create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c delete mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h -- 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#95685): https://edk2.groups.io/g/devel/message/95685 Mute This Topic: https://groups.io/mt/94629229/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Thanks for the update. For SecurityPkg (11~18), Acked-by: Jiewen Yao <Jiewen.yao@intel.com> Since the update is for AARCH64, I recommend to have an ARM people to give Reviewed-by. Thank you Yao Jiewen > -----Original Message----- > From: Pierre.Gondois@arm.com <Pierre.Gondois@arm.com> > Sent: Friday, October 28, 2022 11:33 PM > To: devel@edk2.groups.io > Cc: Sami Mujawar <sami.mujawar@arm.com>; Leif Lindholm > <quic_llindhol@quicinc.com>; Ard Biesheuvel > <ardb+tianocore@kernel.org>; Rebecca Cran <rebecca@bsdio.com>; Kinney, > Michael D <michael.d.kinney@intel.com>; Gao, Liming > <gaoliming@byosoft.com.cn>; Yao, Jiewen <jiewen.yao@intel.com>; Wang, > Jian J <jian.j.wang@intel.com> > Subject: [PATCH v9 00/19] Add Raw algorithm support using Arm TRNG > interface > > From: Pierre Gondois <pierre.gondois@arm.com> > > Bugzilla: Bug 3668 (https://bugzilla.tianocore.org/show_bug.cgi?id=3668) > > The Arm True Random Number Generator Firmware, Interface 1.0, > specification > defines an interface between an Operating System (OS) executing at EL1 and > Firmware (FW) exposing a conditioned entropy source that is provided by a > TRNG back end. > This patch-set: > - defines an Arm TRNG library class that provides an interface to access > the entropy source on a platform. > - implements an Arm TRNG library instance that uses the Arm FW-TRNG > interface. > - Adds RawAlgorithm support to RngDxe for Arm architecture using the Arm > TRNG interface. > - Enables RNG support using Arm TRNG interface for Kvmtool Guest/Virtual > firmware. > > This patch-set is based on the v2 from Sami Mujawar: > [PATCH v2 0/8] Add Raw algorithm support using Arm FW-TRNG interface > v2: > https://edk2.groups.io/g/devel/message/83775 > v3: > https://edk2.groups.io/g/devel/message/90845 > https://github.com/PierreARM/edk2/tree/Arm_Trng_v3 > v4: > https://github.com/PierreARM/edk2/tree/Arm_Trng_v4 > v5: > https://github.com/PierreARM/edk2/tree/Arm_Trng_v5 > v6: > https://github.com/PierreARM/edk2/tree/Arm_Trng_v6 > v7: > https://github.com/PierreARM/edk2/tree/Arm_Trng_v7 > v8: > https://github.com/PierreARM/edk2/tree/Arm_Trng_v8 > v9: > https://github.com/PierreARM/edk2/tree/Arm_Trng_v9 > > v9: > - Added BaseArmTrngLibNull as default in MdePkg/MdeLibs.dsc.inc. [Liming] > - Renamed TrngLib to ArmTrngLib and updated documentation, commit > messages, function names accordingly. [Jiewen, Leif] > v8: > - Added Reviewed-by/Acked-by from Leif on ArmPkg/SecurityPkg > patches. [Leif] > - Renamed FID_TRNG_* macros to ARM_SMC_ID_TRNG_*. [Leif] > v7: > - Removed Reviewed-by from Leif. > - Remove Sami's Signed-off. > V6: > - Added my signed-off on patches authored by Sami. [Leif] > - New patch to make it easier to add new libraries in alphabetical > order: ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc [Leif] > - Renmaed ArmHvcNullLib to ArmHvcLibNull. [Leif] > - Added RISCV64 to the list of VALID_ARCHITECTURES for BaseTrngLibNull. > [Leif] > - Removed unnecessary space in function parameter documentation > ('[in, out]'). [Rebecca] > - Updated INF_VERSION to latest spec (1.29) for new libraries. [Rebecca] > - Dropped the following patches [Leif]: > - ArmPkg/ArmLib: Add ArmHasRngExt() > - ArmPkg/ArmLib: Add ArmReadIdIsar0() helper > - MdePkg/BaseRngLib: Rename ArmReadIdIsar0() to ArmGetFeatRng() > V5: > - Removed references in Trnglib.h to 'Special Publication' > 800-90A and 800-90C, and only reference 'Arm True Random > Number Generator Firmware, Interface 1.0' in the Arm > implementation of the TrngLib. [Jiewen] > V4: > - Removed dependencies on ArmPkg and dropped patch: > [PATCH v3 12/22] SecurityPkg: Update Securitypkg.ci.yaml > [Jiewen] > - Use a dynamically allocated array to hold available algorithms. > The array is freed in a new UNLOAD_IMAGE function and > allocated in arch specific implementations of > GetAvailableAlgorithms(), available in AArch64/AArch64Algo.c > and Arm/ArmAlgo.c. > - Correctly reference gEfiRngAlgorithmSp80090Ctr256Guid > Guid by copying its address (add missing '&'). [Jiewen] > V3: > - Address Leif's comment (moving definitions, optimizations, ...) > - Add ArmMonitorLib to choose Hvc/Smc conduit depending on a Pcd. > - Re-factor some parts of SecurityPkg/RngDxe/ to ease the addition > of new algorithms. > - Add ArmHasRngExt() function to check Arm's FEAT_RNG extension. > V2: > - Updates TrngLib definitions to use RETURN_STATUS as the return type > from the interface functions as TrngLib is base type library. > - Drops the patch "MdePkg: Add definition for NULL GUID" as there is > already an equivalent definition provided by gZeroGuid. Thus, the > use of gNullGuid has been replaced with gZeroGuid. > > Pierre Gondois (11): > ArmPkg/ArmMonitorLib: Definition for ArmMonitorLib library class > ArmPkg/ArmMonitorLib: Add ArmMonitorLib > ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc > ArmPkg/ArmHvcLibNull: Add NULL instance of ArmHvcLib > SecurityPkg/RngDxe: Replace Pcd with Sp80090Ctr256Guid > SecurityPkg/RngDxe: Remove ArchGetSupportedRngAlgorithms() > SecurityPkg/RngDxe: Documentation/include/parameter cleanup > SecurityPkg/RngDxe: Check before advertising Cpu Rng algo > SecurityPkg/RngDxe: Add debug warning for NULL > PcdCpuRngSupportedAlgorithm > SecurityPkg/RngDxe: Rename AArch64/RngDxe.c > SecurityPkg/RngDxe: Add Arm support of RngDxe > > Sami Mujawar (8): > ArmPkg: PCD to select conduit for monitor calls > MdePkg/ArmTrngLib: Definition for Arm TRNG library class interface > MdePkg/ArmTrngLib: Add NULL instance of Arm TRNG Library > ArmPkg: Add FID definitions for Arm TRNG > ArmPkg/ArmTrngLib: Add Arm TRNG library > SecurityPkg/RngDxe: Rename RdRandGenerateEntropy to generic name > SecurityPkg/RngDxe: Add AArch64 RawAlgorithm support through > ArmTrngLib > ArmVirtPkg: Kvmtool: Add RNG support using Arm TRNG interface > > ArmPkg/ArmPkg.dec | 12 +- > ArmPkg/ArmPkg.dsc | 5 +- > ArmPkg/Include/IndustryStandard/ArmStdSmc.h | 109 ++++- > ArmPkg/Include/Library/ArmMonitorLib.h | 42 ++ > ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c | 29 ++ > .../Library/ArmHvcLibNull/ArmHvcLibNull.inf | 22 + > ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c | 34 ++ > .../Library/ArmMonitorLib/ArmMonitorLib.inf | 29 ++ > ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h | 50 +++ > ArmPkg/Library/ArmTrngLib/ArmTrngLib.c | 388 > ++++++++++++++++++ > ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf | 29 ++ > ArmVirtPkg/ArmVirtKvmTool.dsc | 10 + > ArmVirtPkg/ArmVirtKvmTool.fdf | 5 + > MdePkg/Include/Library/ArmTrngLib.h | 106 +++++ > .../BaseArmTrngLibNull/BaseArmTrngLibNull.c | 121 ++++++ > .../BaseArmTrngLibNull/BaseArmTrngLibNull.inf | 30 ++ > .../BaseArmTrngLibNull/BaseArmTrngLibNull.uni | 12 + > MdePkg/MdeLibs.dsc.inc | 1 + > MdePkg/MdePkg.dec | 5 + > MdePkg/MdePkg.dsc | 1 + > .../RngDxe/AArch64/AArch64Algo.c | 72 ++++ > .../RngDxe/Arm/ArmAlgo.c | 51 +++ > .../RngDxe/{AArch64/RngDxe.c => ArmRngDxe.c} | 81 +++- > .../RandomNumberGenerator/RngDxe/ArmTrng.c | 71 ++++ > .../RngDxe/Rand/RdRand.c | 14 +- > .../RngDxe/Rand/RdRand.h | 43 -- > .../RngDxe/Rand/RngDxe.c | 62 ++- > .../RandomNumberGenerator/RngDxe/RngDxe.c | 90 ++-- > .../RandomNumberGenerator/RngDxe/RngDxe.inf | 18 +- > .../RngDxe/RngDxeInternals.h | 71 ++-- > SecurityPkg/SecurityPkg.dsc | 5 +- > 31 files changed, 1462 insertions(+), 156 deletions(-) > create mode 100644 ArmPkg/Include/Library/ArmMonitorLib.h > create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c > create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.inf > create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c > create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.inf > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.c > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf > create mode 100644 MdePkg/Include/Library/ArmTrngLib.h > create mode 100644 > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.c > create mode 100644 > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.inf > create mode 100644 > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.uni > create mode 100644 > SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/AArch64Algo.c > create mode 100644 > SecurityPkg/RandomNumberGenerator/RngDxe/Arm/ArmAlgo.c > rename > SecurityPkg/RandomNumberGenerator/RngDxe/{AArch64/RngDxe.c => > ArmRngDxe.c} (64%) > create mode 100644 > SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c > delete mode 100644 > SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h > > -- > 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#95814): https://edk2.groups.io/g/devel/message/95814 Mute This Topic: https://groups.io/mt/94629229/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Sami, Leif, Ard: Can you give your Reviewed-by for this patch set this week? If so, this feature can catch stable tag 202211. Stable202211 tag soft feature freeze will start on next Monday Nov 7th. Thanks Liming > -----邮件原件----- > 发件人: Yao, Jiewen <jiewen.yao@intel.com> > 发送时间: 2022年11月1日 16:56 > 收件人: Pierre.Gondois@arm.com; devel@edk2.groups.io > 抄送: Sami Mujawar <sami.mujawar@arm.com>; Leif Lindholm > <quic_llindhol@quicinc.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>; > Rebecca Cran <rebecca@bsdio.com>; Kinney, Michael D > <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; > Wang, Jian J <jian.j.wang@intel.com> > 主题: RE: [PATCH v9 00/19] Add Raw algorithm support using Arm TRNG > interface > > Thanks for the update. > > For SecurityPkg (11~18), Acked-by: Jiewen Yao <Jiewen.yao@intel.com> > Since the update is for AARCH64, I recommend to have an ARM people to give > Reviewed-by. > > Thank you > Yao Jiewen > > > > -----Original Message----- > > From: Pierre.Gondois@arm.com <Pierre.Gondois@arm.com> > > Sent: Friday, October 28, 2022 11:33 PM > > To: devel@edk2.groups.io > > Cc: Sami Mujawar <sami.mujawar@arm.com>; Leif Lindholm > > <quic_llindhol@quicinc.com>; Ard Biesheuvel > > <ardb+tianocore@kernel.org>; Rebecca Cran <rebecca@bsdio.com>; > Kinney, > > Michael D <michael.d.kinney@intel.com>; Gao, Liming > > <gaoliming@byosoft.com.cn>; Yao, Jiewen <jiewen.yao@intel.com>; Wang, > > Jian J <jian.j.wang@intel.com> > > Subject: [PATCH v9 00/19] Add Raw algorithm support using Arm TRNG > > interface > > > > From: Pierre Gondois <pierre.gondois@arm.com> > > > > Bugzilla: Bug 3668 (https://bugzilla.tianocore.org/show_bug.cgi?id=3668) > > > > The Arm True Random Number Generator Firmware, Interface 1.0, > > specification > > defines an interface between an Operating System (OS) executing at EL1 > and > > Firmware (FW) exposing a conditioned entropy source that is provided by a > > TRNG back end. > > This patch-set: > > - defines an Arm TRNG library class that provides an interface to access > > the entropy source on a platform. > > - implements an Arm TRNG library instance that uses the Arm FW-TRNG > > interface. > > - Adds RawAlgorithm support to RngDxe for Arm architecture using the Arm > > TRNG interface. > > - Enables RNG support using Arm TRNG interface for Kvmtool Guest/Virtual > > firmware. > > > > This patch-set is based on the v2 from Sami Mujawar: > > [PATCH v2 0/8] Add Raw algorithm support using Arm FW-TRNG interface > > v2: > > https://edk2.groups.io/g/devel/message/83775 > > v3: > > https://edk2.groups.io/g/devel/message/90845 > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v3 > > v4: > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v4 > > v5: > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v5 > > v6: > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v6 > > v7: > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v7 > > v8: > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v8 > > v9: > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v9 > > > > v9: > > - Added BaseArmTrngLibNull as default in MdePkg/MdeLibs.dsc.inc. > [Liming] > > - Renamed TrngLib to ArmTrngLib and updated documentation, commit > > messages, function names accordingly. [Jiewen, Leif] > > v8: > > - Added Reviewed-by/Acked-by from Leif on ArmPkg/SecurityPkg > > patches. [Leif] > > - Renamed FID_TRNG_* macros to ARM_SMC_ID_TRNG_*. [Leif] > > v7: > > - Removed Reviewed-by from Leif. > > - Remove Sami's Signed-off. > > V6: > > - Added my signed-off on patches authored by Sami. [Leif] > > - New patch to make it easier to add new libraries in alphabetical > > order: ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc [Leif] > > - Renmaed ArmHvcNullLib to ArmHvcLibNull. [Leif] > > - Added RISCV64 to the list of VALID_ARCHITECTURES for > BaseTrngLibNull. > > [Leif] > > - Removed unnecessary space in function parameter documentation > > ('[in, out]'). [Rebecca] > > - Updated INF_VERSION to latest spec (1.29) for new libraries. [Rebecca] > > - Dropped the following patches [Leif]: > > - ArmPkg/ArmLib: Add ArmHasRngExt() > > - ArmPkg/ArmLib: Add ArmReadIdIsar0() helper > > - MdePkg/BaseRngLib: Rename ArmReadIdIsar0() to ArmGetFeatRng() > > V5: > > - Removed references in Trnglib.h to 'Special Publication' > > 800-90A and 800-90C, and only reference 'Arm True Random > > Number Generator Firmware, Interface 1.0' in the Arm > > implementation of the TrngLib. [Jiewen] > > V4: > > - Removed dependencies on ArmPkg and dropped patch: > > [PATCH v3 12/22] SecurityPkg: Update Securitypkg.ci.yaml > > [Jiewen] > > - Use a dynamically allocated array to hold available algorithms. > > The array is freed in a new UNLOAD_IMAGE function and > > allocated in arch specific implementations of > > GetAvailableAlgorithms(), available in AArch64/AArch64Algo.c > > and Arm/ArmAlgo.c. > > - Correctly reference gEfiRngAlgorithmSp80090Ctr256Guid > > Guid by copying its address (add missing '&'). [Jiewen] > > V3: > > - Address Leif's comment (moving definitions, optimizations, ...) > > - Add ArmMonitorLib to choose Hvc/Smc conduit depending on a Pcd. > > - Re-factor some parts of SecurityPkg/RngDxe/ to ease the addition > > of new algorithms. > > - Add ArmHasRngExt() function to check Arm's FEAT_RNG extension. > > V2: > > - Updates TrngLib definitions to use RETURN_STATUS as the return type > > from the interface functions as TrngLib is base type library. > > - Drops the patch "MdePkg: Add definition for NULL GUID" as there is > > already an equivalent definition provided by gZeroGuid. Thus, the > > use of gNullGuid has been replaced with gZeroGuid. > > > > Pierre Gondois (11): > > ArmPkg/ArmMonitorLib: Definition for ArmMonitorLib library class > > ArmPkg/ArmMonitorLib: Add ArmMonitorLib > > ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc > > ArmPkg/ArmHvcLibNull: Add NULL instance of ArmHvcLib > > SecurityPkg/RngDxe: Replace Pcd with Sp80090Ctr256Guid > > SecurityPkg/RngDxe: Remove ArchGetSupportedRngAlgorithms() > > SecurityPkg/RngDxe: Documentation/include/parameter cleanup > > SecurityPkg/RngDxe: Check before advertising Cpu Rng algo > > SecurityPkg/RngDxe: Add debug warning for NULL > > PcdCpuRngSupportedAlgorithm > > SecurityPkg/RngDxe: Rename AArch64/RngDxe.c > > SecurityPkg/RngDxe: Add Arm support of RngDxe > > > > Sami Mujawar (8): > > ArmPkg: PCD to select conduit for monitor calls > > MdePkg/ArmTrngLib: Definition for Arm TRNG library class interface > > MdePkg/ArmTrngLib: Add NULL instance of Arm TRNG Library > > ArmPkg: Add FID definitions for Arm TRNG > > ArmPkg/ArmTrngLib: Add Arm TRNG library > > SecurityPkg/RngDxe: Rename RdRandGenerateEntropy to generic name > > SecurityPkg/RngDxe: Add AArch64 RawAlgorithm support through > > ArmTrngLib > > ArmVirtPkg: Kvmtool: Add RNG support using Arm TRNG interface > > > > ArmPkg/ArmPkg.dec | 12 +- > > ArmPkg/ArmPkg.dsc | 5 +- > > ArmPkg/Include/IndustryStandard/ArmStdSmc.h | 109 ++++- > > ArmPkg/Include/Library/ArmMonitorLib.h | 42 ++ > > ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c | 29 ++ > > .../Library/ArmHvcLibNull/ArmHvcLibNull.inf | 22 + > > ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c | 34 ++ > > .../Library/ArmMonitorLib/ArmMonitorLib.inf | 29 ++ > > ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h | 50 +++ > > ArmPkg/Library/ArmTrngLib/ArmTrngLib.c | 388 > > ++++++++++++++++++ > > ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf | 29 ++ > > ArmVirtPkg/ArmVirtKvmTool.dsc | 10 + > > ArmVirtPkg/ArmVirtKvmTool.fdf | 5 + > > MdePkg/Include/Library/ArmTrngLib.h | 106 +++++ > > .../BaseArmTrngLibNull/BaseArmTrngLibNull.c | 121 ++++++ > > .../BaseArmTrngLibNull/BaseArmTrngLibNull.inf | 30 ++ > > .../BaseArmTrngLibNull/BaseArmTrngLibNull.uni | 12 + > > MdePkg/MdeLibs.dsc.inc | 1 + > > MdePkg/MdePkg.dec | 5 + > > MdePkg/MdePkg.dsc | 1 + > > .../RngDxe/AArch64/AArch64Algo.c | 72 ++++ > > .../RngDxe/Arm/ArmAlgo.c | 51 +++ > > .../RngDxe/{AArch64/RngDxe.c => ArmRngDxe.c} | 81 +++- > > .../RandomNumberGenerator/RngDxe/ArmTrng.c | 71 ++++ > > .../RngDxe/Rand/RdRand.c | 14 +- > > .../RngDxe/Rand/RdRand.h | 43 -- > > .../RngDxe/Rand/RngDxe.c | 62 ++- > > .../RandomNumberGenerator/RngDxe/RngDxe.c | 90 ++-- > > .../RandomNumberGenerator/RngDxe/RngDxe.inf | 18 +- > > .../RngDxe/RngDxeInternals.h | 71 ++-- > > SecurityPkg/SecurityPkg.dsc | 5 +- > > 31 files changed, 1462 insertions(+), 156 deletions(-) > > create mode 100644 ArmPkg/Include/Library/ArmMonitorLib.h > > create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c > > create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.inf > > create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c > > create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.inf > > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h > > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.c > > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf > > create mode 100644 MdePkg/Include/Library/ArmTrngLib.h > > create mode 100644 > > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.c > > create mode 100644 > > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.inf > > create mode 100644 > > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.uni > > create mode 100644 > > SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/AArch64Algo.c > > create mode 100644 > > SecurityPkg/RandomNumberGenerator/RngDxe/Arm/ArmAlgo.c > > rename > > SecurityPkg/RandomNumberGenerator/RngDxe/{AArch64/RngDxe.c => > > ArmRngDxe.c} (64%) > > create mode 100644 > > SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c > > delete mode 100644 > > SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h > > > > -- > > 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#95934): https://edk2.groups.io/g/devel/message/95934 Mute This Topic: https://groups.io/mt/94797497/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
On Fri, 4 Nov 2022 at 02:16, gaoliming via groups.io <gaoliming=byosoft.com.cn@groups.io> wrote: > > Sami, Leif, Ard: > Can you give your Reviewed-by for this patch set this week? If so, this > feature can catch stable tag 202211. > > Stable202211 tag soft feature freeze will start on next Monday Nov 7th. > I will try to look at this before monday. > > -----邮件原件----- > > 发件人: Yao, Jiewen <jiewen.yao@intel.com> > > 发送时间: 2022年11月1日 16:56 > > 收件人: Pierre.Gondois@arm.com; devel@edk2.groups.io > > 抄送: Sami Mujawar <sami.mujawar@arm.com>; Leif Lindholm > > <quic_llindhol@quicinc.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>; > > Rebecca Cran <rebecca@bsdio.com>; Kinney, Michael D > > <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; > > Wang, Jian J <jian.j.wang@intel.com> > > 主题: RE: [PATCH v9 00/19] Add Raw algorithm support using Arm TRNG > > interface > > > > Thanks for the update. > > > > For SecurityPkg (11~18), Acked-by: Jiewen Yao <Jiewen.yao@intel.com> > > Since the update is for AARCH64, I recommend to have an ARM people to give > > Reviewed-by. > > > > Thank you > > Yao Jiewen > > > > > > > -----Original Message----- > > > From: Pierre.Gondois@arm.com <Pierre.Gondois@arm.com> > > > Sent: Friday, October 28, 2022 11:33 PM > > > To: devel@edk2.groups.io > > > Cc: Sami Mujawar <sami.mujawar@arm.com>; Leif Lindholm > > > <quic_llindhol@quicinc.com>; Ard Biesheuvel > > > <ardb+tianocore@kernel.org>; Rebecca Cran <rebecca@bsdio.com>; > > Kinney, > > > Michael D <michael.d.kinney@intel.com>; Gao, Liming > > > <gaoliming@byosoft.com.cn>; Yao, Jiewen <jiewen.yao@intel.com>; Wang, > > > Jian J <jian.j.wang@intel.com> > > > Subject: [PATCH v9 00/19] Add Raw algorithm support using Arm TRNG > > > interface > > > > > > From: Pierre Gondois <pierre.gondois@arm.com> > > > > > > Bugzilla: Bug 3668 (https://bugzilla.tianocore.org/show_bug.cgi?id=3668) > > > > > > The Arm True Random Number Generator Firmware, Interface 1.0, > > > specification > > > defines an interface between an Operating System (OS) executing at EL1 > > and > > > Firmware (FW) exposing a conditioned entropy source that is provided by > a > > > TRNG back end. > > > This patch-set: > > > - defines an Arm TRNG library class that provides an interface to access > > > the entropy source on a platform. > > > - implements an Arm TRNG library instance that uses the Arm FW-TRNG > > > interface. > > > - Adds RawAlgorithm support to RngDxe for Arm architecture using the Arm > > > TRNG interface. > > > - Enables RNG support using Arm TRNG interface for Kvmtool Guest/Virtual > > > firmware. > > > > > > This patch-set is based on the v2 from Sami Mujawar: > > > [PATCH v2 0/8] Add Raw algorithm support using Arm FW-TRNG interface > > > v2: > > > https://edk2.groups.io/g/devel/message/83775 > > > v3: > > > https://edk2.groups.io/g/devel/message/90845 > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v3 > > > v4: > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v4 > > > v5: > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v5 > > > v6: > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v6 > > > v7: > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v7 > > > v8: > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v8 > > > v9: > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v9 > > > > > > v9: > > > - Added BaseArmTrngLibNull as default in MdePkg/MdeLibs.dsc.inc. > > [Liming] > > > - Renamed TrngLib to ArmTrngLib and updated documentation, commit > > > messages, function names accordingly. [Jiewen, Leif] > > > v8: > > > - Added Reviewed-by/Acked-by from Leif on ArmPkg/SecurityPkg > > > patches. [Leif] > > > - Renamed FID_TRNG_* macros to ARM_SMC_ID_TRNG_*. [Leif] > > > v7: > > > - Removed Reviewed-by from Leif. > > > - Remove Sami's Signed-off. > > > V6: > > > - Added my signed-off on patches authored by Sami. [Leif] > > > - New patch to make it easier to add new libraries in alphabetical > > > order: ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc > [Leif] > > > - Renmaed ArmHvcNullLib to ArmHvcLibNull. [Leif] > > > - Added RISCV64 to the list of VALID_ARCHITECTURES for > > BaseTrngLibNull. > > > [Leif] > > > - Removed unnecessary space in function parameter documentation > > > ('[in, out]'). [Rebecca] > > > - Updated INF_VERSION to latest spec (1.29) for new libraries. > [Rebecca] > > > - Dropped the following patches [Leif]: > > > - ArmPkg/ArmLib: Add ArmHasRngExt() > > > - ArmPkg/ArmLib: Add ArmReadIdIsar0() helper > > > - MdePkg/BaseRngLib: Rename ArmReadIdIsar0() to ArmGetFeatRng() > > > V5: > > > - Removed references in Trnglib.h to 'Special Publication' > > > 800-90A and 800-90C, and only reference 'Arm True Random > > > Number Generator Firmware, Interface 1.0' in the Arm > > > implementation of the TrngLib. [Jiewen] > > > V4: > > > - Removed dependencies on ArmPkg and dropped patch: > > > [PATCH v3 12/22] SecurityPkg: Update Securitypkg.ci.yaml > > > [Jiewen] > > > - Use a dynamically allocated array to hold available algorithms. > > > The array is freed in a new UNLOAD_IMAGE function and > > > allocated in arch specific implementations of > > > GetAvailableAlgorithms(), available in AArch64/AArch64Algo.c > > > and Arm/ArmAlgo.c. > > > - Correctly reference gEfiRngAlgorithmSp80090Ctr256Guid > > > Guid by copying its address (add missing '&'). [Jiewen] > > > V3: > > > - Address Leif's comment (moving definitions, optimizations, ...) > > > - Add ArmMonitorLib to choose Hvc/Smc conduit depending on a Pcd. > > > - Re-factor some parts of SecurityPkg/RngDxe/ to ease the addition > > > of new algorithms. > > > - Add ArmHasRngExt() function to check Arm's FEAT_RNG extension. > > > V2: > > > - Updates TrngLib definitions to use RETURN_STATUS as the return type > > > from the interface functions as TrngLib is base type library. > > > - Drops the patch "MdePkg: Add definition for NULL GUID" as there is > > > already an equivalent definition provided by gZeroGuid. Thus, the > > > use of gNullGuid has been replaced with gZeroGuid. > > > > > > Pierre Gondois (11): > > > ArmPkg/ArmMonitorLib: Definition for ArmMonitorLib library class > > > ArmPkg/ArmMonitorLib: Add ArmMonitorLib > > > ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc > > > ArmPkg/ArmHvcLibNull: Add NULL instance of ArmHvcLib > > > SecurityPkg/RngDxe: Replace Pcd with Sp80090Ctr256Guid > > > SecurityPkg/RngDxe: Remove ArchGetSupportedRngAlgorithms() > > > SecurityPkg/RngDxe: Documentation/include/parameter cleanup > > > SecurityPkg/RngDxe: Check before advertising Cpu Rng algo > > > SecurityPkg/RngDxe: Add debug warning for NULL > > > PcdCpuRngSupportedAlgorithm > > > SecurityPkg/RngDxe: Rename AArch64/RngDxe.c > > > SecurityPkg/RngDxe: Add Arm support of RngDxe > > > > > > Sami Mujawar (8): > > > ArmPkg: PCD to select conduit for monitor calls > > > MdePkg/ArmTrngLib: Definition for Arm TRNG library class interface > > > MdePkg/ArmTrngLib: Add NULL instance of Arm TRNG Library > > > ArmPkg: Add FID definitions for Arm TRNG > > > ArmPkg/ArmTrngLib: Add Arm TRNG library > > > SecurityPkg/RngDxe: Rename RdRandGenerateEntropy to generic name > > > SecurityPkg/RngDxe: Add AArch64 RawAlgorithm support through > > > ArmTrngLib > > > ArmVirtPkg: Kvmtool: Add RNG support using Arm TRNG interface > > > > > > ArmPkg/ArmPkg.dec | 12 +- > > > ArmPkg/ArmPkg.dsc | 5 +- > > > ArmPkg/Include/IndustryStandard/ArmStdSmc.h | 109 ++++- > > > ArmPkg/Include/Library/ArmMonitorLib.h | 42 ++ > > > ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c | 29 ++ > > > .../Library/ArmHvcLibNull/ArmHvcLibNull.inf | 22 + > > > ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c | 34 ++ > > > .../Library/ArmMonitorLib/ArmMonitorLib.inf | 29 ++ > > > ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h | 50 +++ > > > ArmPkg/Library/ArmTrngLib/ArmTrngLib.c | 388 > > > ++++++++++++++++++ > > > ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf | 29 ++ > > > ArmVirtPkg/ArmVirtKvmTool.dsc | 10 + > > > ArmVirtPkg/ArmVirtKvmTool.fdf | 5 + > > > MdePkg/Include/Library/ArmTrngLib.h | 106 +++++ > > > .../BaseArmTrngLibNull/BaseArmTrngLibNull.c | 121 ++++++ > > > .../BaseArmTrngLibNull/BaseArmTrngLibNull.inf | 30 ++ > > > .../BaseArmTrngLibNull/BaseArmTrngLibNull.uni | 12 + > > > MdePkg/MdeLibs.dsc.inc | 1 + > > > MdePkg/MdePkg.dec | 5 + > > > MdePkg/MdePkg.dsc | 1 + > > > .../RngDxe/AArch64/AArch64Algo.c | 72 ++++ > > > .../RngDxe/Arm/ArmAlgo.c | 51 +++ > > > .../RngDxe/{AArch64/RngDxe.c => ArmRngDxe.c} | 81 +++- > > > .../RandomNumberGenerator/RngDxe/ArmTrng.c | 71 ++++ > > > .../RngDxe/Rand/RdRand.c | 14 +- > > > .../RngDxe/Rand/RdRand.h | 43 -- > > > .../RngDxe/Rand/RngDxe.c | 62 ++- > > > .../RandomNumberGenerator/RngDxe/RngDxe.c | 90 ++-- > > > .../RandomNumberGenerator/RngDxe/RngDxe.inf | 18 +- > > > .../RngDxe/RngDxeInternals.h | 71 ++-- > > > SecurityPkg/SecurityPkg.dsc | 5 +- > > > 31 files changed, 1462 insertions(+), 156 deletions(-) > > > create mode 100644 ArmPkg/Include/Library/ArmMonitorLib.h > > > create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c > > > create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.inf > > > create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c > > > create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.inf > > > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h > > > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.c > > > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf > > > create mode 100644 MdePkg/Include/Library/ArmTrngLib.h > > > create mode 100644 > > > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.c > > > create mode 100644 > > > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.inf > > > create mode 100644 > > > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.uni > > > create mode 100644 > > > SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/AArch64Algo.c > > > create mode 100644 > > > SecurityPkg/RandomNumberGenerator/RngDxe/Arm/ArmAlgo.c > > > rename > > > SecurityPkg/RandomNumberGenerator/RngDxe/{AArch64/RngDxe.c => > > > ArmRngDxe.c} (64%) > > > create mode 100644 > > > SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c > > > delete mode 100644 > > > SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h > > > > > > -- > > > 2.25.1 > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#95963): https://edk2.groups.io/g/devel/message/95963 Mute This Topic: https://groups.io/mt/94797497/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
On Fri, 4 Nov 2022 at 18:34, Ard Biesheuvel <ardb@kernel.org> wrote: > > On Fri, 4 Nov 2022 at 02:16, gaoliming via groups.io > <gaoliming=byosoft.com.cn@groups.io> wrote: > > > > Sami, Leif, Ard: > > Can you give your Reviewed-by for this patch set this week? If so, this > > feature can catch stable tag 202211. > > > > Stable202211 tag soft feature freeze will start on next Monday Nov 7th. > > > > I will try to look at this before monday. > > For patch 8 and 19: Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Series merged as #3603 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#96004): https://edk2.groups.io/g/devel/message/96004 Mute This Topic: https://groups.io/mt/94797497/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Pierre: New change in MdePkg to rename library class name is good to me. Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Thanks Liming > -----邮件原件----- > 发件人: Pierre.Gondois@arm.com <Pierre.Gondois@arm.com> > 发送时间: 2022年10月28日 23:33 > 收件人: devel@edk2.groups.io > 抄送: Sami Mujawar <sami.mujawar@arm.com>; Leif Lindholm > <quic_llindhol@quicinc.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>; > Rebecca Cran <rebecca@bsdio.com>; Michael D Kinney > <michael.d.kinney@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; > Jiewen Yao <jiewen.yao@intel.com>; Jian J Wang <jian.j.wang@intel.com> > 主题: [PATCH v9 00/19] Add Raw algorithm support using Arm TRNG interface > > From: Pierre Gondois <pierre.gondois@arm.com> > > Bugzilla: Bug 3668 (https://bugzilla.tianocore.org/show_bug.cgi?id=3668) > > The Arm True Random Number Generator Firmware, Interface 1.0, > specification > defines an interface between an Operating System (OS) executing at EL1 and > Firmware (FW) exposing a conditioned entropy source that is provided by a > TRNG back end. > This patch-set: > - defines an Arm TRNG library class that provides an interface to access > the entropy source on a platform. > - implements an Arm TRNG library instance that uses the Arm FW-TRNG > interface. > - Adds RawAlgorithm support to RngDxe for Arm architecture using the Arm > TRNG interface. > - Enables RNG support using Arm TRNG interface for Kvmtool Guest/Virtual > firmware. > > This patch-set is based on the v2 from Sami Mujawar: > [PATCH v2 0/8] Add Raw algorithm support using Arm FW-TRNG interface > v2: > https://edk2.groups.io/g/devel/message/83775 > v3: > https://edk2.groups.io/g/devel/message/90845 > https://github.com/PierreARM/edk2/tree/Arm_Trng_v3 > v4: > https://github.com/PierreARM/edk2/tree/Arm_Trng_v4 > v5: > https://github.com/PierreARM/edk2/tree/Arm_Trng_v5 > v6: > https://github.com/PierreARM/edk2/tree/Arm_Trng_v6 > v7: > https://github.com/PierreARM/edk2/tree/Arm_Trng_v7 > v8: > https://github.com/PierreARM/edk2/tree/Arm_Trng_v8 > v9: > https://github.com/PierreARM/edk2/tree/Arm_Trng_v9 > > v9: > - Added BaseArmTrngLibNull as default in MdePkg/MdeLibs.dsc.inc. [Liming] > - Renamed TrngLib to ArmTrngLib and updated documentation, commit > messages, function names accordingly. [Jiewen, Leif] > v8: > - Added Reviewed-by/Acked-by from Leif on ArmPkg/SecurityPkg > patches. [Leif] > - Renamed FID_TRNG_* macros to ARM_SMC_ID_TRNG_*. [Leif] > v7: > - Removed Reviewed-by from Leif. > - Remove Sami's Signed-off. > V6: > - Added my signed-off on patches authored by Sami. [Leif] > - New patch to make it easier to add new libraries in alphabetical > order: ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc [Leif] > - Renmaed ArmHvcNullLib to ArmHvcLibNull. [Leif] > - Added RISCV64 to the list of VALID_ARCHITECTURES for BaseTrngLibNull. > [Leif] > - Removed unnecessary space in function parameter documentation > ('[in, out]'). [Rebecca] > - Updated INF_VERSION to latest spec (1.29) for new libraries. [Rebecca] > - Dropped the following patches [Leif]: > - ArmPkg/ArmLib: Add ArmHasRngExt() > - ArmPkg/ArmLib: Add ArmReadIdIsar0() helper > - MdePkg/BaseRngLib: Rename ArmReadIdIsar0() to ArmGetFeatRng() > V5: > - Removed references in Trnglib.h to 'Special Publication' > 800-90A and 800-90C, and only reference 'Arm True Random > Number Generator Firmware, Interface 1.0' in the Arm > implementation of the TrngLib. [Jiewen] > V4: > - Removed dependencies on ArmPkg and dropped patch: > [PATCH v3 12/22] SecurityPkg: Update Securitypkg.ci.yaml > [Jiewen] > - Use a dynamically allocated array to hold available algorithms. > The array is freed in a new UNLOAD_IMAGE function and > allocated in arch specific implementations of > GetAvailableAlgorithms(), available in AArch64/AArch64Algo.c > and Arm/ArmAlgo.c. > - Correctly reference gEfiRngAlgorithmSp80090Ctr256Guid > Guid by copying its address (add missing '&'). [Jiewen] > V3: > - Address Leif's comment (moving definitions, optimizations, ...) > - Add ArmMonitorLib to choose Hvc/Smc conduit depending on a Pcd. > - Re-factor some parts of SecurityPkg/RngDxe/ to ease the addition > of new algorithms. > - Add ArmHasRngExt() function to check Arm's FEAT_RNG extension. > V2: > - Updates TrngLib definitions to use RETURN_STATUS as the return type > from the interface functions as TrngLib is base type library. > - Drops the patch "MdePkg: Add definition for NULL GUID" as there is > already an equivalent definition provided by gZeroGuid. Thus, the > use of gNullGuid has been replaced with gZeroGuid. > > Pierre Gondois (11): > ArmPkg/ArmMonitorLib: Definition for ArmMonitorLib library class > ArmPkg/ArmMonitorLib: Add ArmMonitorLib > ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc > ArmPkg/ArmHvcLibNull: Add NULL instance of ArmHvcLib > SecurityPkg/RngDxe: Replace Pcd with Sp80090Ctr256Guid > SecurityPkg/RngDxe: Remove ArchGetSupportedRngAlgorithms() > SecurityPkg/RngDxe: Documentation/include/parameter cleanup > SecurityPkg/RngDxe: Check before advertising Cpu Rng algo > SecurityPkg/RngDxe: Add debug warning for NULL > PcdCpuRngSupportedAlgorithm > SecurityPkg/RngDxe: Rename AArch64/RngDxe.c > SecurityPkg/RngDxe: Add Arm support of RngDxe > > Sami Mujawar (8): > ArmPkg: PCD to select conduit for monitor calls > MdePkg/ArmTrngLib: Definition for Arm TRNG library class interface > MdePkg/ArmTrngLib: Add NULL instance of Arm TRNG Library > ArmPkg: Add FID definitions for Arm TRNG > ArmPkg/ArmTrngLib: Add Arm TRNG library > SecurityPkg/RngDxe: Rename RdRandGenerateEntropy to generic name > SecurityPkg/RngDxe: Add AArch64 RawAlgorithm support through > ArmTrngLib > ArmVirtPkg: Kvmtool: Add RNG support using Arm TRNG interface > > ArmPkg/ArmPkg.dec | 12 +- > ArmPkg/ArmPkg.dsc | 5 +- > ArmPkg/Include/IndustryStandard/ArmStdSmc.h | 109 ++++- > ArmPkg/Include/Library/ArmMonitorLib.h | 42 ++ > ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c | 29 ++ > .../Library/ArmHvcLibNull/ArmHvcLibNull.inf | 22 + > ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c | 34 ++ > .../Library/ArmMonitorLib/ArmMonitorLib.inf | 29 ++ > ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h | 50 +++ > ArmPkg/Library/ArmTrngLib/ArmTrngLib.c | 388 > ++++++++++++++++++ > ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf | 29 ++ > ArmVirtPkg/ArmVirtKvmTool.dsc | 10 + > ArmVirtPkg/ArmVirtKvmTool.fdf | 5 + > MdePkg/Include/Library/ArmTrngLib.h | 106 +++++ > .../BaseArmTrngLibNull/BaseArmTrngLibNull.c | 121 ++++++ > .../BaseArmTrngLibNull/BaseArmTrngLibNull.inf | 30 ++ > .../BaseArmTrngLibNull/BaseArmTrngLibNull.uni | 12 + > MdePkg/MdeLibs.dsc.inc | 1 + > MdePkg/MdePkg.dec | 5 + > MdePkg/MdePkg.dsc | 1 + > .../RngDxe/AArch64/AArch64Algo.c | 72 ++++ > .../RngDxe/Arm/ArmAlgo.c | 51 +++ > .../RngDxe/{AArch64/RngDxe.c => ArmRngDxe.c} | 81 +++- > .../RandomNumberGenerator/RngDxe/ArmTrng.c | 71 ++++ > .../RngDxe/Rand/RdRand.c | 14 +- > .../RngDxe/Rand/RdRand.h | 43 -- > .../RngDxe/Rand/RngDxe.c | 62 ++- > .../RandomNumberGenerator/RngDxe/RngDxe.c | 90 ++-- > .../RandomNumberGenerator/RngDxe/RngDxe.inf | 18 +- > .../RngDxe/RngDxeInternals.h | 71 ++-- > SecurityPkg/SecurityPkg.dsc | 5 +- > 31 files changed, 1462 insertions(+), 156 deletions(-) > create mode 100644 ArmPkg/Include/Library/ArmMonitorLib.h > create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c > create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.inf > create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c > create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.inf > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.c > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf > create mode 100644 MdePkg/Include/Library/ArmTrngLib.h > create mode 100644 > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.c > create mode 100644 > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.inf > create mode 100644 > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.uni > create mode 100644 > SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/AArch64Algo.c > create mode 100644 > SecurityPkg/RandomNumberGenerator/RngDxe/Arm/ArmAlgo.c > rename SecurityPkg/RandomNumberGenerator/RngDxe/{AArch64/RngDxe.c > => ArmRngDxe.c} (64%) > create mode 100644 > SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c > delete mode 100644 > SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h > > -- > 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#95787): https://edk2.groups.io/g/devel/message/95787 Mute This Topic: https://groups.io/mt/94700390/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2024 Red Hat, Inc.