[edk2-devel] [PATCH v1 0/9] Add Raw algorithm support using Arm FW-TRNG interface

Sami Mujawar posted 9 patches 2 years, 7 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
ArmPkg/ArmPkg.dec                                          |   5 +
ArmPkg/ArmPkg.dsc                                          |   1 +
ArmPkg/Library/ArmFwTrngLib/ArmFwTrngDefs.h                |  64 +++
ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.c                 | 483 ++++++++++++++++++++
ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.inf               |  34 ++
ArmVirtPkg/ArmVirtKvmTool.dsc                              |  10 +
ArmVirtPkg/ArmVirtKvmTool.fdf                              |   5 +
MdePkg/Include/Guid/NullGuid.h                             |  21 +
MdePkg/Include/Library/TrngLib.h                           | 123 +++++
MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.c           | 111 +++++
MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.inf         |  30 ++
MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.uni         |  12 +
MdePkg/MdePkg.dec                                          |  13 +-
MdePkg/MdePkg.dsc                                          |   1 +
SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/RngDxe.c  |  79 +++-
SecurityPkg/RandomNumberGenerator/RngDxe/Arm/RngDxe.c      | 164 +++++++
SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c         |  61 +++
SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.c     |  13 +-
SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h     |  43 --
SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c     |  12 +-
SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.c          |  13 +-
SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf        |  13 +-
SecurityPkg/RandomNumberGenerator/RngDxe/RngDxeInternals.h |  22 +-
SecurityPkg/SecurityPkg.dsc                                |  12 +-
24 files changed, 1272 insertions(+), 73 deletions(-)
create mode 100644 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngDefs.h
create mode 100644 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.c
create mode 100644 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.inf
create mode 100644 MdePkg/Include/Guid/NullGuid.h
create mode 100644 MdePkg/Include/Library/TrngLib.h
create mode 100644 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.c
create mode 100644 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.inf
create mode 100644 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.uni
create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/Arm/RngDxe.c
create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c
delete mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h
[edk2-devel] [PATCH v1 0/9] Add Raw algorithm support using Arm FW-TRNG interface
Posted by Sami Mujawar 2 years, 7 months ago
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 series:
 - defines a TRNG library class that provides an interface to access the
   entropy source on a platform.
 - implements a TRNG library instance that uses the Arm FW-TRNG interface.
 - Adds RawAlgorithm support to RngDxe for Arm architecture using the Arm
   FW-TRNG interface.
 - Enables RNG support using FW-TRNG interface for Kvmtool Guest/Virtual
   firmware.

The changes can be seen at:
https://github.com/samimujawar/edk2/tree/1829_arm_fw_trng_v1

Sami Mujawar (9):
  MdePkg: Definition for TRNG library class interface
  ArmPkg: PCD to select conduit for monitor calls
  ArmPkg: Add Arm Firmware TRNG library
  MdePkg: Add definition for NULL GUID
  MdePkg: Add NULL instance of TRNG Library
  SecurityPkg: Rename RdRandGenerateEntropy to common name
  SecurityPkg: Restructure checks in RngGetInfo
  SecurityPkg: Add RawAlgorithm support using TRNG library
  ArmVirtPkg: Kvmtool: Add RNG support using FW-TRNG interface

 ArmPkg/ArmPkg.dec                                          |   5 +
 ArmPkg/ArmPkg.dsc                                          |   1 +
 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngDefs.h                |  64 +++
 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.c                 | 483 ++++++++++++++++++++
 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.inf               |  34 ++
 ArmVirtPkg/ArmVirtKvmTool.dsc                              |  10 +
 ArmVirtPkg/ArmVirtKvmTool.fdf                              |   5 +
 MdePkg/Include/Guid/NullGuid.h                             |  21 +
 MdePkg/Include/Library/TrngLib.h                           | 123 +++++
 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.c           | 111 +++++
 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.inf         |  30 ++
 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.uni         |  12 +
 MdePkg/MdePkg.dec                                          |  13 +-
 MdePkg/MdePkg.dsc                                          |   1 +
 SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/RngDxe.c  |  79 +++-
 SecurityPkg/RandomNumberGenerator/RngDxe/Arm/RngDxe.c      | 164 +++++++
 SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c         |  61 +++
 SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.c     |  13 +-
 SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h     |  43 --
 SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c     |  12 +-
 SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.c          |  13 +-
 SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf        |  13 +-
 SecurityPkg/RandomNumberGenerator/RngDxe/RngDxeInternals.h |  22 +-
 SecurityPkg/SecurityPkg.dsc                                |  12 +-
 24 files changed, 1272 insertions(+), 73 deletions(-)
 create mode 100644 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngDefs.h
 create mode 100644 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.c
 create mode 100644 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.inf
 create mode 100644 MdePkg/Include/Guid/NullGuid.h
 create mode 100644 MdePkg/Include/Library/TrngLib.h
 create mode 100644 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.c
 create mode 100644 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.inf
 create mode 100644 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.uni
 create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/Arm/RngDxe.c
 create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c
 delete mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h

