]> git.proxmox.com Git - mirror_edk2.git/blob - SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / SecurityPkg / RandomNumberGenerator / RngDxe / RngDxe.inf
1 ## @file
2 # Produces the UEFI Random Number Generator protocol
3 #
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.
10 #
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
15 #
16 ##
17
18 [Defines]
19 INF_VERSION = 0x00010005
20 BASE_NAME = RngDxe
21 FILE_GUID = B981A835-6EE8-4f4c-AE0B-210AA0BFBF01
22 MODULE_TYPE = DXE_DRIVER
23 VERSION_STRING = 1.0
24 ENTRY_POINT = RngDriverEntry
25 UNLOAD_IMAGE = RngDriverUnLoad
26 MODULE_UNI_FILE = RngDxe.uni
27
28 #
29 # The following information is for reference only and not required by the build tools.
30 #
31 # VALID_ARCHITECTURES = IA32 X64 AARCH64 ARM
32 #
33
34 [Sources.common]
35 RngDxe.c
36 RngDxeInternals.h
37
38 [Sources.IA32, Sources.X64]
39 Rand/RngDxe.c
40 Rand/RdRand.c
41 Rand/AesCore.c
42 Rand/AesCore.h
43
44 [Sources.AARCH64, Sources.ARM]
45 ArmRngDxe.c
46 ArmTrng.c
47
48 [Sources.AARCH64]
49 AArch64/AArch64Algo.c
50
51 [Sources.ARM]
52 Arm/ArmAlgo.c
53
54 [Packages]
55 MdeModulePkg/MdeModulePkg.dec
56 MdePkg/MdePkg.dec
57 SecurityPkg/SecurityPkg.dec
58
59 [LibraryClasses]
60 UefiLib
61 UefiBootServicesTableLib
62 BaseLib
63 DebugLib
64 UefiDriverEntryPoint
65 TimerLib
66 RngLib
67
68 [LibraryClasses.AARCH64, LibraryClasses.ARM]
69 ArmTrngLib
70
71 [Guids]
72 gEfiRngAlgorithmSp80090Hash256Guid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
73 gEfiRngAlgorithmSp80090Hmac256Guid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
74 gEfiRngAlgorithmSp80090Ctr256Guid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
75 gEfiRngAlgorithmX9313DesGuid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
76 gEfiRngAlgorithmX931AesGuid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
77 gEfiRngAlgorithmRaw ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
78
79 [Protocols]
80 gEfiRngProtocolGuid ## PRODUCES
81
82 [Pcd]
83 gEfiSecurityPkgTokenSpaceGuid.PcdCpuRngSupportedAlgorithm ## CONSUMES
84
85 [Depex]
86 TRUE
87
88 [BuildOptions]
89 XCODE:*_*_*_CC_FLAGS = -mmmx -msse
90
91 [UserExtensions.TianoCore."ExtraFiles"]
92 RngDxeExtra.uni