RiscVVirtQemu.dsc 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  1. ## @file
  2. # RISC-V EFI on RiscVVirtQem platform
  3. #
  4. # Copyright (c) 2021, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
  5. # Copyright (c) 2022, Ventana Micro Systems Inc. All rights reserved.<BR>
  6. #
  7. # SPDX-License-Identifier: BSD-2-Clause-Patent
  8. #
  9. ##
  10. ################################################################################
  11. #
  12. # Defines Section - statements that will be processed to create a Makefile.
  13. #
  14. ################################################################################
  15. [Defines]
  16. PLATFORM_NAME = RiscVVirtQemu
  17. PLATFORM_GUID = 39DADB39-1B21-4867-838E-830B6149B9E0
  18. PLATFORM_VERSION = 0.1
  19. DSC_SPECIFICATION = 0x0001001c
  20. OUTPUT_DIRECTORY = Build/$(PLATFORM_NAME)
  21. SUPPORTED_ARCHITECTURES = RISCV64
  22. BUILD_TARGETS = DEBUG|RELEASE|NOOPT
  23. SKUID_IDENTIFIER = DEFAULT
  24. FLASH_DEFINITION = OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf
  25. #
  26. # Enable below options may cause build error or may not work on
  27. # the initial version of RISC-V package
  28. # Defines for default states. These can be changed on the command line.
  29. # -D FLAG=VALUE
  30. #
  31. DEFINE TTY_TERMINAL = FALSE
  32. DEFINE SECURE_BOOT_ENABLE = FALSE
  33. DEFINE TPM2_ENABLE = FALSE
  34. DEFINE TPM2_CONFIG_ENABLE = FALSE
  35. DEFINE DEBUG_ON_SERIAL_PORT = TRUE
  36. #
  37. # Network definition
  38. #
  39. DEFINE NETWORK_IP6_ENABLE = FALSE
  40. DEFINE NETWORK_HTTP_BOOT_ENABLE = FALSE
  41. DEFINE NETWORK_SNP_ENABLE = FALSE
  42. DEFINE NETWORK_TLS_ENABLE = FALSE
  43. DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
  44. DEFINE NETWORK_ISCSI_ENABLE = FALSE
  45. !if $(NETWORK_SNP_ENABLE) == TRUE
  46. !error "NETWORK_SNP_ENABLE is IA32/X64/EBC only"
  47. !endif
  48. !include MdePkg/MdeLibs.dsc.inc
  49. [BuildOptions]
  50. GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
  51. !ifdef $(SOURCE_DEBUG_ENABLE)
  52. GCC:*_*_RISCV64_GENFW_FLAGS = --keepexceptiontable
  53. !endif
  54. [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
  55. GCC: *_*_*_DLINK_FLAGS = -z common-page-size=0x1000
  56. MSFT: *_*_*_DLINK_FLAGS = /ALIGN:4096
  57. ################################################################################
  58. #
  59. # Library Class section - list of all Library Classes needed by this Platform.
  60. #
  61. ################################################################################
  62. !include NetworkPkg/NetworkDefines.dsc.inc
  63. !include OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc
  64. !include MdePkg/MdeLibs.dsc.inc
  65. [LibraryClasses.common]
  66. # Virtio Support
  67. VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
  68. VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
  69. QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibMmio.inf
  70. QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf
  71. QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
  72. QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf
  73. TimerLib|UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/BaseRiscV64CpuTimerLib.inf
  74. VirtNorFlashPlatformLib|OvmfPkg/RiscVVirt/Library/VirtNorFlashPlatformLib/VirtNorFlashStaticLib.inf
  75. CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
  76. BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
  77. PlatformBootManagerLib|OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
  78. PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf
  79. CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
  80. FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
  81. QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
  82. FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
  83. PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
  84. PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
  85. PciHostBridgeLib|OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf
  86. PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf
  87. PeiHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/PeiHardwareInfoLib.inf
  88. PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
  89. !if $(TPM2_ENABLE) == TRUE
  90. Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
  91. Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
  92. TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
  93. TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
  94. !else
  95. TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
  96. TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf
  97. !endif
  98. [LibraryClasses.common.DXE_DRIVER]
  99. ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
  100. PciExpressLib|OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
  101. !if $(TPM2_ENABLE) == TRUE
  102. Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
  103. !endif
  104. [LibraryClasses.common.UEFI_DRIVER]
  105. UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
  106. PciExpressLib|OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
  107. #!include NetworkPkg/NetworkBuildOptions.dsc.inc
  108. ################################################################################
  109. #
  110. # Pcd Section - list of all EDK II PCD Entries defined by this Platform.
  111. #
  112. ################################################################################
  113. [PcdsFeatureFlag.common]
  114. gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE
  115. gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|TRUE
  116. ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
  117. # It could be set FALSE to save size.
  118. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
  119. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
  120. gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
  121. [PcdsFixedAtBuild.common]
  122. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
  123. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
  124. !if $(NETWORK_TLS_ENABLE) == TRUE
  125. #
  126. # The cumulative and individual VOLATILE variable size limits should be set
  127. # high enough for accommodating several and/or large CA certificates.
  128. #
  129. gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x80000
  130. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize|0x40000
  131. !endif
  132. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"2.7"
  133. # Serial Port
  134. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|TRUE
  135. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x10000000
  136. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|9600
  137. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|FALSE
  138. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|3686400
  139. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1
  140. #
  141. # Network Pcds
  142. #
  143. !include NetworkPkg/NetworkPcds.dsc.inc
  144. gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
  145. gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
  146. #
  147. # Enable the non-executable DXE stack. (This gets set up by DxeIpl)
  148. #
  149. gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
  150. !if $(SECURE_BOOT_ENABLE) == TRUE
  151. # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
  152. gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
  153. gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
  154. gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
  155. !endif
  156. gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x20000
  157. gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x02
  158. gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE
  159. gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
  160. gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
  161. gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x2
  162. [PcdsDynamicDefault.common]
  163. gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3
  164. ## If TRUE, OvmfPkg/AcpiPlatformDxe will not wait for PCI
  165. # enumeration to complete before installing ACPI tables.
  166. gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE
  167. # set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this
  168. # PCD and PcdPciDisableBusEnumeration above have not been assigned yet
  169. gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF
  170. gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation|0x0
  171. #
  172. # Set video resolution for boot options and for text setup.
  173. # PlatformDxe can set the former at runtime.
  174. #
  175. gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|1280
  176. gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|800
  177. gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
  178. gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
  179. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|0
  180. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|0
  181. #
  182. # SMBIOS entry point version
  183. #
  184. gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0300
  185. gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
  186. gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
  187. gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
  188. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
  189. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
  190. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
  191. #
  192. # IPv4 and IPv6 PXE Boot support.
  193. #
  194. gEfiNetworkPkgTokenSpaceGuid.PcdIPv4PXESupport|0x01
  195. gEfiNetworkPkgTokenSpaceGuid.PcdIPv6PXESupport|0x01
  196. #
  197. # TPM2 support
  198. #
  199. !if $(TPM2_ENABLE) == TRUE
  200. gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0
  201. gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
  202. gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask|0
  203. !else
  204. [PcdsPatchableInModule]
  205. # make this PCD patchable instead of dynamic when TPM support is not enabled
  206. # this permits setting the PCD in unreachable code without pulling in dynamic PCD support
  207. gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0
  208. !endif
  209. [PcdsDynamicHii]
  210. gUefiOvmfPkgTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gOvmfVariableGuid|0x0|FALSE|NV,BS
  211. !if $(TPM2_CONFIG_ENABLE) == TRUE
  212. gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
  213. gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
  214. !endif
  215. gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5
  216. [LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM]
  217. !if $(TPM2_ENABLE) == TRUE
  218. PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
  219. !else
  220. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  221. !endif
  222. ################################################################################
  223. #
  224. # Components Section - list of all EDK II Modules needed by this Platform.
  225. #
  226. ################################################################################
  227. [Components]
  228. #
  229. # SEC Phase modules
  230. #
  231. OvmfPkg/RiscVVirt/Sec/SecMain.inf {
  232. <LibraryClasses>
  233. ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
  234. LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
  235. PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
  236. HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
  237. PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
  238. MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
  239. }
  240. #
  241. # DXE
  242. #
  243. MdeModulePkg/Core/Dxe/DxeMain.inf {
  244. <LibraryClasses>
  245. NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
  246. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  247. }
  248. MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
  249. <LibraryClasses>
  250. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  251. DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
  252. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  253. }
  254. #
  255. # Architectural Protocols
  256. #
  257. UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
  258. MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
  259. MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
  260. <LibraryClasses>
  261. NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
  262. # don't use unaligned CopyMem () on the UEFI varstore NOR flash region
  263. BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
  264. }
  265. !if $(SECURE_BOOT_ENABLE) == TRUE
  266. MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
  267. <LibraryClasses>
  268. NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
  269. !if $(TPM2_ENABLE) == TRUE
  270. NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
  271. !endif
  272. }
  273. SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
  274. OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
  275. !else
  276. MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
  277. !endif
  278. MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
  279. MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
  280. MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
  281. MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
  282. EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
  283. EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
  284. MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
  285. MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
  286. MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
  287. MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
  288. MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
  289. MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
  290. UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf
  291. OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf
  292. MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
  293. #
  294. # Status Code Routing
  295. #
  296. MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
  297. MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
  298. #
  299. # Platform Driver
  300. #
  301. OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.inf
  302. EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf {
  303. <LibraryClasses>
  304. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  305. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  306. DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
  307. }
  308. OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf
  309. OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
  310. OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
  311. OvmfPkg/VirtioNetDxe/VirtioNet.inf
  312. OvmfPkg/VirtioRngDxe/VirtioRng.inf
  313. #
  314. # FAT filesystem + GPT/MBR partitioning + UDF filesystem + virtio-fs
  315. #
  316. MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
  317. MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
  318. MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
  319. FatPkg/EnhancedFatDxe/Fat.inf
  320. MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
  321. OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
  322. #
  323. # Bds
  324. #
  325. MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
  326. <LibraryClasses>
  327. DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
  328. PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
  329. DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
  330. }
  331. MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
  332. MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
  333. MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
  334. MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
  335. MdeModulePkg/Logo/LogoDxe.inf
  336. MdeModulePkg/Application/UiApp/UiApp.inf {
  337. <LibraryClasses>
  338. NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
  339. NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
  340. NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
  341. }
  342. OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf {
  343. <LibraryClasses>
  344. NULL|OvmfPkg/Library/BlobVerifierLibNull/BlobVerifierLibNull.inf
  345. }
  346. #
  347. # Networking stack
  348. #
  349. !include NetworkPkg/NetworkComponents.dsc.inc
  350. NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf {
  351. <LibraryClasses>
  352. NULL|OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf
  353. }
  354. !if $(NETWORK_TLS_ENABLE) == TRUE
  355. NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf {
  356. <LibraryClasses>
  357. NULL|OvmfPkg/Library/TlsAuthConfigLib/TlsAuthConfigLib.inf
  358. }
  359. !endif
  360. #
  361. # SCSI Bus and Disk Driver
  362. #
  363. MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
  364. MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
  365. #
  366. # NVME Driver
  367. #
  368. MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
  369. #
  370. # SMBIOS Support
  371. #
  372. MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
  373. <LibraryClasses>
  374. NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
  375. }
  376. OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
  377. #
  378. # PCI support
  379. #
  380. OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.inf {
  381. <LibraryClasses>
  382. NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
  383. }
  384. MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
  385. MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
  386. <LibraryClasses>
  387. NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
  388. }
  389. OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
  390. OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
  391. OvmfPkg/Virtio10Dxe/Virtio10.inf
  392. #
  393. # Video support
  394. #
  395. OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
  396. OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
  397. OvmfPkg/PlatformDxe/Platform.inf
  398. #
  399. # USB Support
  400. #
  401. MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
  402. MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
  403. MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
  404. MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
  405. MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
  406. MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
  407. #
  408. # TPM2 support
  409. #
  410. !if $(TPM2_ENABLE) == TRUE
  411. SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
  412. <LibraryClasses>
  413. HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
  414. Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
  415. NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
  416. NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
  417. NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
  418. NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
  419. NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
  420. NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
  421. }
  422. !if $(TPM2_CONFIG_ENABLE) == TRUE
  423. SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
  424. !endif
  425. !endif
  426. #
  427. # ACPI Support
  428. #
  429. OvmfPkg/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf
  430. MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
  431. OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf {
  432. <LibraryClasses>
  433. NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
  434. }