VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/ArmVirtPkg/ArmVirtQemu.dsc

Last change on this file was 108794, checked in by vboxsync, 12 days ago

Devices/EFI/FirmwareNew: Merge edk2-stable202502 from the vendor branch and make it build for the important platforms, bugref:4643

  • Property svn:eol-style set to native
File size: 23.5 KB
Line 
1#
2# Copyright (c) 2011-2015, ARM Limited. All rights reserved.
3# Copyright (c) 2014, Linaro Limited. All rights reserved.
4# Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.
5#
6# SPDX-License-Identifier: BSD-2-Clause-Patent
7#
8#
9
10################################################################################
11#
12# Defines Section - statements that will be processed to create a Makefile.
13#
14################################################################################
15[Defines]
16 PLATFORM_NAME = ArmVirtQemu
17 PLATFORM_GUID = 37d7e986-f7e9-45c2-8067-e371421a626c
18 PLATFORM_VERSION = 0.1
19 DSC_SPECIFICATION = 0x00010005
20!ifndef $(VBOX_OUTPUT_BASE_DIR)
21 OUTPUT_DIRECTORY = Build/ArmVirtQemu-$(ARCH)
22!else
23!if $(ARCH) == AARCH64
24 OUTPUT_DIRECTORY = $(VBOX_OUTPUT_BASE_DIR)/arm64
25!else
26 OUTPUT_DIRECTORY = $(VBOX_OUTPUT_BASE_DIR)/arm32
27!endif
28!endif
29 SUPPORTED_ARCHITECTURES = AARCH64|ARM
30 BUILD_TARGETS = DEBUG|RELEASE|NOOPT
31 SKUID_IDENTIFIER = DEFAULT
32 FLASH_DEFINITION = ArmVirtPkg/ArmVirtQemu.fdf
33
34 #
35 # Defines for default states. These can be changed on the command line.
36 # -D FLAG=VALUE
37 #
38 DEFINE TTY_TERMINAL = FALSE
39 DEFINE SECURE_BOOT_ENABLE = FALSE
40 DEFINE TPM2_ENABLE = FALSE
41 DEFINE TPM2_CONFIG_ENABLE = FALSE
42 DEFINE CAVIUM_ERRATUM_27456 = FALSE
43
44 #
45 # Network definition
46 #
47 DEFINE NETWORK_IP6_ENABLE = FALSE
48 DEFINE NETWORK_HTTP_BOOT_ENABLE = FALSE
49 DEFINE NETWORK_SNP_ENABLE = FALSE
50 DEFINE NETWORK_TLS_ENABLE = FALSE
51 DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
52 DEFINE NETWORK_ISCSI_ENABLE = FALSE
53 DEFINE NETWORK_PXE_BOOT_ENABLE = TRUE
54
55!if $(NETWORK_SNP_ENABLE) == TRUE
56 !error "NETWORK_SNP_ENABLE is IA32/X64/EBC only"
57!endif
58
59!include NetworkPkg/NetworkDefines.dsc.inc
60
61# This comes before MdeLibs to ensure stack cookie configuration is chosen
62!include ArmVirtPkg/ArmVirt.dsc.inc
63
64!include MdePkg/MdeLibs.dsc.inc
65
66[LibraryClasses.common]
67 ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
68 ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
69
70 # Virtio Support
71 VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
72 VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
73 QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgMmioDxeLib.inf
74 QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf
75 QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
76 QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf
77
78 TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
79 VirtNorFlashPlatformLib|OvmfPkg/Library/FdtNorFlashQemuLib/FdtNorFlashQemuLib.inf
80
81 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
82 BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
83 PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLibLight/PlatformBootManagerLib.inf
84 PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf
85 CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
86 FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
87 QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
88 FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
89 PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
90 PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
91 PciHostBridgeLib|OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf
92 PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf
93 PeiHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/PeiHardwareInfoLib.inf
94
95!if $(TPM2_ENABLE) == TRUE
96 Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
97 Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
98 TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
99 TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
100!else
101 TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
102 TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf
103!endif
104
105 ArmMonitorLib|ArmVirtPkg/Library/ArmVirtMonitorLib/ArmVirtMonitorLib.inf
106
107[LibraryClasses.AARCH64]
108!ifndef $(VBOX)
109 ArmPlatformLib|ArmVirtPkg/Library/ArmPlatformLibQemu/ArmPlatformLibQemu.inf
110!else
111 ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf
112!endif
113
114[LibraryClasses.ARM]
115 ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf
116
117[LibraryClasses.common.PEIM]
118!ifndef $(VBOX)
119 ArmVirtMemInfoLib|ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf
120!else
121 ArmVirtMemInfoLib|VBoxPkg/Library/VBoxVirtMemInfoLib/VBoxVirtMemInfoPeiLib.inf
122!endif
123 ArmMonitorLib|ArmVirtPkg/Library/ArmVirtMonitorPeiLib/ArmVirtMonitorPeiLib.inf
124 FdtLib|MdePkg/Library/BaseFdtLib/BaseFdtLib.inf
125 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
126
127[LibraryClasses.AARCH64.PEIM]
128 ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuPeiLib.inf
129 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
130
131[LibraryClasses.ARM.PEIM]
132 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
133
134[LibraryClasses.common.DXE_DRIVER]
135 AcpiPlatformLib|OvmfPkg/Library/AcpiPlatformLib/DxeAcpiPlatformLib.inf
136 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
137
138!if $(TPM2_ENABLE) == TRUE
139 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
140!endif
141
142[LibraryClasses.common.UEFI_DRIVER]
143 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
144
145[BuildOptions]
146!ifndef $(VBOX) # Don't clear the XIPFLAGS as we run with MMU disabled (no early ID mapping).
147!if $(CAVIUM_ERRATUM_27456) == TRUE
148 GCC:*_*_AARCH64_PP_FLAGS = -DCAVIUM_ERRATUM_27456
149!endif
150!endif
151
152!include NetworkPkg/NetworkBuildOptions.dsc.inc
153
154################################################################################
155#
156# Pcd Section - list of all EDK II PCD Entries defined by this Platform
157#
158################################################################################
159
160[PcdsFeatureFlag.common]
161 gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE
162 gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|TRUE
163
164 ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
165 # It could be set FALSE to save size.
166 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
167 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
168
169 gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
170
171 gArmVirtTokenSpaceGuid.PcdTpm2SupportEnabled|$(TPM2_ENABLE)
172
173[PcdsFixedAtBuild.common]
174 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFdBaseAddress|0x00000000
175 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareFdSize|$(FD_SIZE)
176
177 gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x4007c000
178 gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000
179 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
180 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
181!if $(NETWORK_TLS_ENABLE) == TRUE
182 #
183 # The cumulative and individual VOLATILE variable size limits should be set
184 # high enough for accommodating several and/or large CA certificates.
185 #
186 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x80000
187 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize|0x40000
188!endif
189
190 # Size of the region used by UEFI in permanent memory (Reserved 64MB)
191 gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000
192
193 #
194 # ARM PrimeCell
195 #
196
197 ## PL011 - Serial Terminal
198 gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400
199
200 ## Default Terminal Type
201 ## 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8, 4-TTYTERM
202!if $(TTY_TERMINAL) == TRUE
203 gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4
204 # Set terminal type to TtyTerm, the value encoded is EFI_TTY_TERM_GUID
205 gUefiOvmfPkgTokenSpaceGuid.PcdTerminalTypeGuidBuffer|{0x80, 0x6d, 0x91, 0x7d, 0xb1, 0x5b, 0x8c, 0x45, 0xa4, 0x8f, 0xe2, 0x5f, 0xdd, 0x51, 0xef, 0x94}
206!else
207 gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|1
208!endif
209
210 #
211 # Network Pcds
212 #
213!include NetworkPkg/NetworkFixedPcds.dsc.inc
214
215!ifndef $(VBOX)
216 # System Memory Base -- fixed at 0x4000_0000
217 gArmTokenSpaceGuid.PcdSystemMemoryBase|0x40000000
218
219 # initial location of the device tree blob passed by QEMU -- base of DRAM
220 gUefiOvmfPkgTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress|0x40000000
221!endif
222
223 gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
224 gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
225
226 #
227 # The maximum physical I/O addressability of the processor, set with
228 # BuildCpuHob().
229 #
230 gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16
231
232 #
233 # Enable the non-executable DXE stack. (This gets set up by DxeIpl)
234 #
235 gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
236
237!if $(SECURE_BOOT_ENABLE) == TRUE
238 # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
239 gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
240 gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
241 gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
242!endif
243
244 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|3
245 gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x20000
246
247 # Shadowing PEI modules is absolutely pointless when the NOR flash is emulated
248 gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnBoot|FALSE
249
250 # System Memory Size -- 128 MB initially, actual size will be fetched from DT
251 gArmTokenSpaceGuid.PcdSystemMemorySize|0x8000000
252
253 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize | 0x40000
254 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize | 0x40000
255 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize | 0x40000
256
257[PcdsFixedAtBuild.AARCH64]
258 # Clearing BIT0 in this PCD prevents installing a 32-bit SMBIOS entry point,
259 # if the entry point version is >= 3.0. AARCH64 OSes cannot assume the
260 # presence of the 32-bit entry point anyway (because many AARCH64 systems
261 # don't have 32-bit addressable physical RAM), and the additional allocations
262 # below 4 GB needlessly fragment the memory map. So expose the 64-bit entry
263 # point only, for entry point versions >= 3.0.
264 gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x2
265
266 gArmTokenSpaceGuid.PcdVFPEnabled|1
267
268[PcdsDynamicDefault.common]
269 gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3
270
271 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase | 0
272 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64 | 0
273 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 | 0
274 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase | 0
275 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase | 0
276 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64 | 0
277
278 ## If TRUE, OvmfPkg/AcpiPlatformDxe will not wait for PCI
279 # enumeration to complete before installing ACPI tables.
280 gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE
281
282 gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|0x0
283 gArmTokenSpaceGuid.PcdArmArchTimerIntrNum|0x0
284 gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum|0x0
285 gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum|0x0
286 gArmTokenSpaceGuid.PcdArmArchTimerHypVirtIntrNum|0x0
287
288 #
289 # ARM General Interrupt Controller
290 #
291 gArmTokenSpaceGuid.PcdGicDistributorBase|0x0
292 gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0
293 gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0
294
295 ## PL031 RealTimeClock
296 gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0
297
298 # set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this
299 # PCD and PcdPciDisableBusEnumeration above have not been assigned yet
300 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF
301
302 gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation|0x0
303
304 #
305 # SMBIOS entry point version
306 #
307 gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0300
308 gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
309 gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
310
311!include OvmfPkg/Include/Dsc/OvmfDisplayPcds.dsc.inc
312
313!include NetworkPkg/NetworkDynamicPcds.dsc.inc
314
315 #
316 # TPM2 support
317 #
318!if $(TPM2_ENABLE) == TRUE
319 gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0
320 gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
321 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask|0
322!else
323[PcdsPatchableInModule]
324 # make this PCD patchable instead of dynamic when TPM support is not enabled
325 # this permits setting the PCD in unreachable code without pulling in dynamic PCD support
326 gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0
327!endif
328
329[PcdsDynamicHii]
330 gUefiOvmfPkgTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gOvmfVariableGuid|0x0|FALSE|NV,BS
331
332!if $(TPM2_CONFIG_ENABLE) == TRUE
333 gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
334 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
335!endif
336
337 gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5
338
339[LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM]
340!if $(TPM2_ENABLE) == TRUE
341 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
342!else
343 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
344!endif
345
346################################################################################
347#
348# Components Section - list of all EDK II Modules needed by this Platform
349#
350################################################################################
351[Components.common]
352 #
353 # PEI Phase modules
354 #
355 ArmPlatformPkg/Sec/Sec.inf
356 MdeModulePkg/Core/Pei/PeiMain.inf
357 ArmPlatformPkg/PlatformPei/PlatformPeim.inf
358 ArmVirtPkg/MemoryInitPei/MemoryInitPeim.inf
359 ArmPkg/Drivers/CpuPei/CpuPei.inf
360
361!if $(TPM2_ENABLE) == TRUE
362 MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
363 <LibraryClasses>
364 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
365 }
366 MdeModulePkg/Universal/ResetSystemPei/ResetSystemPei.inf
367 OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
368 SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
369 <LibraryClasses>
370 HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
371 NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
372 NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
373 NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
374 NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
375 NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
376 }
377!endif
378
379 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
380 <LibraryClasses>
381 NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
382 }
383
384 #
385 # DXE
386 #
387 MdeModulePkg/Core/Dxe/DxeMain.inf {
388 <LibraryClasses>
389 NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
390 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
391 }
392 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
393 <LibraryClasses>
394 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
395 }
396
397 #
398 # Architectural Protocols
399 #
400 ArmPkg/Drivers/CpuDxe/CpuDxe.inf
401 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
402 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
403 <LibraryClasses>
404 NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
405 NULL|EmbeddedPkg/Library/NvVarStoreFormattedLib/NvVarStoreFormattedLib.inf
406 # don't use unaligned CopyMem () on the UEFI varstore NOR flash region
407 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
408 }
409!if $(SECURE_BOOT_ENABLE) == TRUE
410 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
411 <LibraryClasses>
412 NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
413!if $(TPM2_ENABLE) == TRUE
414 NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
415!endif
416 }
417 SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
418 OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
419!else
420 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
421!endif
422 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
423 MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf {
424 <LibraryClasses>
425 NULL|EmbeddedPkg/Library/NvVarStoreFormattedLib/NvVarStoreFormattedLib.inf
426 }
427 MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
428 MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
429 EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf {
430 <LibraryClasses>
431 NULL|ArmVirtPkg/Library/ArmVirtPL031FdtClientLib/ArmVirtPL031FdtClientLib.inf
432 }
433 EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
434
435 MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
436 MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
437 MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
438 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
439 MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
440
441 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
442
443 ArmPkg/Drivers/ArmGicDxe/ArmGicDxe.inf {
444 <LibraryClasses>
445 NULL|ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.inf
446 }
447 ArmPkg/Drivers/TimerDxe/TimerDxe.inf {
448 <LibraryClasses>
449 NULL|ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf
450 }
451 OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf {
452 <LibraryClasses>
453 # don't use unaligned CopyMem () on the UEFI varstore NOR flash region
454 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
455 }
456 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
457 SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf
458
459 #
460 # Status Code Routing
461 #
462 MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
463
464 #
465 # Platform Driver
466 #
467 OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.inf
468 EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf
469 OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf
470 OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
471 OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
472 OvmfPkg/VirtioNetDxe/VirtioNet.inf
473 OvmfPkg/VirtioRngDxe/VirtioRng.inf
474 OvmfPkg/VirtioSerialDxe/VirtioSerial.inf {
475 <PcdsFixedAtBuild>
476 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0
477 }
478 OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.inf
479
480!ifdef $(VBOX)
481 VBoxPkg/VmwSvga3Dxe/VmwSvga3VideoDxe.inf {
482 <LibraryClasses>
483 # Optimized SetMem doesn't work on VGA framebuffer.
484 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
485 }
486
487 MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
488 MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
489 MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
490!endif
491
492 #
493 # FAT filesystem + GPT/MBR partitioning + UDF filesystem + virtio-fs
494 #
495 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
496 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
497 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
498 FatPkg/EnhancedFatDxe/Fat.inf
499 MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
500 OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
501
502 #
503 # Bds
504 #
505 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
506 <LibraryClasses>
507 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
508 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
509 }
510 MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
511 MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
512 MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
513 MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
514!ifndef $(VBOX)
515 MdeModulePkg/Logo/LogoDxe.inf
516!else
517 VBoxPkg/Logo/LogoDxe.inf
518!endif
519 MdeModulePkg/Application/UiApp/UiApp.inf {
520 <LibraryClasses>
521 NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
522 NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
523 NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
524 }
525 OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf {
526 <LibraryClasses>
527 NULL|OvmfPkg/Library/BlobVerifierLibNull/BlobVerifierLibNull.inf
528 }
529
530 #
531 # Networking stack
532 #
533!include NetworkPkg/NetworkComponents.dsc.inc
534
535!if $(NETWORK_ENABLE) == TRUE
536!if $(NETWORK_PXE_BOOT_ENABLE) == TRUE
537 NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf {
538 <LibraryClasses>
539 NULL|OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf
540 }
541!endif
542
543!if $(NETWORK_TLS_ENABLE) == TRUE
544 NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf {
545 <LibraryClasses>
546 NULL|OvmfPkg/Library/TlsAuthConfigLib/TlsAuthConfigLib.inf
547 }
548!endif
549!endif
550
551 #
552 # SCSI Bus and Disk Driver
553 #
554 MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
555 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
556
557 #
558 # NVME Driver
559 #
560 MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
561
562 #
563 # SMBIOS Support
564 #
565 MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
566 <LibraryClasses>
567 NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
568 }
569 OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
570
571 #
572 # PCI support
573 #
574 UefiCpuPkg/CpuMmio2Dxe/CpuMmio2Dxe.inf {
575 <LibraryClasses>
576 NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
577 }
578 MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
579 MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
580 <LibraryClasses>
581 NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
582 }
583 OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
584 OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
585 OvmfPkg/Virtio10Dxe/Virtio10.inf
586
587 #
588 # Video support
589 #
590 OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
591 OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
592 OvmfPkg/PlatformDxe/Platform.inf
593
594 #
595 # USB Support
596 #
597 MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
598 MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
599 MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
600 MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
601 MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
602 MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
603
604 #
605 # Hash2 Protocol Support
606 #
607 SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.inf
608
609 #
610 # TPM2 support
611 #
612!if $(TPM2_ENABLE) == TRUE
613 SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
614 <LibraryClasses>
615 HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
616 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
617 NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
618 NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
619 NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
620 NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
621 NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
622 NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
623 }
624!if $(TPM2_CONFIG_ENABLE) == TRUE
625 SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
626!endif
627!endif
628
629 #
630 # ACPI Support
631 #
632 OvmfPkg/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf
633[Components.AARCH64]
634 MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
635!ifndef $(VBOX)
636 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf {
637 <LibraryClasses>
638 NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
639 }
640!else
641 VBoxPkg/VBoxAcpiPlatformDxe/VBoxAcpiPlatformDxe.inf
642!endif
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette