UefiPayloadPkg.dsc 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887
  1. ## @file
  2. # Bootloader Payload Package
  3. #
  4. # Provides drivers and definitions to create uefi payload for bootloaders.
  5. #
  6. # Copyright (c) 2014 - 2022, Intel Corporation. All rights reserved.<BR>
  7. # Copyright (c) Microsoft Corporation.
  8. # SPDX-License-Identifier: BSD-2-Clause-Patent
  9. #
  10. ##
  11. ################################################################################
  12. #
  13. # Defines Section - statements that will be processed to create a Makefile.
  14. #
  15. ################################################################################
  16. [Defines]
  17. PLATFORM_NAME = UefiPayloadPkg
  18. PLATFORM_GUID = F71608AB-D63D-4491-B744-A99998C8CD96
  19. PLATFORM_VERSION = 0.1
  20. DSC_SPECIFICATION = 0x00010005
  21. SUPPORTED_ARCHITECTURES = IA32|X64
  22. BUILD_TARGETS = DEBUG|RELEASE|NOOPT
  23. SKUID_IDENTIFIER = DEFAULT
  24. OUTPUT_DIRECTORY = Build/UefiPayloadPkgX64
  25. FLASH_DEFINITION = UefiPayloadPkg/UefiPayloadPkg.fdf
  26. PCD_DYNAMIC_AS_DYNAMICEX = TRUE
  27. DEFINE SOURCE_DEBUG_ENABLE = FALSE
  28. DEFINE PS2_KEYBOARD_ENABLE = FALSE
  29. DEFINE RAM_DISK_ENABLE = FALSE
  30. DEFINE SIO_BUS_ENABLE = FALSE
  31. DEFINE UNIVERSAL_PAYLOAD = FALSE
  32. DEFINE SECURITY_STUB_ENABLE = TRUE
  33. DEFINE SMM_SUPPORT = FALSE
  34. DEFINE PLATFORM_BOOT_TIMEOUT = 3
  35. DEFINE ABOVE_4G_MEMORY = TRUE
  36. DEFINE BOOT_MANAGER_ESCAPE = FALSE
  37. DEFINE ATA_ENABLE = TRUE
  38. DEFINE SD_ENABLE = TRUE
  39. DEFINE PS2_MOUSE_ENABLE = TRUE
  40. DEFINE CRYPTO_PROTOCOL_SUPPORT = FALSE
  41. DEFINE SD_MMC_TIMEOUT = 1000000
  42. DEFINE USE_CBMEM_FOR_CONSOLE = FALSE
  43. DEFINE BOOTSPLASH_IMAGE = FALSE
  44. DEFINE NVME_ENABLE = TRUE
  45. #
  46. # NULL: NullMemoryTestDxe
  47. # GENERIC: GenericMemoryTestDxe
  48. #
  49. DEFINE MEMORY_TEST = NULL
  50. #
  51. # SBL: UEFI payload for Slim Bootloader
  52. # COREBOOT: UEFI payload for coreboot
  53. #
  54. DEFINE BOOTLOADER = SBL
  55. #
  56. # CPU options
  57. #
  58. DEFINE MAX_LOGICAL_PROCESSORS = 256
  59. #
  60. # PCI options
  61. #
  62. DEFINE PCIE_BASE_SUPPORT = TRUE
  63. #
  64. # Serial port set up
  65. #
  66. DEFINE BAUD_RATE = 115200
  67. DEFINE SERIAL_CLOCK_RATE = 1843200
  68. DEFINE SERIAL_LINE_CONTROL = 3 # 8-bits, no parity
  69. DEFINE SERIAL_HARDWARE_FLOW_CONTROL = FALSE
  70. DEFINE SERIAL_DETECT_CABLE = FALSE
  71. DEFINE SERIAL_FIFO_CONTROL = 7 # Enable FIFO
  72. DEFINE UART_DEFAULT_BAUD_RATE = $(BAUD_RATE)
  73. DEFINE UART_DEFAULT_DATA_BITS = 8
  74. DEFINE UART_DEFAULT_PARITY = 1
  75. DEFINE UART_DEFAULT_STOP_BITS = 1
  76. DEFINE DEFAULT_TERMINAL_TYPE = 0
  77. # Enabling the serial terminal will slow down the boot menu redering!
  78. DEFINE DISABLE_SERIAL_TERMINAL = FALSE
  79. #
  80. # typedef struct {
  81. # UINT16 VendorId; ///< Vendor ID to match the PCI device. The value 0xFFFF terminates the list of entries.
  82. # UINT16 DeviceId; ///< Device ID to match the PCI device
  83. # UINT32 ClockRate; ///< UART clock rate. Set to 0 for default clock rate of 1843200 Hz
  84. # UINT64 Offset; ///< The byte offset into to the BAR
  85. # UINT8 BarIndex; ///< Which BAR to get the UART base address
  86. # UINT8 RegisterStride; ///< UART register stride in bytes. Set to 0 for default register stride of 1 byte.
  87. # UINT16 ReceiveFifoDepth; ///< UART receive FIFO depth in bytes. Set to 0 for a default FIFO depth of 16 bytes.
  88. # UINT16 TransmitFifoDepth; ///< UART transmit FIFO depth in bytes. Set to 0 for a default FIFO depth of 16 bytes.
  89. # UINT8 Reserved[2];
  90. # } PCI_SERIAL_PARAMETER;
  91. #
  92. # Vendor FFFF Device 0000 Prog Interface 1, BAR #0, Offset 0, Stride = 1, Clock 1843200 (0x1c2000)
  93. #
  94. # [Vendor] [Device] [----ClockRate---] [------------Offset-----------] [Bar] [Stride] [RxFifo] [TxFifo] [Rsvd] [Vendor]
  95. DEFINE PCI_SERIAL_PARAMETERS = {0xff,0xff, 0x00,0x00, 0x0,0x20,0x1c,0x00, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x00, 0x01, 0x0,0x0, 0x0,0x0, 0x0,0x0, 0xff,0xff}
  96. #
  97. # Shell options: [BUILD_SHELL, MIN_BIN, NONE, UEFI_BIN]
  98. #
  99. DEFINE SHELL_TYPE = BUILD_SHELL
  100. #
  101. # EMU: UEFI payload with EMU variable
  102. # SPI: UEFI payload with SPI NV variable support
  103. # NONE: UEFI payload with no variable modules
  104. #
  105. DEFINE VARIABLE_SUPPORT = EMU
  106. DEFINE DISABLE_RESET_SYSTEM = FALSE
  107. DEFINE NETWORK_DRIVER_ENABLE = FALSE
  108. # Dfine the maximum size of the capsule image without a reset flag that the platform can support.
  109. DEFINE MAX_SIZE_NON_POPULATE_CAPSULE = 0xa00000
  110. # Define RTC related register.
  111. DEFINE RTC_INDEX_REGISTER = 0x70
  112. DEFINE RTC_TARGET_REGISTER = 0x71
  113. DEFINE SERIAL_DRIVER_ENABLE = TRUE
  114. DEFINE PERFORMANCE_MEASUREMENT_ENABLE = FALSE
  115. # For recent X86 CPU, 0x15 CPUID instruction will return Time Stamp Counter Frequence.
  116. # This is how BaseCpuTimerLib works, and a recommended way to get Frequence, so set the default value as TRUE.
  117. # Note: for emulation platform such as QEMU, this may not work and should set it as FALSE
  118. DEFINE CPU_TIMER_LIB_ENABLE = TRUE
  119. [BuildOptions]
  120. *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
  121. !if $(USE_CBMEM_FOR_CONSOLE) == FALSE
  122. GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
  123. INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
  124. MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
  125. !endif
  126. [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
  127. GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
  128. XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
  129. XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
  130. CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
  131. MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
  132. ################################################################################
  133. #
  134. # SKU Identification section - list of all SKU IDs supported by this Platform.
  135. #
  136. ################################################################################
  137. [SkuIds]
  138. 0|DEFAULT
  139. ################################################################################
  140. #
  141. # Library Class section - list of all Library Classes needed by this Platform.
  142. #
  143. ################################################################################
  144. !include MdePkg/MdeLibs.dsc.inc
  145. [LibraryClasses]
  146. #
  147. # Entry point
  148. #
  149. DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
  150. UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
  151. UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
  152. #
  153. # Basic
  154. #
  155. BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
  156. BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
  157. SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
  158. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  159. CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
  160. IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
  161. !if $(PCIE_BASE_SUPPORT) == FALSE
  162. PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
  163. PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
  164. !else
  165. PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
  166. PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
  167. !endif
  168. PciSegmentLib|MdePkg/Library/PciSegmentLibSegmentInfo/BasePciSegmentLibSegmentInfo.inf
  169. PciSegmentInfoLib|UefiPayloadPkg/Library/PciSegmentInfoLibAcpiBoardInfo/PciSegmentInfoLibAcpiBoardInfo.inf
  170. PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
  171. PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
  172. CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
  173. SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
  174. DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLib/DxeHobListLib.inf
  175. !if $(CRYPTO_PROTOCOL_SUPPORT) == TRUE
  176. BaseCryptLib|CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf
  177. TlsLib|CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf
  178. !else
  179. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
  180. TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
  181. !endif
  182. IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
  183. OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
  184. RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
  185. HobLib|UefiPayloadPkg/Library/DxeHobLib/DxeHobLib.inf
  186. #
  187. # UEFI & PI
  188. #
  189. UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
  190. UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
  191. UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
  192. UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
  193. UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
  194. HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
  195. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  196. UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
  197. DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
  198. DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
  199. UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
  200. SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
  201. #
  202. # Generic Modules
  203. #
  204. UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
  205. UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
  206. OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
  207. CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
  208. SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
  209. UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
  210. BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
  211. CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
  212. FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
  213. #
  214. # CPU
  215. #
  216. MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
  217. LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
  218. MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf
  219. #
  220. # Platform
  221. #
  222. !if $(CPU_TIMER_LIB_ENABLE) == TRUE && $(UNIVERSAL_PAYLOAD) == TRUE
  223. TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf
  224. !else
  225. TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
  226. !endif
  227. ResetSystemLib|UefiPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf
  228. !if $(USE_CBMEM_FOR_CONSOLE) == TRUE
  229. SerialPortLib|UefiPayloadPkg/Library/CbSerialPortLib/CbSerialPortLib.inf
  230. PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
  231. !else
  232. SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
  233. PlatformHookLib|UefiPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf
  234. !endif
  235. PlatformBootManagerLib|UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
  236. IoApicLib|PcAtChipsetPkg/Library/BaseIoApicLib/BaseIoApicLib.inf
  237. #
  238. # Misc
  239. #
  240. DebugPrintErrorLevelLib|UefiPayloadPkg/Library/DebugPrintErrorLevelLibHob/DebugPrintErrorLevelLibHob.inf
  241. PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
  242. !if $(SOURCE_DEBUG_ENABLE) == TRUE
  243. PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
  244. DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
  245. !else
  246. PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
  247. DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
  248. !endif
  249. PlatformSupportLib|UefiPayloadPkg/Library/PlatformSupportLibNull/PlatformSupportLibNull.inf
  250. !if $(UNIVERSAL_PAYLOAD) == FALSE
  251. !if $(BOOTLOADER) == "COREBOOT"
  252. BlParseLib|UefiPayloadPkg/Library/CbParseLib/CbParseLib.inf
  253. !else
  254. BlParseLib|UefiPayloadPkg/Library/SblParseLib/SblParseLib.inf
  255. !endif
  256. !endif
  257. DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
  258. LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf
  259. FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
  260. AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
  261. !if $(VARIABLE_SUPPORT) == "EMU"
  262. TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
  263. !elseif $(VARIABLE_SUPPORT) == "SPI"
  264. PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.inf
  265. TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
  266. S3BootScriptLib|MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf
  267. MmUnblockMemoryLib|MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
  268. !endif
  269. VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
  270. VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
  271. VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
  272. VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
  273. VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf
  274. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  275. [LibraryClasses.common]
  276. !if $(BOOTSPLASH_IMAGE)
  277. SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
  278. BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
  279. !endif
  280. [LibraryClasses.common.SEC]
  281. HobLib|UefiPayloadPkg/Library/PayloadEntryHobLib/HobLib.inf
  282. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  283. DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLibNull/DxeHobListLibNull.inf
  284. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  285. [LibraryClasses.common.DXE_CORE]
  286. DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLibNull/DxeHobListLibNull.inf
  287. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  288. HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
  289. MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
  290. ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
  291. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  292. !if $(SOURCE_DEBUG_ENABLE)
  293. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
  294. !endif
  295. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
  296. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  297. PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
  298. !endif
  299. [LibraryClasses.common.DXE_DRIVER]
  300. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  301. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  302. ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
  303. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  304. !if $(SOURCE_DEBUG_ENABLE)
  305. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
  306. !endif
  307. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
  308. MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
  309. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  310. PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
  311. !endif
  312. [LibraryClasses.common.DXE_RUNTIME_DRIVER]
  313. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  314. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  315. ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
  316. VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
  317. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  318. PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
  319. !endif
  320. [LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]
  321. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  322. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  323. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  324. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  325. PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
  326. !endif
  327. [LibraryClasses.common.SMM_CORE]
  328. !if $(SMM_SUPPORT) == TRUE
  329. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  330. SmmServicesTableLib|MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.inf
  331. MemoryAllocationLib|MdeModulePkg/Library/PiSmmCoreMemoryAllocationLib/PiSmmCoreMemoryAllocationLib.inf
  332. SmmCorePlatformHookLib|MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf
  333. SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
  334. ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
  335. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  336. PerformanceLib|MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.inf
  337. !endif
  338. !endif
  339. [LibraryClasses.common.DXE_SMM_DRIVER]
  340. !if $(SMM_SUPPORT) == TRUE
  341. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  342. MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
  343. SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
  344. SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
  345. MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf
  346. DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
  347. SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
  348. SmmCpuFeaturesLib|UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
  349. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
  350. ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
  351. SmmCpuRendezvousLib|UefiCpuPkg/Library/SmmCpuRendezvousLib/SmmCpuRendezvousLib.inf
  352. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  353. PerformanceLib|MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLib.inf
  354. !endif
  355. !endif
  356. !if $(VARIABLE_SUPPORT) == "SPI"
  357. SpiFlashLib|UefiPayloadPkg/Library/SpiFlashLib/SpiFlashLib.inf
  358. FlashDeviceLib|UefiPayloadPkg/Library/FlashDeviceLib/FlashDeviceLib.inf
  359. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
  360. !endif
  361. ################################################################################
  362. #
  363. # Pcd Section - list of all EDK II PCD Entries defined by this Platform.
  364. #
  365. ################################################################################
  366. [PcdsFeatureFlag]
  367. gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE
  368. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
  369. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
  370. ## This PCD specified whether ACPI SDT protocol is installed.
  371. gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
  372. gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
  373. gEfiMdeModulePkgTokenSpaceGuid.PcdPciDegradeResourceForOptionRom|FALSE
  374. gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
  375. [PcdsFixedAtBuild]
  376. gEfiMdePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|1
  377. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x10000
  378. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
  379. gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000
  380. !if $(VARIABLE_SUPPORT) == "EMU"
  381. gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable |TRUE
  382. !else
  383. gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable |FALSE
  384. !endif
  385. gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
  386. gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE
  387. gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE
  388. gUefiPayloadPkgTokenSpaceGuid.PcdPcdDriverFile|{ 0x57, 0x72, 0xcf, 0x80, 0xab, 0x87, 0xf9, 0x47, 0xa3, 0xfe, 0xD5, 0x0B, 0x76, 0xd8, 0x95, 0x41 }
  389. !if $(SOURCE_DEBUG_ENABLE)
  390. gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
  391. !endif
  392. gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000
  393. gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiFpdtStringRecordEnableOnly| TRUE
  394. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  395. gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask | 0x1
  396. !endif
  397. gEfiMdeModulePkgTokenSpaceGuid.PcdSdMmcGenericTimeoutValue|$(SD_MMC_TIMEOUT)
  398. gUefiPayloadPkgTokenSpaceGuid.PcdDispatchModuleAbove4GMemory|$(ABOVE_4G_MEMORY)
  399. gUefiPayloadPkgTokenSpaceGuid.PcdBootManagerEscape|$(BOOT_MANAGER_ESCAPE)
  400. gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1800000
  401. !if $(CRYPTO_PROTOCOL_SUPPORT) == TRUE
  402. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  403. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Md5.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  404. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  405. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Dh.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  406. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Random.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  407. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  408. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha1.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  409. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  410. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha384.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  411. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha512.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  412. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.X509.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  413. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Tdes.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  414. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.GetContextSize | TRUE
  415. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.Init | TRUE
  416. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcEncrypt | TRUE
  417. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcDecrypt | TRUE
  418. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Arc4.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  419. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sm3.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  420. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Hkdf.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  421. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Tls.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  422. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.TlsSet.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  423. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.TlsGet.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  424. !endif
  425. [PcdsPatchableInModule.X64]
  426. gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister|$(RTC_INDEX_REGISTER)
  427. gPcAtChipsetPkgTokenSpaceGuid.PcdRtcTargetRegister|$(RTC_TARGET_REGISTER)
  428. !if $(NETWORK_DRIVER_ENABLE) == TRUE
  429. gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
  430. !endif
  431. [PcdsPatchableInModule.common]
  432. gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
  433. gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7
  434. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
  435. !if $(USE_CBMEM_FOR_CONSOLE) == FALSE
  436. !if $(SOURCE_DEBUG_ENABLE)
  437. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
  438. !else
  439. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
  440. !endif
  441. !else
  442. !if $(TARGET) == DEBUG
  443. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x07
  444. !else
  445. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x03
  446. !endif
  447. !endif
  448. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|$(MAX_SIZE_NON_POPULATE_CAPSULE)
  449. #
  450. # The following parameters are set by Library/PlatformHookLib
  451. #
  452. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|FALSE
  453. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0
  454. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|$(BAUD_RATE)
  455. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1
  456. #
  457. # Enable these parameters to be set on the command line
  458. #
  459. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|$(SERIAL_CLOCK_RATE)
  460. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl|$(SERIAL_LINE_CONTROL)
  461. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|$(SERIAL_HARDWARE_FLOW_CONTROL)
  462. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable|$(SERIAL_DETECT_CABLE)
  463. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|$(SERIAL_FIFO_CONTROL)
  464. gEfiMdeModulePkgTokenSpaceGuid.PcdPciSerialParameters|$(PCI_SERIAL_PARAMETERS)
  465. gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|$(MAX_LOGICAL_PROCESSORS)
  466. gUefiCpuPkgTokenSpaceGuid.PcdCpuNumberOfReservedVariableMtrrs|0
  467. gUefiPayloadPkgTokenSpaceGuid.PcdBootloaderParameter|0
  468. ################################################################################
  469. #
  470. # Pcd DynamicEx Section - list of all EDK II PCD Entries defined by this Platform
  471. #
  472. ################################################################################
  473. [PcdsDynamicExDefault]
  474. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|$(UART_DEFAULT_BAUD_RATE)
  475. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|$(UART_DEFAULT_DATA_BITS)
  476. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|$(UART_DEFAULT_PARITY)
  477. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|$(UART_DEFAULT_STOP_BITS)
  478. gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|$(DEFAULT_TERMINAL_TYPE)
  479. gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport
  480. gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport
  481. gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport
  482. gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize
  483. gUefiCpuPkgTokenSpaceGuid.PcdCpuApInitTimeOutInMicroSeconds
  484. gUefiCpuPkgTokenSpaceGuid.PcdCpuApLoopMode
  485. gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress
  486. gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize
  487. !if ($(TARGET) == DEBUG || $(USE_CBMEM_FOR_CONSOLE) == TRUE)
  488. gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
  489. !else
  490. gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE
  491. !endif
  492. gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
  493. gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
  494. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
  495. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
  496. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
  497. gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|$(PLATFORM_BOOT_TIMEOUT)
  498. !if $(VARIABLE_SUPPORT) == "SPI"
  499. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize |0
  500. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0
  501. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize |0
  502. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase |0
  503. !endif
  504. # Disable SMM S3 script
  505. gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE
  506. ## This PCD defines the video horizontal resolution.
  507. # This PCD could be set to 0 then video resolution could be at highest resolution.
  508. gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|0
  509. ## This PCD defines the video vertical resolution.
  510. # This PCD could be set to 0 then video resolution could be at highest resolution.
  511. gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|0
  512. ## The PCD is used to specify the video horizontal resolution of text setup.
  513. gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|0
  514. ## The PCD is used to specify the video vertical resolution of text setup.
  515. gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|0
  516. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|31
  517. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|100
  518. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0
  519. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseSize|0
  520. gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase|0
  521. gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed|FALSE
  522. gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled|0
  523. gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE
  524. ################################################################################
  525. #
  526. # Components Section - list of all EDK II Modules needed by this Platform.
  527. #
  528. ################################################################################
  529. !if "IA32" in "$(ARCH)"
  530. [Components.IA32]
  531. !if $(UNIVERSAL_PAYLOAD) == TRUE
  532. UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf
  533. !else
  534. UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
  535. !endif
  536. !else
  537. [Components.X64]
  538. !if $(UNIVERSAL_PAYLOAD) == TRUE
  539. UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf
  540. !else
  541. UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
  542. !endif
  543. !endif
  544. #
  545. # UEFI network modules
  546. #
  547. !if $(NETWORK_DRIVER_ENABLE) == TRUE
  548. [Defines]
  549. DEFINE PLATFORMX64_ENABLE = TRUE
  550. !include NetworkPkg/Network.dsc.inc
  551. !endif
  552. [Components.X64]
  553. #
  554. # DXE Core
  555. #
  556. MdeModulePkg/Core/Dxe/DxeMain.inf {
  557. <LibraryClasses>
  558. NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
  559. }
  560. #
  561. # Components that produce the architectural protocols
  562. #
  563. !if $(SECURITY_STUB_ENABLE) == TRUE
  564. MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
  565. !endif
  566. UefiCpuPkg/CpuDxe/CpuDxe.inf
  567. MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
  568. !if $(BOOTSPLASH_IMAGE)
  569. MdeModulePkg/Logo/LogoDxe.inf
  570. !endif
  571. MdeModulePkg/Application/UiApp/UiApp.inf {
  572. <LibraryClasses>
  573. NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
  574. NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
  575. NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
  576. }
  577. MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf {
  578. <LibraryClasses>
  579. NULL|UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
  580. }
  581. PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
  582. MdeModulePkg/Universal/Metronome/Metronome.inf
  583. MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
  584. MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
  585. MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
  586. MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
  587. !if $(DISABLE_RESET_SYSTEM) == FALSE
  588. MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
  589. !endif
  590. PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
  591. !if $(EMU_VARIABLE_ENABLE) == TRUE
  592. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
  593. !endif
  594. #
  595. # Following are the DXE drivers
  596. #
  597. MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
  598. <LibraryClasses>
  599. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  600. }
  601. MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
  602. MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
  603. UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
  604. MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
  605. !if $(MEMORY_TEST) == "GENERIC"
  606. MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf
  607. !elseif $(MEMORY_TEST) == "NULL"
  608. MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
  609. !endif
  610. MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
  611. MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
  612. MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
  613. MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf
  614. MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
  615. UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf
  616. #
  617. # SMBIOS Support
  618. #
  619. MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
  620. #
  621. # ACPI Support
  622. #
  623. MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
  624. !if $(BOOTSPLASH_IMAGE)
  625. MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
  626. MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
  627. !endif
  628. #
  629. # PCI Support
  630. #
  631. MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
  632. MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
  633. <LibraryClasses>
  634. PciHostBridgeLib|UefiPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf
  635. }
  636. #
  637. # SCSI/ATA/IDE/DISK Support
  638. #
  639. MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
  640. MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
  641. MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
  642. FatPkg/EnhancedFatDxe/Fat.inf
  643. !if $(ATA_ENABLE) == TRUE
  644. MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
  645. MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
  646. !endif
  647. MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
  648. MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
  649. MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
  650. !if $(NVME_ENABLE) == TRUE
  651. MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
  652. !endif
  653. !if $(RAM_DISK_ENABLE) == TRUE
  654. MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
  655. !endif
  656. #
  657. # SD/eMMC Support
  658. #
  659. !if $(SD_ENABLE) == TRUE
  660. MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf
  661. MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf
  662. MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf
  663. !endif
  664. #
  665. # Usb Support
  666. #
  667. MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
  668. MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
  669. MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
  670. MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
  671. MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
  672. MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
  673. MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf
  674. #
  675. # ISA Support
  676. #
  677. !if $(SERIAL_DRIVER_ENABLE) == TRUE
  678. MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
  679. !endif
  680. !if $(SIO_BUS_ENABLE) == TRUE
  681. OvmfPkg/SioBusDxe/SioBusDxe.inf
  682. !endif
  683. !if $(PS2_KEYBOARD_ENABLE) == TRUE
  684. MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
  685. !endif
  686. !if $(PS2_MOUSE_ENABLE) == TRUE
  687. MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf
  688. !endif
  689. #
  690. # Console Support
  691. #
  692. MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
  693. MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
  694. MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
  695. !if $(DISABLE_SERIAL_TERMINAL) == FALSE
  696. MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
  697. !endif
  698. UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutputDxe.inf
  699. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  700. MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf
  701. !endif
  702. #
  703. # SMM Support
  704. #
  705. !if $(SMM_SUPPORT) == TRUE
  706. UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.inf
  707. UefiPayloadPkg/SmmControlRuntimeDxe/SmmControlRuntimeDxe.inf
  708. UefiPayloadPkg/BlSupportSmm/BlSupportSmm.inf
  709. MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
  710. MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
  711. UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.inf
  712. UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
  713. UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
  714. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  715. MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf
  716. !endif
  717. !endif
  718. !if $(VARIABLE_SUPPORT) == "EMU"
  719. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
  720. !elseif $(VARIABLE_SUPPORT) == "SPI"
  721. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
  722. <LibraryClasses>
  723. NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
  724. NULL|MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiLib.inf
  725. NULL|MdeModulePkg/Library/VarCheckPcdLib/VarCheckPcdLib.inf
  726. NULL|MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyLib.inf
  727. }
  728. UefiPayloadPkg/FvbRuntimeDxe/FvbSmm.inf
  729. MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
  730. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
  731. !endif
  732. #
  733. # Misc
  734. #
  735. !if $(CRYPTO_PROTOCOL_SUPPORT) == TRUE
  736. CryptoPkg/Driver/CryptoDxe.inf {
  737. <LibraryClasses>
  738. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
  739. TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
  740. }
  741. !endif
  742. #------------------------------
  743. # Build the shell
  744. #------------------------------
  745. !if $(SHELL_TYPE) == BUILD_SHELL
  746. #
  747. # Shell Lib
  748. #
  749. [LibraryClasses]
  750. BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
  751. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  752. FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
  753. ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
  754. !include NetworkPkg/NetworkLibs.dsc.inc
  755. [Components.X64]
  756. ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
  757. <PcdsFixedAtBuild>
  758. ## This flag is used to control initialization of the shell library
  759. # This should be FALSE for compiling the dynamic command.
  760. gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
  761. }
  762. !if $(PERFORMANCE_MEASUREMENT_ENABLE) == TRUE
  763. ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf {
  764. <PcdsFixedAtBuild>
  765. ## This flag is used to control initialization of the shell library
  766. # This should be FALSE for compiling the dynamic command.
  767. gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
  768. }
  769. !endif
  770. ShellPkg/Application/Shell/Shell.inf {
  771. <PcdsFixedAtBuild>
  772. ## This flag is used to control initialization of the shell library
  773. # This should be FALSE for compiling the shell application itself only.
  774. gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
  775. #------------------------------
  776. # Basic commands
  777. #------------------------------
  778. <LibraryClasses>
  779. NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
  780. NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
  781. NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
  782. NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
  783. NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
  784. NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
  785. #------------------------------
  786. # Networking commands
  787. #------------------------------
  788. <LibraryClasses>
  789. NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
  790. #------------------------------
  791. # Support libraries
  792. #------------------------------
  793. <LibraryClasses>
  794. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  795. HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
  796. OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
  797. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  798. ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
  799. ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
  800. SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
  801. }
  802. !endif