SecurityPkg/RngDxe: Add Arm support of RngDxe

Bugzilla: 3668 (https://bugzilla.tianocore.org/show_bug.cgi?id=3668)

Add RngDxe support for Arm. This implementation uses the ArmTrngLib
to support the RawAlgorithm and doens't support the RNDR instruction.

To re-use the RngGetRNG(), RngGetInfo() and FreeAvailableAlgorithms()
functions, create Arm/AArch64 files which implement the arch specific
function GetAvailableAlgorithms(). Indeed, FEAT_RNG instruction is not
supported on Arm.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Acked-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
Pierre Gondois
2022-10-28 17:32:58 +02:00
committed by mergify[bot]
parent ff29cdb968
commit 9eb5ccda50
5 changed files with 133 additions and 64 deletions

View File

@ -28,7 +28,7 @@
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 AARCH64
# VALID_ARCHITECTURES = IA32 X64 AARCH64 ARM
#
[Sources.common]
@ -41,10 +41,16 @@
Rand/AesCore.c
Rand/AesCore.h
[Sources.AARCH64]
[Sources.AARCH64, Sources.ARM]
ArmRngDxe.c
ArmTrng.c
[Sources.AARCH64]
AArch64/AArch64Algo.c
[Sources.ARM]
Arm/ArmAlgo.c
[Packages]
MdeModulePkg/MdeModulePkg.dec
MdePkg/MdePkg.dec
@ -59,7 +65,7 @@
TimerLib
RngLib
[LibraryClasses.AARCH64]
[LibraryClasses.AARCH64, LibraryClasses.ARM]
ArmTrngLib
[Guids]