AmdSevX64.dsc 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869
  1. ## @file
  2. # EFI/Framework Open Virtual Machine Firmware (OVMF) platform for SEV secure
  3. # virtual machine remote attestation and secret injection
  4. #
  5. # Copyright (c) 2020 James Bottomley, IBM Corporation.
  6. # Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
  7. # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
  8. #
  9. # SPDX-License-Identifier: BSD-2-Clause-Patent
  10. #
  11. ##
  12. ################################################################################
  13. #
  14. # Defines Section - statements that will be processed to create a Makefile.
  15. #
  16. ################################################################################
  17. [Defines]
  18. PLATFORM_NAME = Ovmf
  19. PLATFORM_GUID = 07ff380c-4760-4823-8f59-ec2cb06fbc16
  20. PLATFORM_VERSION = 0.1
  21. DSC_SPECIFICATION = 0x00010005
  22. OUTPUT_DIRECTORY = Build/AmdSev
  23. SUPPORTED_ARCHITECTURES = X64
  24. BUILD_TARGETS = NOOPT|DEBUG|RELEASE
  25. SKUID_IDENTIFIER = DEFAULT
  26. FLASH_DEFINITION = OvmfPkg/AmdSev/AmdSevX64.fdf
  27. PREBUILD = sh OvmfPkg/AmdSev/Grub/grub.sh
  28. #
  29. # Defines for default states. These can be changed on the command line.
  30. # -D FLAG=VALUE
  31. #
  32. DEFINE SOURCE_DEBUG_ENABLE = FALSE
  33. DEFINE TPM_ENABLE = FALSE
  34. DEFINE TPM_CONFIG_ENABLE = FALSE
  35. #
  36. # Shell can be useful for debugging but should not be enabled for production
  37. #
  38. DEFINE BUILD_SHELL = FALSE
  39. #
  40. # Device drivers
  41. #
  42. DEFINE PVSCSI_ENABLE = TRUE
  43. DEFINE MPT_SCSI_ENABLE = TRUE
  44. DEFINE LSI_SCSI_ENABLE = FALSE
  45. #
  46. # Flash size selection. Setting FD_SIZE_IN_KB on the command line directly to
  47. # one of the supported values, in place of any of the convenience macros, is
  48. # permitted.
  49. #
  50. !ifdef $(FD_SIZE_1MB)
  51. DEFINE FD_SIZE_IN_KB = 1024
  52. !else
  53. !ifdef $(FD_SIZE_2MB)
  54. DEFINE FD_SIZE_IN_KB = 2048
  55. !else
  56. !ifdef $(FD_SIZE_4MB)
  57. DEFINE FD_SIZE_IN_KB = 4096
  58. !else
  59. DEFINE FD_SIZE_IN_KB = 4096
  60. !endif
  61. !endif
  62. !endif
  63. [BuildOptions]
  64. GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
  65. INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
  66. MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
  67. !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(TOOL_CHAIN_TAG) != "CLANGPDB"
  68. GCC:*_*_*_CC_FLAGS = -mno-mmx -mno-sse
  69. !endif
  70. !if $(SOURCE_DEBUG_ENABLE) == TRUE
  71. MSFT:*_*_X64_GENFW_FLAGS = --keepexceptiontable
  72. GCC:*_*_X64_GENFW_FLAGS = --keepexceptiontable
  73. INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable
  74. !endif
  75. RELEASE_*_*_GENFW_FLAGS = --zero
  76. #
  77. # Disable deprecated APIs.
  78. #
  79. MSFT:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
  80. INTEL:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
  81. GCC:*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
  82. [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
  83. GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
  84. XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
  85. XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
  86. CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
  87. # Force PE/COFF sections to be aligned at 4KB boundaries to support page level
  88. # protection of DXE_SMM_DRIVER/SMM_CORE modules
  89. [BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]
  90. GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
  91. XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
  92. XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
  93. CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
  94. ################################################################################
  95. #
  96. # SKU Identification section - list of all SKU IDs supported by this Platform.
  97. #
  98. ################################################################################
  99. [SkuIds]
  100. 0|DEFAULT
  101. ################################################################################
  102. #
  103. # Library Class section - list of all Library Classes needed by this Platform.
  104. #
  105. ################################################################################
  106. !include MdePkg/MdeLibs.dsc.inc
  107. [LibraryClasses]
  108. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  109. TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
  110. ResetSystemLib|OvmfPkg/Library/ResetSystemLib/BaseResetSystemLib.inf
  111. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  112. BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
  113. BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
  114. SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
  115. BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
  116. SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
  117. CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
  118. PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
  119. PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
  120. CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
  121. UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
  122. UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
  123. HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
  124. SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
  125. UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
  126. BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
  127. FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
  128. CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
  129. DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
  130. DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
  131. PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
  132. PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
  133. PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
  134. PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
  135. PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
  136. PciCapLib|OvmfPkg/Library/BasePciCapLib/BasePciCapLib.inf
  137. PciCapPciSegmentLib|OvmfPkg/Library/BasePciCapPciSegmentLib/BasePciCapPciSegmentLib.inf
  138. PciCapPciIoLib|OvmfPkg/Library/UefiPciCapPciIoLib/UefiPciCapPciIoLib.inf
  139. IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicSev.inf
  140. OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
  141. SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
  142. MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
  143. MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf
  144. UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
  145. UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
  146. UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
  147. UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
  148. UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
  149. DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
  150. FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
  151. UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
  152. SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
  153. UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
  154. SerializeVariablesLib|OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.inf
  155. QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf
  156. QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
  157. VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
  158. LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf
  159. MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf
  160. LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf
  161. CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
  162. FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
  163. BlobVerifierLib|OvmfPkg/AmdSev/BlobVerifierLibSevHashes/BlobVerifierLibSevHashes.inf
  164. !if $(SOURCE_DEBUG_ENABLE) == TRUE
  165. PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
  166. DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
  167. !else
  168. PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
  169. DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
  170. !endif
  171. LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
  172. DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
  173. IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
  174. OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
  175. RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
  176. AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
  177. VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
  178. VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
  179. VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
  180. !if $(BUILD_SHELL) == TRUE
  181. ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
  182. ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
  183. !endif
  184. SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
  185. OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
  186. !if $(TPM_ENABLE) == TRUE
  187. Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
  188. Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
  189. Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
  190. Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
  191. TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
  192. !else
  193. Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeTcg2PhysicalPresenceLib.inf
  194. TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
  195. !endif
  196. [LibraryClasses.common]
  197. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
  198. VmgExitLib|OvmfPkg/Library/VmgExitLib/VmgExitLib.inf
  199. [LibraryClasses.common.SEC]
  200. TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.inf
  201. QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf
  202. !ifdef $(DEBUG_ON_SERIAL_PORT)
  203. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  204. !else
  205. DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
  206. !endif
  207. ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
  208. ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
  209. !if $(SOURCE_DEBUG_ENABLE) == TRUE
  210. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
  211. !endif
  212. HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
  213. PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
  214. PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
  215. MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
  216. !if $(TOOL_CHAIN_TAG) == "XCODE5"
  217. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHandlerLib.inf
  218. !else
  219. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
  220. !endif
  221. VmgExitLib|OvmfPkg/Library/VmgExitLib/SecVmgExitLib.inf
  222. MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf
  223. [LibraryClasses.common.PEI_CORE]
  224. HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
  225. PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
  226. PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
  227. MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
  228. PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
  229. ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
  230. OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
  231. PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
  232. !ifdef $(DEBUG_ON_SERIAL_PORT)
  233. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  234. !else
  235. DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
  236. !endif
  237. PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
  238. [LibraryClasses.common.PEIM]
  239. HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
  240. PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
  241. PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
  242. MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
  243. PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
  244. ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
  245. OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
  246. PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
  247. !ifdef $(DEBUG_ON_SERIAL_PORT)
  248. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  249. !else
  250. DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
  251. !endif
  252. PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
  253. ResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
  254. ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
  255. !if $(SOURCE_DEBUG_ENABLE) == TRUE
  256. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
  257. !endif
  258. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf
  259. MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf
  260. QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/PeiQemuFwCfgS3LibFwCfg.inf
  261. QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf
  262. PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
  263. QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgPeiLib.inf
  264. !if $(TPM_ENABLE) == TRUE
  265. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
  266. Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
  267. Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
  268. !endif
  269. MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf
  270. [LibraryClasses.common.DXE_CORE]
  271. HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
  272. DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
  273. MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
  274. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  275. !ifdef $(DEBUG_ON_SERIAL_PORT)
  276. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  277. !else
  278. DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
  279. !endif
  280. ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
  281. !if $(SOURCE_DEBUG_ENABLE) == TRUE
  282. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
  283. !endif
  284. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
  285. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  286. [LibraryClasses.common.DXE_RUNTIME_DRIVER]
  287. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  288. TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
  289. ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
  290. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  291. DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
  292. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  293. ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
  294. !ifdef $(DEBUG_ON_SERIAL_PORT)
  295. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  296. !else
  297. DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
  298. !endif
  299. UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
  300. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
  301. PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
  302. QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
  303. VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
  304. [LibraryClasses.common.UEFI_DRIVER]
  305. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  306. TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
  307. ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
  308. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  309. DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
  310. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  311. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  312. !ifdef $(DEBUG_ON_SERIAL_PORT)
  313. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  314. !else
  315. DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
  316. !endif
  317. UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
  318. PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
  319. [LibraryClasses.common.DXE_DRIVER]
  320. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  321. TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
  322. ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
  323. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  324. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  325. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  326. UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
  327. !ifdef $(DEBUG_ON_SERIAL_PORT)
  328. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  329. !else
  330. DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
  331. !endif
  332. PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLibGrub/PlatformBootManagerLibGrub.inf
  333. PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf
  334. QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
  335. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
  336. LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxDxeLib.inf
  337. !if $(SOURCE_DEBUG_ENABLE) == TRUE
  338. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
  339. !endif
  340. PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
  341. MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
  342. QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
  343. QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf
  344. !if $(TPM_ENABLE) == TRUE
  345. Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
  346. Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
  347. !endif
  348. [LibraryClasses.common.UEFI_APPLICATION]
  349. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  350. TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
  351. ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
  352. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  353. MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
  354. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  355. !ifdef $(DEBUG_ON_SERIAL_PORT)
  356. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  357. !else
  358. DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
  359. !endif
  360. PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
  361. [LibraryClasses.common.DXE_SMM_DRIVER]
  362. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  363. TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
  364. ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
  365. MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
  366. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  367. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  368. SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
  369. MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf
  370. SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
  371. !ifdef $(DEBUG_ON_SERIAL_PORT)
  372. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  373. !else
  374. DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
  375. !endif
  376. CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
  377. !if $(SOURCE_DEBUG_ENABLE) == TRUE
  378. DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
  379. !endif
  380. BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
  381. PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
  382. [LibraryClasses.common.SMM_CORE]
  383. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  384. TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
  385. ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
  386. SmmCorePlatformHookLib|MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf
  387. MemoryAllocationLib|MdeModulePkg/Library/PiSmmCoreMemoryAllocationLib/PiSmmCoreMemoryAllocationLib.inf
  388. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  389. HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
  390. SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
  391. SmmServicesTableLib|MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.inf
  392. !ifdef $(DEBUG_ON_SERIAL_PORT)
  393. DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
  394. !else
  395. DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
  396. !endif
  397. PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
  398. ################################################################################
  399. #
  400. # Pcd Section - list of all EDK II PCD Entries defined by this Platform.
  401. #
  402. ################################################################################
  403. [PcdsFeatureFlag]
  404. gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
  405. gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE
  406. gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE
  407. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
  408. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
  409. gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
  410. [PcdsFixedAtBuild]
  411. gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
  412. gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
  413. gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10
  414. gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|0
  415. !if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
  416. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
  417. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
  418. # match PcdFlashNvStorageVariableSize purely for convenience
  419. gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0xe000
  420. !endif
  421. !if $(FD_SIZE_IN_KB) == 4096
  422. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x8400
  423. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x8400
  424. # match PcdFlashNvStorageVariableSize purely for convenience
  425. gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x40000
  426. !endif
  427. gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
  428. gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE
  429. gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|TRUE
  430. gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
  431. # DEBUG_INIT 0x00000001 // Initialization
  432. # DEBUG_WARN 0x00000002 // Warnings
  433. # DEBUG_LOAD 0x00000004 // Load events
  434. # DEBUG_FS 0x00000008 // EFI File system
  435. # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
  436. # DEBUG_PAGE 0x00000020 // Alloc & Free (page)
  437. # DEBUG_INFO 0x00000040 // Informational debug messages
  438. # DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
  439. # DEBUG_VARIABLE 0x00000100 // Variable
  440. # DEBUG_BM 0x00000400 // Boot Manager
  441. # DEBUG_BLKIO 0x00001000 // BlkIo Driver
  442. # DEBUG_NET 0x00004000 // SNP Driver
  443. # DEBUG_UNDI 0x00010000 // UNDI Driver
  444. # DEBUG_LOADFILE 0x00020000 // LoadFile
  445. # DEBUG_EVENT 0x00080000 // Event messages
  446. # DEBUG_GCD 0x00100000 // Global Coherency Database changes
  447. # DEBUG_CACHE 0x00200000 // Memory range cachability changes
  448. # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
  449. # // significantly impact boot performance
  450. # DEBUG_ERROR 0x80000000 // Error
  451. gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
  452. !if $(SOURCE_DEBUG_ENABLE) == TRUE
  453. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
  454. !else
  455. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
  456. !endif
  457. # This PCD is used to set the base address of the PCI express hierarchy. It
  458. # is only consulted when OVMF runs on Q35. In that case it is programmed into
  459. # the PCIEXBAR register.
  460. #
  461. # On Q35 machine types that QEMU intends to support in the long term, QEMU
  462. # never lets the RAM below 4 GB exceed 2816 MB.
  463. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xB0000000
  464. !if $(SOURCE_DEBUG_ENABLE) == TRUE
  465. gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
  466. !endif
  467. #
  468. # The NumberOfPages values below are ad-hoc. They are updated sporadically at
  469. # best (please refer to git-blame for past updates). The values capture a set
  470. # of BIN hints that made sense at a particular time, for some (now likely
  471. # unknown) workloads / boot paths.
  472. #
  473. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0x80
  474. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0x10
  475. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0x80
  476. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0x100
  477. gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|0x100
  478. # IRQs 5, 9, 10, 11 are level-triggered
  479. gUefiOvmfPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0E20
  480. # Point to the MdeModulePkg/Application/UiApp/UiApp.inf
  481. gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
  482. gEfiMdeModulePkgTokenSpaceGuid.PcdConInConnectOnDemand|TRUE
  483. ################################################################################
  484. #
  485. # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
  486. #
  487. ################################################################################
  488. [PcdsDynamicDefault]
  489. gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
  490. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
  491. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
  492. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
  493. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
  494. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
  495. gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
  496. gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
  497. gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE
  498. gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0
  499. gUefiOvmfPkgTokenSpaceGuid.PcdPciIoBase|0x0
  500. gUefiOvmfPkgTokenSpaceGuid.PcdPciIoSize|0x0
  501. gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0
  502. gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0
  503. gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0
  504. gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x800000000
  505. gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
  506. # Set video resolution for text setup.
  507. gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
  508. gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
  509. gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
  510. gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
  511. gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
  512. # Noexec settings for DXE.
  513. gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE
  514. # UefiCpuPkg PCDs related to initial AP bringup and general AP management.
  515. gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64
  516. gUefiCpuPkgTokenSpaceGuid.PcdCpuBootLogicalProcessorNumber|0
  517. # Set memory encryption mask
  518. gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask|0x0
  519. # Set SEV-ES defaults
  520. gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase|0
  521. gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize|0
  522. gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled|0
  523. gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00
  524. # Set ConfidentialComputing defaults
  525. gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0
  526. !if $(TPM_ENABLE) == TRUE
  527. gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
  528. !endif
  529. [PcdsDynamicHii]
  530. !if $(TPM_ENABLE) == TRUE && $(TPM_CONFIG_ENABLE) == TRUE
  531. gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
  532. gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
  533. !endif
  534. ################################################################################
  535. #
  536. # Components Section - list of all EDK II Modules needed by this Platform.
  537. #
  538. ################################################################################
  539. [Components]
  540. OvmfPkg/ResetVector/ResetVector.inf
  541. #
  542. # SEC Phase modules
  543. #
  544. OvmfPkg/Sec/SecMain.inf {
  545. <LibraryClasses>
  546. NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
  547. }
  548. #
  549. # PEI Phase modules
  550. #
  551. MdeModulePkg/Core/Pei/PeiMain.inf
  552. MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
  553. <LibraryClasses>
  554. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  555. }
  556. MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf {
  557. <LibraryClasses>
  558. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  559. }
  560. MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf {
  561. <LibraryClasses>
  562. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  563. }
  564. MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
  565. OvmfPkg/PlatformPei/PlatformPei.inf
  566. UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
  567. UefiCpuPkg/CpuMpPei/CpuMpPei.inf
  568. OvmfPkg/AmdSev/SecretPei/SecretPei.inf
  569. !if $(TPM_ENABLE) == TRUE
  570. OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
  571. OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
  572. SecurityPkg/Tcg/TcgPei/TcgPei.inf
  573. SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
  574. <LibraryClasses>
  575. HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
  576. NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
  577. NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
  578. NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
  579. NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
  580. NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
  581. }
  582. SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf {
  583. <LibraryClasses>
  584. TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
  585. }
  586. !endif
  587. #
  588. # DXE Phase modules
  589. #
  590. MdeModulePkg/Core/Dxe/DxeMain.inf {
  591. <LibraryClasses>
  592. NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
  593. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  594. }
  595. MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
  596. MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
  597. MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
  598. <LibraryClasses>
  599. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  600. }
  601. MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
  602. MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
  603. <LibraryClasses>
  604. !if $(TPM_ENABLE) == TRUE
  605. NULL|SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
  606. NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
  607. !endif
  608. }
  609. MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
  610. OvmfPkg/8259InterruptControllerDxe/8259.inf
  611. UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
  612. UefiCpuPkg/CpuDxe/CpuDxe.inf
  613. OvmfPkg/8254TimerDxe/8254Timer.inf
  614. OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
  615. OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
  616. MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
  617. <LibraryClasses>
  618. PciHostBridgeLib|OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf
  619. PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf
  620. NULL|OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.inf
  621. }
  622. MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
  623. <LibraryClasses>
  624. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  625. }
  626. MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
  627. MdeModulePkg/Universal/Metronome/Metronome.inf
  628. PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
  629. MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
  630. MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
  631. MdeModulePkg/Logo/LogoDxe.inf
  632. MdeModulePkg/Application/UiApp/UiApp.inf {
  633. <LibraryClasses>
  634. NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
  635. NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
  636. NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
  637. }
  638. OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf {
  639. <LibraryClasses>
  640. NULL|OvmfPkg/AmdSev/BlobVerifierLibSevHashes/BlobVerifierLibSevHashes.inf
  641. }
  642. OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
  643. OvmfPkg/Virtio10Dxe/Virtio10.inf
  644. OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
  645. OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
  646. OvmfPkg/VirtioRngDxe/VirtioRng.inf
  647. !if $(PVSCSI_ENABLE) == TRUE
  648. OvmfPkg/PvScsiDxe/PvScsiDxe.inf
  649. !endif
  650. !if $(MPT_SCSI_ENABLE) == TRUE
  651. OvmfPkg/MptScsiDxe/MptScsiDxe.inf
  652. !endif
  653. !if $(LSI_SCSI_ENABLE) == TRUE
  654. OvmfPkg/LsiScsiDxe/LsiScsiDxe.inf
  655. !endif
  656. MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
  657. MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
  658. MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
  659. MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
  660. MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
  661. MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf {
  662. <LibraryClasses>
  663. PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
  664. }
  665. MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
  666. MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
  667. <LibraryClasses>
  668. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  669. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  670. }
  671. MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
  672. MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
  673. MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
  674. MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
  675. FatPkg/EnhancedFatDxe/Fat.inf
  676. MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
  677. MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
  678. MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
  679. OvmfPkg/SataControllerDxe/SataControllerDxe.inf
  680. MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
  681. MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
  682. MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
  683. MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
  684. MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
  685. MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
  686. MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
  687. OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
  688. OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
  689. OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
  690. #
  691. # ISA Support
  692. #
  693. OvmfPkg/SioBusDxe/SioBusDxe.inf
  694. MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
  695. MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
  696. #
  697. # SMBIOS Support
  698. #
  699. MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
  700. <LibraryClasses>
  701. NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
  702. }
  703. OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
  704. #
  705. # ACPI Support
  706. #
  707. MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
  708. OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
  709. MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
  710. #
  711. # Usb Support
  712. #
  713. MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
  714. MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
  715. MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
  716. MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
  717. MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
  718. MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
  719. !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE
  720. OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
  721. <PcdsFixedAtBuild>
  722. gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
  723. }
  724. !endif
  725. OvmfPkg/AmdSev/SecretDxe/SecretDxe.inf
  726. OvmfPkg/AmdSev/Grub/Grub.inf
  727. !if $(BUILD_SHELL) == TRUE
  728. ShellPkg/Application/Shell/Shell.inf {
  729. <LibraryClasses>
  730. ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
  731. NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
  732. NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
  733. NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
  734. NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
  735. NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
  736. NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
  737. HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
  738. PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
  739. BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
  740. <PcdsFixedAtBuild>
  741. gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
  742. gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
  743. gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
  744. }
  745. !endif
  746. OvmfPkg/PlatformDxe/Platform.inf
  747. OvmfPkg/AmdSevDxe/AmdSevDxe.inf {
  748. <LibraryClasses>
  749. PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
  750. }
  751. OvmfPkg/IoMmuDxe/IoMmuDxe.inf
  752. #
  753. # Variable driver stack (non-SMM)
  754. #
  755. OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
  756. OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf {
  757. <LibraryClasses>
  758. PlatformFvbLib|OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.inf
  759. }
  760. MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
  761. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
  762. <LibraryClasses>
  763. NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
  764. }
  765. #
  766. # TPM support
  767. #
  768. !if $(TPM_ENABLE) == TRUE
  769. SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
  770. <LibraryClasses>
  771. Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
  772. NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
  773. HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
  774. NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
  775. NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
  776. NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
  777. NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
  778. NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
  779. }
  780. !if $(TPM_CONFIG_ENABLE) == TRUE
  781. SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
  782. !endif
  783. SecurityPkg/Tcg/TcgDxe/TcgDxe.inf {
  784. <LibraryClasses>
  785. Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
  786. }
  787. SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf {
  788. <LibraryClasses>
  789. TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
  790. }
  791. !endif