UefiPayloadPkg.dsc 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893
  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. DEFINE MULTIPLE_DEBUG_PORT_SUPPORT = FALSE
  120. [BuildOptions]
  121. *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
  122. !if $(USE_CBMEM_FOR_CONSOLE) == FALSE
  123. GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
  124. INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
  125. MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
  126. !endif
  127. [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
  128. GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
  129. XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
  130. XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
  131. CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
  132. MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
  133. ################################################################################
  134. #
  135. # SKU Identification section - list of all SKU IDs supported by this Platform.
  136. #
  137. ################################################################################
  138. [SkuIds]
  139. 0|DEFAULT
  140. ################################################################################
  141. #
  142. # Library Class section - list of all Library Classes needed by this Platform.
  143. #
  144. ################################################################################
  145. !include MdePkg/MdeLibs.dsc.inc
  146. [LibraryClasses]
  147. #
  148. # Entry point
  149. #
  150. DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
  151. UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
  152. UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
  153. #
  154. # Basic
  155. #
  156. BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
  157. BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
  158. SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
  159. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  160. CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
  161. IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
  162. !if $(PCIE_BASE_SUPPORT) == FALSE
  163. PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
  164. PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
  165. !else
  166. PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
  167. PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
  168. !endif
  169. PciSegmentLib|MdePkg/Library/PciSegmentLibSegmentInfo/BasePciSegmentLibSegmentInfo.inf
  170. PciSegmentInfoLib|UefiPayloadPkg/Library/PciSegmentInfoLibAcpiBoardInfo/PciSegmentInfoLibAcpiBoardInfo.inf
  171. PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
  172. PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
  173. CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
  174. SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
  175. DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLib/DxeHobListLib.inf
  176. !if $(CRYPTO_PROTOCOL_SUPPORT) == TRUE
  177. BaseCryptLib|CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf
  178. TlsLib|CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf
  179. !else
  180. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
  181. TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
  182. !endif
  183. IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
  184. OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
  185. RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
  186. HobLib|UefiPayloadPkg/Library/DxeHobLib/DxeHobLib.inf
  187. #
  188. # UEFI & PI
  189. #
  190. UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
  191. UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
  192. UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
  193. UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
  194. UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
  195. HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
  196. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  197. UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
  198. DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
  199. DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
  200. UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
  201. SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
  202. #
  203. # Generic Modules
  204. #
  205. UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
  206. UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
  207. OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
  208. CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf
  209. BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
  210. SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
  211. UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
  212. BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
  213. CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
  214. FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
  215. #
  216. # CPU
  217. #
  218. MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
  219. LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
  220. MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf
  221. #
  222. # Platform
  223. #
  224. !if $(CPU_TIMER_LIB_ENABLE) == TRUE && $(UNIVERSAL_PAYLOAD) == TRUE
  225. TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf
  226. !else
  227. TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
  228. !endif
  229. ResetSystemLib|UefiPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf
  230. !if $(USE_CBMEM_FOR_CONSOLE) == TRUE
  231. SerialPortLib|UefiPayloadPkg/Library/CbSerialPortLib/CbSerialPortLib.inf
  232. PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
  233. !else
  234. SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
  235. PlatformHookLib|UefiPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf
  236. !endif
  237. PlatformBootManagerLib|UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
  238. IoApicLib|PcAtChipsetPkg/Library/BaseIoApicLib/BaseIoApicLib.inf
  239. #
  240. # Misc
  241. #
  242. DebugPrintErrorLevelLib|UefiPayloadPkg/Library/DebugPrintErrorLevelLibHob/DebugPrintErrorLevelLibHob.inf
  243. PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
  244. !if $(SOURCE_DEBUG_ENABLE) == TRUE
  245. PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
  246. DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
  247. !else
  248. PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
  249. DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
  250. !endif
  251. PlatformSupportLib|UefiPayloadPkg/Library/PlatformSupportLibNull/PlatformSupportLibNull.inf
  252. !if $(UNIVERSAL_PAYLOAD) == FALSE
  253. !if $(BOOTLOADER) == "COREBOOT"
  254. BlParseLib|UefiPayloadPkg/Library/CbParseLib/CbParseLib.inf
  255. !else
  256. BlParseLib|UefiPayloadPkg/Library/SblParseLib/SblParseLib.inf
  257. !endif
  258. !endif
  259. DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
  260. LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf
  261. FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
  262. AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
  263. !if $(VARIABLE_SUPPORT) == "EMU"
  264. TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
  265. !elseif $(VARIABLE_SUPPORT) == "SPI"
  266. PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.inf
  267. TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
  268. S3BootScriptLib|MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf
  269. MmUnblockMemoryLib|MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
  270. !endif
  271. VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
  272. VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
  273. VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
  274. VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
  275. CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
  276. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  277. [LibraryClasses.common]
  278. !if $(BOOTSPLASH_IMAGE)
  279. SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
  280. BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
  281. !endif
  282. [LibraryClasses.common.SEC]
  283. HobLib|UefiPayloadPkg/Library/PayloadEntryHobLib/HobLib.inf
  284. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  285. DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLibNull/DxeHobListLibNull.inf
  286. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  287. [LibraryClasses.common.DXE_CORE]
  288. DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLibNull/DxeHobListLibNull.inf
  289. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  290. HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
  291. MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
  292. ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
  293. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  294. !if $(SOURCE_DEBUG_ENABLE)
  295. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
  296. !endif
  297. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
  298. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  299. PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
  300. !endif
  301. [LibraryClasses.common.DXE_DRIVER]
  302. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  303. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  304. ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
  305. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  306. !if $(SOURCE_DEBUG_ENABLE)
  307. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
  308. !endif
  309. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
  310. MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
  311. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  312. PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
  313. !endif
  314. [LibraryClasses.common.DXE_RUNTIME_DRIVER]
  315. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  316. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  317. ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
  318. VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
  319. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  320. PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
  321. !endif
  322. [LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]
  323. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  324. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  325. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  326. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  327. PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
  328. !endif
  329. [LibraryClasses.common.SMM_CORE]
  330. !if $(SMM_SUPPORT) == TRUE
  331. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  332. SmmServicesTableLib|MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.inf
  333. MemoryAllocationLib|MdeModulePkg/Library/PiSmmCoreMemoryAllocationLib/PiSmmCoreMemoryAllocationLib.inf
  334. SmmCorePlatformHookLib|MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf
  335. SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
  336. ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
  337. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  338. PerformanceLib|MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.inf
  339. !endif
  340. !endif
  341. [LibraryClasses.common.DXE_SMM_DRIVER]
  342. !if $(SMM_SUPPORT) == TRUE
  343. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  344. MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
  345. SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
  346. SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
  347. MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf
  348. DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
  349. SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
  350. SmmCpuFeaturesLib|UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
  351. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
  352. ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
  353. SmmCpuRendezvousLib|UefiCpuPkg/Library/SmmCpuRendezvousLib/SmmCpuRendezvousLib.inf
  354. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  355. PerformanceLib|MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLib.inf
  356. !endif
  357. !endif
  358. !if $(VARIABLE_SUPPORT) == "SPI"
  359. SpiFlashLib|UefiPayloadPkg/Library/SpiFlashLib/SpiFlashLib.inf
  360. FlashDeviceLib|UefiPayloadPkg/Library/FlashDeviceLib/FlashDeviceLib.inf
  361. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
  362. !endif
  363. ################################################################################
  364. #
  365. # Pcd Section - list of all EDK II PCD Entries defined by this Platform.
  366. #
  367. ################################################################################
  368. [PcdsFeatureFlag]
  369. gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE
  370. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
  371. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
  372. ## This PCD specified whether ACPI SDT protocol is installed.
  373. gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
  374. gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
  375. gEfiMdeModulePkgTokenSpaceGuid.PcdPciDegradeResourceForOptionRom|FALSE
  376. gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
  377. [PcdsFixedAtBuild]
  378. gEfiMdePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|1
  379. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x10000
  380. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
  381. gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000
  382. !if $(VARIABLE_SUPPORT) == "EMU"
  383. gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable |TRUE
  384. !else
  385. gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable |FALSE
  386. !endif
  387. gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
  388. gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE
  389. gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE
  390. gUefiPayloadPkgTokenSpaceGuid.PcdPcdDriverFile|{ 0x57, 0x72, 0xcf, 0x80, 0xab, 0x87, 0xf9, 0x47, 0xa3, 0xfe, 0xD5, 0x0B, 0x76, 0xd8, 0x95, 0x41 }
  391. !if $(SOURCE_DEBUG_ENABLE)
  392. gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
  393. !endif
  394. gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000
  395. gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiFpdtStringRecordEnableOnly| TRUE
  396. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  397. gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask | 0x1
  398. !endif
  399. gEfiMdeModulePkgTokenSpaceGuid.PcdSdMmcGenericTimeoutValue|$(SD_MMC_TIMEOUT)
  400. gUefiPayloadPkgTokenSpaceGuid.PcdDispatchModuleAbove4GMemory|$(ABOVE_4G_MEMORY)
  401. gUefiPayloadPkgTokenSpaceGuid.PcdBootManagerEscape|$(BOOT_MANAGER_ESCAPE)
  402. gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1800000
  403. !if $(CRYPTO_PROTOCOL_SUPPORT) == TRUE
  404. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  405. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Md5.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  406. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  407. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Dh.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  408. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Random.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  409. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  410. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha1.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  411. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  412. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha384.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  413. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha512.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  414. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.X509.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
  415. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.GetContextSize | TRUE
  416. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.Init | TRUE
  417. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcEncrypt | TRUE
  418. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcDecrypt | TRUE
  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. !if $(NETWORK_DRIVER_ENABLE) == TRUE
  427. gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
  428. !endif
  429. [PcdsPatchableInModule.common]
  430. gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
  431. gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7
  432. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
  433. !if $(USE_CBMEM_FOR_CONSOLE) == FALSE
  434. !if $(SOURCE_DEBUG_ENABLE)
  435. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
  436. !else
  437. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
  438. !endif
  439. !else
  440. !if $(TARGET) == DEBUG
  441. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x07
  442. !else
  443. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x03
  444. !endif
  445. !endif
  446. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|$(MAX_SIZE_NON_POPULATE_CAPSULE)
  447. #
  448. # The following parameters are set by Library/PlatformHookLib
  449. #
  450. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|FALSE
  451. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0
  452. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|$(BAUD_RATE)
  453. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1
  454. #
  455. # Enable these parameters to be set on the command line
  456. #
  457. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|$(SERIAL_CLOCK_RATE)
  458. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl|$(SERIAL_LINE_CONTROL)
  459. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|$(SERIAL_HARDWARE_FLOW_CONTROL)
  460. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable|$(SERIAL_DETECT_CABLE)
  461. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|$(SERIAL_FIFO_CONTROL)
  462. gEfiMdeModulePkgTokenSpaceGuid.PcdPciSerialParameters|$(PCI_SERIAL_PARAMETERS)
  463. gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|$(MAX_LOGICAL_PROCESSORS)
  464. gUefiCpuPkgTokenSpaceGuid.PcdCpuNumberOfReservedVariableMtrrs|0
  465. gUefiPayloadPkgTokenSpaceGuid.PcdBootloaderParameter|0
  466. ################################################################################
  467. #
  468. # Pcd DynamicEx Section - list of all EDK II PCD Entries defined by this Platform
  469. #
  470. ################################################################################
  471. [PcdsDynamicExDefault]
  472. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|$(UART_DEFAULT_BAUD_RATE)
  473. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|$(UART_DEFAULT_DATA_BITS)
  474. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|$(UART_DEFAULT_PARITY)
  475. gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|$(UART_DEFAULT_STOP_BITS)
  476. gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|$(DEFAULT_TERMINAL_TYPE)
  477. gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport|TRUE
  478. gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport|FALSE
  479. gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|TRUE
  480. gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x1
  481. gUefiCpuPkgTokenSpaceGuid.PcdCpuApInitTimeOutInMicroSeconds|50000
  482. gUefiCpuPkgTokenSpaceGuid.PcdCpuApLoopMode|1
  483. gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress|0x0
  484. gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize|0x0
  485. !if ($(TARGET) == DEBUG || $(USE_CBMEM_FOR_CONSOLE) == TRUE)
  486. gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
  487. !else
  488. gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE
  489. !endif
  490. gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
  491. gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
  492. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
  493. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
  494. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
  495. gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|$(PLATFORM_BOOT_TIMEOUT)
  496. !if $(VARIABLE_SUPPORT) == "SPI"
  497. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize |0
  498. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0
  499. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize |0
  500. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase |0
  501. !endif
  502. # Disable SMM S3 script
  503. gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE
  504. ## This PCD defines the video horizontal resolution.
  505. # This PCD could be set to 0 then video resolution could be at highest resolution.
  506. gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|0
  507. ## This PCD defines the video vertical resolution.
  508. # This PCD could be set to 0 then video resolution could be at highest resolution.
  509. gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|0
  510. ## The PCD is used to specify the video horizontal resolution of text setup.
  511. gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|0
  512. ## The PCD is used to specify the video vertical resolution of text setup.
  513. gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|0
  514. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|31
  515. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|100
  516. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0
  517. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseSize|0
  518. gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase|0
  519. gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed|FALSE
  520. gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled|0
  521. gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE
  522. gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister|$(RTC_INDEX_REGISTER)
  523. gPcAtChipsetPkgTokenSpaceGuid.PcdRtcTargetRegister|$(RTC_TARGET_REGISTER)
  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. !if $(MULTIPLE_DEBUG_PORT_SUPPORT) == TRUE
  559. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  560. SerialPortLib|UefiPayloadPkg/Library/BaseSerialPortLibHob/BaseSerialPortLibHob.inf
  561. !endif
  562. NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
  563. }
  564. #
  565. # Components that produce the architectural protocols
  566. #
  567. !if $(SECURITY_STUB_ENABLE) == TRUE
  568. MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
  569. !endif
  570. UefiCpuPkg/CpuDxe/CpuDxe.inf
  571. MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
  572. !if $(BOOTSPLASH_IMAGE)
  573. MdeModulePkg/Logo/LogoDxe.inf
  574. !endif
  575. MdeModulePkg/Application/UiApp/UiApp.inf {
  576. <LibraryClasses>
  577. NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
  578. NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
  579. NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
  580. }
  581. MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf {
  582. <LibraryClasses>
  583. NULL|UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
  584. }
  585. PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
  586. MdeModulePkg/Universal/Metronome/Metronome.inf
  587. MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
  588. MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
  589. MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
  590. MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
  591. !if $(DISABLE_RESET_SYSTEM) == FALSE
  592. MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
  593. !endif
  594. PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
  595. !if $(EMU_VARIABLE_ENABLE) == TRUE
  596. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
  597. !endif
  598. #
  599. # Following are the DXE drivers
  600. #
  601. MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
  602. <LibraryClasses>
  603. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  604. }
  605. MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
  606. MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
  607. UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
  608. MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
  609. !if $(MEMORY_TEST) == "GENERIC"
  610. MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf
  611. !elseif $(MEMORY_TEST) == "NULL"
  612. MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
  613. !endif
  614. MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
  615. MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
  616. MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
  617. MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf
  618. MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
  619. UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf
  620. #
  621. # SMBIOS Support
  622. #
  623. MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
  624. #
  625. # ACPI Support
  626. #
  627. MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
  628. !if $(BOOTSPLASH_IMAGE)
  629. MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
  630. MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
  631. !endif
  632. #
  633. # PCI Support
  634. #
  635. MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
  636. MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
  637. <LibraryClasses>
  638. PciHostBridgeLib|UefiPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf
  639. }
  640. #
  641. # SCSI/ATA/IDE/DISK Support
  642. #
  643. MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
  644. MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
  645. MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
  646. FatPkg/EnhancedFatDxe/Fat.inf
  647. !if $(ATA_ENABLE) == TRUE
  648. MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
  649. MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
  650. !endif
  651. MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
  652. MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
  653. MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
  654. !if $(NVME_ENABLE) == TRUE
  655. MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
  656. !endif
  657. !if $(RAM_DISK_ENABLE) == TRUE
  658. MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
  659. !endif
  660. #
  661. # SD/eMMC Support
  662. #
  663. !if $(SD_ENABLE) == TRUE
  664. MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf
  665. MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf
  666. MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf
  667. !endif
  668. #
  669. # Usb Support
  670. #
  671. MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
  672. MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
  673. MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
  674. MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
  675. MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
  676. MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
  677. MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf
  678. #
  679. # ISA Support
  680. #
  681. !if $(SERIAL_DRIVER_ENABLE) == TRUE
  682. MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
  683. !endif
  684. !if $(SIO_BUS_ENABLE) == TRUE
  685. OvmfPkg/SioBusDxe/SioBusDxe.inf
  686. !endif
  687. !if $(PS2_KEYBOARD_ENABLE) == TRUE
  688. MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
  689. !endif
  690. !if $(PS2_MOUSE_ENABLE) == TRUE
  691. MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf
  692. !endif
  693. #
  694. # Console Support
  695. #
  696. MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
  697. MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
  698. MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
  699. !if $(DISABLE_SERIAL_TERMINAL) == FALSE
  700. MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
  701. !endif
  702. UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutputDxe.inf
  703. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  704. MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf
  705. !endif
  706. #
  707. # SMM Support
  708. #
  709. !if $(SMM_SUPPORT) == TRUE
  710. UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.inf
  711. UefiPayloadPkg/SmmControlRuntimeDxe/SmmControlRuntimeDxe.inf
  712. UefiPayloadPkg/BlSupportSmm/BlSupportSmm.inf
  713. MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
  714. MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
  715. UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.inf
  716. UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
  717. UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
  718. !if $(PERFORMANCE_MEASUREMENT_ENABLE)
  719. MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf
  720. !endif
  721. !endif
  722. !if $(VARIABLE_SUPPORT) == "EMU"
  723. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
  724. !elseif $(VARIABLE_SUPPORT) == "SPI"
  725. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
  726. <LibraryClasses>
  727. NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
  728. NULL|MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiLib.inf
  729. NULL|MdeModulePkg/Library/VarCheckPcdLib/VarCheckPcdLib.inf
  730. NULL|MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyLib.inf
  731. }
  732. UefiPayloadPkg/FvbRuntimeDxe/FvbSmm.inf
  733. MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
  734. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
  735. !endif
  736. #
  737. # Misc
  738. #
  739. !if $(CRYPTO_PROTOCOL_SUPPORT) == TRUE
  740. CryptoPkg/Driver/CryptoDxe.inf {
  741. <LibraryClasses>
  742. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
  743. TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
  744. }
  745. !endif
  746. #------------------------------
  747. # Build the shell
  748. #------------------------------
  749. !if $(SHELL_TYPE) == BUILD_SHELL
  750. #
  751. # Shell Lib
  752. #
  753. [LibraryClasses]
  754. BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
  755. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  756. FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
  757. ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
  758. !include NetworkPkg/NetworkLibs.dsc.inc
  759. [Components.X64]
  760. ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
  761. <PcdsFixedAtBuild>
  762. ## This flag is used to control initialization of the shell library
  763. # This should be FALSE for compiling the dynamic command.
  764. gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
  765. }
  766. !if $(PERFORMANCE_MEASUREMENT_ENABLE) == TRUE
  767. ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf {
  768. <PcdsFixedAtBuild>
  769. ## This flag is used to control initialization of the shell library
  770. # This should be FALSE for compiling the dynamic command.
  771. gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
  772. }
  773. !endif
  774. ShellPkg/Application/Shell/Shell.inf {
  775. <PcdsFixedAtBuild>
  776. ## This flag is used to control initialization of the shell library
  777. # This should be FALSE for compiling the shell application itself only.
  778. gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
  779. #------------------------------
  780. # Basic commands
  781. #------------------------------
  782. <LibraryClasses>
  783. NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
  784. NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
  785. NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
  786. NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
  787. NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
  788. NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
  789. #------------------------------
  790. # Networking commands
  791. #------------------------------
  792. <LibraryClasses>
  793. NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
  794. #------------------------------
  795. # Support libraries
  796. #------------------------------
  797. <LibraryClasses>
  798. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  799. HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
  800. OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
  801. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  802. ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
  803. ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
  804. SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
  805. }
  806. !endif