2 # Produces the UEFI Random Number Generator protocol
4 # This module will leverage Intel Secure Key technology to produce the Random
5 # Number Generator protocol, which is used to provide high-quality random numbers
6 # for use in applications, or entropy for seeding other random number generators.
7 # Refer to http://software.intel.com/en-us/articles/intel-digital-random-number
8 # -generator-drng-software-implementation-guide/ for more information about Intel
9 # Secure Key technology.
11 # Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
12 # (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
13 # Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.<BR>
14 # SPDX-License-Identifier: BSD-2-Clause-Patent
19 INF_VERSION = 0x00010005
21 FILE_GUID = B981A835-6EE8-4f4c-AE0B-210AA0BFBF01
22 MODULE_TYPE = DXE_DRIVER
24 ENTRY_POINT = RngDriverEntry
25 UNLOAD_IMAGE = RngDriverUnLoad
26 MODULE_UNI_FILE = RngDxe.uni
29 # The following information is for reference only and not required by the build tools.
31 # VALID_ARCHITECTURES = IA32 X64 AARCH64
38 [Sources.IA32, Sources.X64]
49 MdeModulePkg/MdeModulePkg.dec
51 SecurityPkg/SecurityPkg.dec
55 UefiBootServicesTableLib
62 [LibraryClasses.AARCH64]
66 gEfiRngAlgorithmSp80090Hash256Guid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
67 gEfiRngAlgorithmSp80090Hmac256Guid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
68 gEfiRngAlgorithmSp80090Ctr256Guid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
69 gEfiRngAlgorithmX9313DesGuid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
70 gEfiRngAlgorithmX931AesGuid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
71 gEfiRngAlgorithmRaw ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
74 gEfiRngProtocolGuid ## PRODUCES
77 gEfiSecurityPkgTokenSpaceGuid.PcdCpuRngSupportedAlgorithm ## CONSUMES
83 XCODE:*_*_*_CC_FLAGS = -mmmx -msse
85 [UserExtensions.TianoCore."ExtraFiles"]