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

Sami Mujawar sami.mujawar at arm.com
Thu Sep 30 15:40:35 UTC 2021


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/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list