VirtualBox

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

Last change on this file since 105600 was 105600, checked in by vboxsync, 4 months ago

VMM/ARM: Move the VBox ARMv8 platform descriptor from the end of the address space right after the UEFI region, bugref:10746

The original solution was to avoid as many hardcoded addresses as possible by placing the VBox region descriptor right at the end
of the guest physical address space. This turned out to be a bad idea because on M3 the host maximum physical address width and
guest maxmium physical address width differ so mapping the platform descriptor fails. Also saved states would not be portable if
a saved state is mvoed between systems with different physical address widths.
The solution is to move the platform descriptor right after the UEFI region and move the MMIO region, which grew from top to bottom
to start right after the base RAM region and grow upwards.

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