blob: 8704a644414fcfd78e3ecb4dc89645623b6f7dac [file] [log] [blame]
## @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