VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/ArmVirtPkg/ArmVirtQemu.dsc@ 101297

Last change on this file since 101297 was 101291, checked in by vboxsync, 17 months ago

EFI/FirmwareNew: Make edk2-stable202308 build on all supported platforms (using gcc at least, msvc not tested yet), bugref:4643

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

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