## @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 | |
gEdkiiRngAlgorithmUnSafe ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG | |
[Protocols] | |
gEfiRngProtocolGuid ## PRODUCES | |
[Depex] | |
TRUE | |
[BuildOptions] | |
XCODE:*_*_*_CC_FLAGS = -mmmx -msse | |
[UserExtensions.TianoCore."ExtraFiles"] | |
RngDxeExtra.uni |