## @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.
# (C) Copyright 2015 Hewlett Packard Enterprise Development LP
# Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.
# 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] gEfiSecurityPkgTokenSpaceGuid.PcdCpuRngSupportedAlgorithm ## CONSUMES [Depex] TRUE [BuildOptions] XCODE:*_*_*_CC_FLAGS = -mmmx -msse [UserExtensions.TianoCore."ExtraFiles"] RngDxeExtra.uni