-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#81345): https://edk2.groups.io/g/devel/message/81345
Mute This Topic: https://groups.io/mt/85977024/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


[edk2-devel] 回复: [PATCH v1 0/9] Add Raw algorithm support using Arm FW-TRNG interface
Posted by gaoliming 2 years, 6 months ago
Sami:
  Here is my comments for this patch set. 

1. MdeModulePkg\Include\Guid\ZeroGuid.h has defined gZeroGuid. You don't
define it again. 
2. MdePkg\Include\Library\TrngLib.h is base type library. It can use
RETURN_STATUS instead of EFI_STATUS. Then, it doesn't need to include
<Uefi/UefiBaseType.h>
3. MdePkg\Include\Library\TrngLib.h API parameter doesn't require CONST.
CONST means the value specified by the input pointer will not be changed in
API implementation. 

Thanks
Liming
> -----邮件原件-----
> 发件人: Sami Mujawar <sami.mujawar@arm.com>
> 发送时间: 2021年9月30日 23:41
> 收件人: devel@edk2.groups.io
> 抄送: Sami Mujawar <sami.mujawar@arm.com>; ardb+tianocore@kernel.org;
> leif@nuviainc.com; rebecca@bsdio.com; kraxel@redhat.com;
> michael.d.kinney@intel.com; gaoliming@byosoft.com.cn;
> zhiguang.liu@intel.com; jiewen.yao@intel.com; jian.j.wang@intel.com;
> Matteo.Carlini@arm.com; Akanksha.Jain2@arm.com;
> Ben.Adderson@arm.com; nd@arm.com
> 主题: [PATCH v1 0/9] Add Raw algorithm support using Arm FW-TRNG
> interface
> 
> 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 series:
>  - defines a TRNG library class that provides an interface to access the
>    entropy source on a platform.
>  - implements a TRNG library instance that uses the Arm FW-TRNG interface.
>  - Adds RawAlgorithm support to RngDxe for Arm architecture using the Arm
>    FW-TRNG interface.
>  - Enables RNG support using FW-TRNG interface for Kvmtool Guest/Virtual
>    firmware.
> 
> The changes can be seen at:
> https://github.com/samimujawar/edk2/tree/1829_arm_fw_trng_v1
> 
> Sami Mujawar (9):
>   MdePkg: Definition for TRNG library class interface
>   ArmPkg: PCD to select conduit for monitor calls
>   ArmPkg: Add Arm Firmware TRNG library
>   MdePkg: Add definition for NULL GUID
>   MdePkg: Add NULL instance of TRNG Library
>   SecurityPkg: Rename RdRandGenerateEntropy to common name
>   SecurityPkg: Restructure checks in RngGetInfo
>   SecurityPkg: Add RawAlgorithm support using TRNG library
>   ArmVirtPkg: Kvmtool: Add RNG support using FW-TRNG interface
> 
>  ArmPkg/ArmPkg.dec                                          |
> 5 +
>  ArmPkg/ArmPkg.dsc                                          |
> 1 +
>  ArmPkg/Library/ArmFwTrngLib/ArmFwTrngDefs.h                |  64
> +++
>  ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.c                 | 483
> ++++++++++++++++++++
>  ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.inf               |  34
> ++
>  ArmVirtPkg/ArmVirtKvmTool.dsc                              |  10
> +
>  ArmVirtPkg/ArmVirtKvmTool.fdf                              |   5
> +
>  MdePkg/Include/Guid/NullGuid.h                             |  21
> +
>  MdePkg/Include/Library/TrngLib.h                           | 123
> +++++
>  MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.c           | 111
> +++++
>  MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.inf         |  30 ++
>  MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.uni         |  12 +
>  MdePkg/MdePkg.dec                                          |
> 13 +-
>  MdePkg/MdePkg.dsc                                          |
> 1 +
>  SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/RngDxe.c  |  79
> +++-
>  SecurityPkg/RandomNumberGenerator/RngDxe/Arm/RngDxe.c      | 164
> +++++++
>  SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c         |  61
> +++
>  SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.c     |
> 13 +-
>  SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h     |
> 43 --
>  SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c     |  12
> +-
>  SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.c          |  13
> +-
>  SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf        |  13
> +-
>  SecurityPkg/RandomNumberGenerator/RngDxe/RngDxeInternals.h |  22 +-
>  SecurityPkg/SecurityPkg.dsc                                |  12
> +-
>  24 files changed, 1272 insertions(+), 73 deletions(-)
>  create mode 100644 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngDefs.h
>  create mode 100644 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.c
>  create mode 100644 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.inf
>  create mode 100644 MdePkg/Include/Guid/NullGuid.h
>  create mode 100644 MdePkg/Include/Library/TrngLib.h
>  create mode 100644 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.c
>  create mode 100644 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.inf
>  create mode 100644 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.uni
>  create mode 100644
> SecurityPkg/RandomNumberGenerator/RngDxe/Arm/RngDxe.c
>  create mode 100644
> SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c
>  delete mode 100644
> SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h
> 
> --
> 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#81653): https://edk2.groups.io/g/devel/message/81653
Mute This Topic: https://groups.io/mt/86164076/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-