]> git.proxmox.com Git - mirror_edk2.git/blob - SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf
SecurityPkg/RngDxe: Add AArch64 RawAlgorithm support through ArmTrngLib
[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
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]
45 AArch64/RngDxe.c
46 ArmTrng.c
47
48 [Packages]
49 MdeModulePkg/MdeModulePkg.dec
50 MdePkg/MdePkg.dec
51 SecurityPkg/SecurityPkg.dec
52
53 [LibraryClasses]
54 UefiLib
55 UefiBootServicesTableLib
56 BaseLib
57 DebugLib
58 UefiDriverEntryPoint
59 TimerLib
60 RngLib
61
62 [LibraryClasses.AARCH64]
63 ArmTrngLib
64
65 [Guids]
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
72
73 [Protocols]
74 gEfiRngProtocolGuid ## PRODUCES
75
76 [Pcd]
77 gEfiSecurityPkgTokenSpaceGuid.PcdCpuRngSupportedAlgorithm ## CONSUMES
78
79 [Depex]
80 TRUE
81
82 [BuildOptions]
83 XCODE:*_*_*_CC_FLAGS = -mmmx -msse
84
85 [UserExtensions.TianoCore."ExtraFiles"]
86 RngDxeExtra.uni