summaryrefslogtreecommitdiffstats
path: root/SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf
blob: e0e767cbf32bc1e4edcc72914a9619bc14151805 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
## @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]
  AArch64/RngDxe.c
  ArmTrng.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

[Protocols]
  gEfiRngProtocolGuid                ## PRODUCES

[Pcd]
  gEfiSecurityPkgTokenSpaceGuid.PcdCpuRngSupportedAlgorithm      ## CONSUMES

[Depex]
  TRUE

[BuildOptions]
  XCODE:*_*_*_CC_FLAGS = -mmmx -msse

[UserExtensions.TianoCore."ExtraFiles"]
  RngDxeExtra.uni