In order to use PcdCpuRngSupportedAlgorithm in the MdePkg in a following patch and to avoid making the MdePkg dependent on another package, move PcdCpuRngSupportedAlgorithm to the MdePkg. As the Pcd is only used for AARCH64, place it in an AARCH64 specific sections. Signed-off-by: Pierre Gondois <pierre.gondois@arm.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org> Acked-by: Jiewen Yao <Jiewen.yao@intel.com> Tested-by: Kun Qin <kun.qin@microsoft.com>
93 lines
2.9 KiB
INI
93 lines
2.9 KiB
INI
## @file
|
|
# Produces the UEFI Random Number Generator protocol
|
|
#
|
|
# This module will leverage Intel Secure Key technology to produce the Random
|
|
# Number Generator protocol, which is used to provide high-quality random numbers
|
|
# for use in applications, or entropy for seeding other random number generators.
|
|
# Refer to http://software.intel.com/en-us/articles/intel-digital-random-number
|
|
# -generator-drng-software-implementation-guide/ for more information about Intel
|
|
# Secure Key technology.
|
|
#
|
|
# Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
|
# (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
|
|
# Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.<BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = RngDxe
|
|
FILE_GUID = B981A835-6EE8-4f4c-AE0B-210AA0BFBF01
|
|
MODULE_TYPE = DXE_DRIVER
|
|
VERSION_STRING = 1.0
|
|
ENTRY_POINT = RngDriverEntry
|
|
UNLOAD_IMAGE = RngDriverUnLoad
|
|
MODULE_UNI_FILE = RngDxe.uni
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 AARCH64 ARM
|
|
#
|
|
|
|
[Sources.common]
|
|
RngDxe.c
|
|
RngDxeInternals.h
|
|
|
|
[Sources.IA32, Sources.X64]
|
|
Rand/RngDxe.c
|
|
Rand/RdRand.c
|
|
Rand/AesCore.c
|
|
Rand/AesCore.h
|
|
|
|
[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
|
|
SecurityPkg/SecurityPkg.dec
|
|
|
|
[LibraryClasses]
|
|
UefiLib
|
|
UefiBootServicesTableLib
|
|
BaseLib
|
|
DebugLib
|
|
UefiDriverEntryPoint
|
|
TimerLib
|
|
RngLib
|
|
|
|
[LibraryClasses.AARCH64, LibraryClasses.ARM]
|
|
ArmTrngLib
|
|
|
|
[Guids]
|
|
gEfiRngAlgorithmSp80090Hash256Guid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
|
|
gEfiRngAlgorithmSp80090Hmac256Guid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
|
|
gEfiRngAlgorithmSp80090Ctr256Guid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
|
|
gEfiRngAlgorithmX9313DesGuid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
|
|
gEfiRngAlgorithmX931AesGuid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
|
|
gEfiRngAlgorithmRaw ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
|
|
|
|
[Protocols]
|
|
gEfiRngProtocolGuid ## PRODUCES
|
|
|
|
[Pcd.AARCH64]
|
|
gEfiMdePkgTokenSpaceGuid.PcdCpuRngSupportedAlgorithm ## CONSUMES
|
|
|
|
[Depex]
|
|
TRUE
|
|
|
|
[BuildOptions]
|
|
XCODE:*_*_*_CC_FLAGS = -mmmx -msse
|
|
|
|
[UserExtensions.TianoCore."ExtraFiles"]
|
|
RngDxeExtra.uni
|