PlatformSetupDxe.inf 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #
  2. #
  3. # Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.<BR>
  4. #
  5. # SPDX-License-Identifier: BSD-2-Clause-Patent
  6. #
  7. # This driver produces UEFI PLATFORM_DRIVER_OVERRIDE_PROTOCOL if this protocol doesn't exist.
  8. # It doesn't install again if this protocol exists.
  9. # It only implements one interface GetDriver of PLATFORM_DRIVER_OVERRIDE_PROTOCOL protocol
  10. # and doesn't support other two interfaces GetDriverPath, DriverLoaded.
  11. #
  12. # This driver also offers an UI interface in device manager to let user configure
  13. # platform override protocol to override the default algorithm for matching
  14. # drivers to controllers.
  15. #
  16. # The main flow:
  17. # 1. It dynamicly locate all controller device path.
  18. # 2. It dynamicly locate all drivers which support binding protocol.
  19. # 3. It export and dynamicly update two menu to let user select the
  20. # mapping between drivers to controllers.
  21. # 4. It save all the mapping info in NV variables for the following boot,
  22. # which will be consumed by GetDriver API of the produced the platform override protocol.
  23. #
  24. #
  25. ##
  26. [Defines]
  27. INF_VERSION = 0x00010005
  28. BASE_NAME = PlatformSetupDxe
  29. FILE_GUID = C1A69A12-8653-4fde-A215-48FCD95288C3
  30. MODULE_TYPE = DXE_DRIVER
  31. VERSION_STRING = 1.0
  32. ENTRY_POINT = PlatformSetupDxeInit
  33. UNLOAD_IMAGE = PlatformSetupDxeUnload
  34. #
  35. # The following information is for reference only and not required by the build tools.
  36. #
  37. # VALID_ARCHITECTURES = IA32 X64 EBC
  38. #
  39. [Sources]
  40. VfrStrings.uni
  41. FwVersionStrings.uni
  42. Vfr.vfr
  43. Main.vfi
  44. Boot.vfi
  45. PlatformSetupDxe.c
  46. SetupInfoRecords.c
  47. PlatformSetupDxe.h
  48. Security.vfi
  49. SouthClusterConfig.vfi
  50. Thermal.vfi
  51. SetupFunctions.c
  52. UnCore.vfi
  53. SystemComponent.vfi
  54. DebugConfig.vfi
  55. UqiList.uni
  56. [Packages]
  57. MdePkg/MdePkg.dec
  58. MdeModulePkg/MdeModulePkg.dec
  59. SecurityPkg/SecurityPkg.dec
  60. UefiCpuPkg/UefiCpuPkg.dec
  61. BoardModulePkg/BoardModulePkg.dec
  62. Vlv2TbltDevicePkg/PlatformPkg.dec
  63. Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec #for PchAccess.h
  64. [LibraryClasses]
  65. BaseLib
  66. DebugLib
  67. UefiLib
  68. UefiDriverEntryPoint
  69. UefiBootServicesTableLib
  70. HiiLib
  71. BaseMemoryLib
  72. MemoryAllocationLib
  73. DevicePathLib
  74. DxeServicesTableLib
  75. UefiRuntimeServicesTableLib
  76. PrintLib
  77. BiosIdLib
  78. IoLib
  79. HobLib
  80. [Guids]
  81. ## This GUID C Name is not required for build since it is from UefiLib and not directly used by this module source.
  82. ## gEfiGlobalVariableGuid ## SOMETIMES_CONSUMED ## Variable:L"PlatformLang" this variable specifies the platform supported language string (RFC 4646 format)
  83. ## gEfiGlobalVariableGuid ## SOMETIMES_CONSUMED ## Variable:L"Lang" this variable specifies the platform supported language string (ISO 639-2 format)
  84. ##
  85. # There could be more than one variables, from PlatDriOver, PlatDriOver1, PlatDriOver2,...
  86. #
  87. # gEfiCallerIdGuid ## Private ## Variable:L"PlatDriOver"
  88. gEfiIfrTianoGuid ## CONSUMES ## Guid
  89. gEfiPlatformInfoGuid
  90. gEfiNormalSetupGuid
  91. gOsSelectionVariableGuid
  92. gEfiGlobalVariableGuid
  93. [Protocols]
  94. gEfiComponentName2ProtocolGuid ## SOMETIMES_CONSUMED (Get Driver Name if ComponentName2Protocol exists)
  95. gEfiComponentNameProtocolGuid ## SOMETIMES_CONSUMED (Get Driver Name if ComponentNameProtocol exists and ComponentName2Protocol doesn't exist)
  96. gEfiFirmwareVolume2ProtocolGuid ## SOMETIMES_CONSUMED (Get Driver Name from EFI UI section if ComponentName2Protocol and ComponentNameProtocol don't exist)
  97. gEfiPciIoProtocolGuid ## SOMETIMES_CONSUMED (Find the PCI device if PciIo protocol is installed)
  98. gEfiPciRootBridgeIoProtocolGuid
  99. gEfiBusSpecificDriverOverrideProtocolGuid ## SOMETIMES_CONSUMED (Check whether the PCI device contains one or more efi drivers in its option rom by this protocol)
  100. gEfiDriverBindingProtocolGuid ## SOMETIMES_CONSUMED
  101. gEfiLoadedImageProtocolGuid ## SOMETIMES_CONSUMED
  102. gEfiLoadedImageDevicePathProtocolGuid ## SOMETIMES_CONSUMED (Show the drivers in the second page that support DriverBindingProtocol, LoadedImageProtocol and LoadedImageDevicePathProtocol)
  103. gEfiDevicePathProtocolGuid ## SOMETIMES_CONSUMED (Show the controller device in the first page that support DevicePathProtocol)
  104. gEfiFormBrowser2ProtocolGuid ## CONSUMED
  105. gEfiHiiConfigRoutingProtocolGuid ## CONSUMED
  106. gEfiHiiConfigAccessProtocolGuid ## PRODUCED
  107. gEfiDevicePathToTextProtocolGuid ## CONSUMED
  108. gEdkiiFormBrowserEx2ProtocolGuid
  109. gEfiSimpleNetworkProtocolGuid
  110. gEfiDiskInfoProtocolGuid ## CONSUMED
  111. gEfiMpServiceProtocolGuid
  112. gDxePchPlatformPolicyProtocolGuid
  113. gEfiTdtOperationProtocolGuid
  114. gEfiSmbiosProtocolGuid ## PROTOCOL CONSUMES
  115. [Pcd.common]
  116. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
  117. [Depex]
  118. gEfiFormBrowser2ProtocolGuid AND gEfiHiiConfigRoutingProtocolGuid