| ## @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 | |
| # | |
| [Sources.common] | |
| RngDxe.c | |
| RngDxeInternals.h | |
| [Sources.IA32, Sources.X64] | |
| Rand/RngDxe.c | |
| Rand/RdRand.c | |
| Rand/AesCore.c | |
| Rand/AesCore.h | |
| [Sources.AARCH64] | |
| ArmRngDxe.c | |
| ArmTrng.c | |
| [Sources.AARCH64] | |
| AArch64/AArch64Algo.c | |
| [Packages] | |
| MdeModulePkg/MdeModulePkg.dec | |
| MdePkg/MdePkg.dec | |
| SecurityPkg/SecurityPkg.dec | |
| [LibraryClasses] | |
| UefiLib | |
| UefiBootServicesTableLib | |
| BaseLib | |
| DebugLib | |
| UefiDriverEntryPoint | |
| TimerLib | |
| RngLib | |
| [LibraryClasses.AARCH64] | |
| 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 |