RngDxe.inf 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. [Defines]
  18. INF_VERSION = 0x00010005
  19. BASE_NAME = RngDxe
  20. FILE_GUID = B981A835-6EE8-4f4c-AE0B-210AA0BFBF01
  21. MODULE_TYPE = DXE_DRIVER
  22. VERSION_STRING = 1.0
  23. ENTRY_POINT = RngDriverEntry
  24. UNLOAD_IMAGE = RngDriverUnLoad
  25. MODULE_UNI_FILE = RngDxe.uni
  26. #
  27. # The following information is for reference only and not required by the build tools.
  28. #
  29. # VALID_ARCHITECTURES = IA32 X64 AARCH64 ARM
  30. #
  31. [Sources.common]
  32. RngDxe.c
  33. RngDxeInternals.h
  34. [Sources.IA32, Sources.X64]
  35. Rand/RngDxe.c
  36. Rand/RdRand.c
  37. Rand/AesCore.c
  38. Rand/AesCore.h
  39. [Sources.AARCH64, Sources.ARM]
  40. ArmRngDxe.c
  41. ArmTrng.c
  42. [Sources.AARCH64]
  43. AArch64/AArch64Algo.c
  44. [Sources.ARM]
  45. Arm/ArmAlgo.c
  46. [Packages]
  47. MdeModulePkg/MdeModulePkg.dec
  48. MdePkg/MdePkg.dec
  49. SecurityPkg/SecurityPkg.dec
  50. [LibraryClasses]
  51. UefiLib
  52. UefiBootServicesTableLib
  53. BaseLib
  54. DebugLib
  55. UefiDriverEntryPoint
  56. TimerLib
  57. RngLib
  58. [LibraryClasses.AARCH64, LibraryClasses.ARM]
  59. ArmTrngLib
  60. [Guids]
  61. gEfiRngAlgorithmSp80090Hash256Guid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
  62. gEfiRngAlgorithmSp80090Hmac256Guid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
  63. gEfiRngAlgorithmSp80090Ctr256Guid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
  64. gEfiRngAlgorithmX9313DesGuid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
  65. gEfiRngAlgorithmX931AesGuid ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
  66. gEfiRngAlgorithmRaw ## SOMETIMES_PRODUCES ## GUID # Unique ID of the algorithm for RNG
  67. [Protocols]
  68. gEfiRngProtocolGuid ## PRODUCES
  69. [Pcd]
  70. gEfiSecurityPkgTokenSpaceGuid.PcdCpuRngSupportedAlgorithm ## CONSUMES
  71. [Depex]
  72. TRUE
  73. [BuildOptions]
  74. XCODE:*_*_*_CC_FLAGS = -mmmx -msse
  75. [UserExtensions.TianoCore."ExtraFiles"]
  76. RngDxeExtra.uni