VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgX64.dsc@ 101291

Last change on this file since 101291 was 101291, checked in by vboxsync, 14 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: 50.5 KB
Line 
1## @file
2# EFI/Framework Open Virtual Machine Firmware (OVMF) platform
3#
4# Copyright (c) 2006 - 2023, Intel Corporation. All rights reserved.<BR>
5# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
6# Copyright (c) Microsoft Corporation.
7#
8# SPDX-License-Identifier: BSD-2-Clause-Patent
9#
10##
11
12################################################################################
13#
14# Defines Section - statements that will be processed to create a Makefile.
15#
16################################################################################
17[Defines]
18 PLATFORM_NAME = Ovmf
19 PLATFORM_GUID = 5a9e7754-d81b-49ea-85ad-69eaa7b1539b
20 PLATFORM_VERSION = 0.1
21 DSC_SPECIFICATION = 0x00010005
22!ifndef $(VBOX_OUTPUT_BASE_DIR)
23 OUTPUT_DIRECTORY = Build/OvmfX64
24!else
25 OUTPUT_DIRECTORY = $(VBOX_OUTPUT_BASE_DIR)/amd64
26!endif
27 SUPPORTED_ARCHITECTURES = X64
28 BUILD_TARGETS = NOOPT|DEBUG|RELEASE
29 SKUID_IDENTIFIER = DEFAULT
30 FLASH_DEFINITION = OvmfPkg/OvmfPkgX64.fdf
31
32 #
33 # Defines for default states. These can be changed on the command line.
34 # -D FLAG=VALUE
35 #
36 DEFINE SECURE_BOOT_ENABLE = FALSE
37 DEFINE SMM_REQUIRE = FALSE
38 DEFINE SOURCE_DEBUG_ENABLE = FALSE
39 DEFINE CC_MEASUREMENT_ENABLE = FALSE
40
41!include OvmfPkg/Include/Dsc/OvmfTpmDefines.dsc.inc
42
43 #
44 # Shell can be useful for debugging but should not be enabled for production
45 #
46 DEFINE BUILD_SHELL = TRUE
47
48 #
49 # Network definition
50 #
51 DEFINE NETWORK_TLS_ENABLE = FALSE
52 DEFINE NETWORK_IP6_ENABLE = FALSE
53 DEFINE NETWORK_HTTP_BOOT_ENABLE = FALSE
54 DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
55 DEFINE NETWORK_ISCSI_ENABLE = TRUE
56
57!include NetworkPkg/NetworkDefines.dsc.inc
58
59 #
60 # Device drivers
61 #
62 DEFINE PVSCSI_ENABLE = FALSE
63 DEFINE MPT_SCSI_ENABLE = FALSE
64 DEFINE LSI_SCSI_ENABLE = FALSE
65
66 #
67 # Flash size selection. Setting FD_SIZE_IN_KB on the command line directly to
68 # one of the supported values, in place of any of the convenience macros, is
69 # permitted.
70 #
71!ifdef $(FD_SIZE_1MB)
72 DEFINE FD_SIZE_IN_KB = 1024
73!else
74!ifdef $(FD_SIZE_2MB)
75 DEFINE FD_SIZE_IN_KB = 2048
76!else
77!ifdef $(FD_SIZE_4MB)
78 DEFINE FD_SIZE_IN_KB = 4096
79!else
80 DEFINE FD_SIZE_IN_KB = 4096
81!endif
82!endif
83!endif
84
85 #
86 # Define the FILE_GUID of CpuMpPei/CpuDxe for unique-processor version.
87 #
88 DEFINE UP_CPU_PEI_GUID = 280251c4-1d09-4035-9062-839acb5f18c1
89 DEFINE UP_CPU_DXE_GUID = 6490f1c5-ebcc-4665-8892-0075b9bb49b7
90
91!include OvmfPkg/Include/Dsc/OvmfPkg.dsc.inc
92
93[BuildOptions]
94 GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
95 INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
96 MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
97!if $(TOOL_CHAIN_TAG) != "XCODE5" && $(TOOL_CHAIN_TAG) != "CLANGPDB"
98 GCC:*_*_*_CC_FLAGS = -mno-mmx -mno-sse
99!endif
100!if $(SOURCE_DEBUG_ENABLE) == TRUE
101 MSFT:*_*_X64_GENFW_FLAGS = --keepexceptiontable
102 GCC:*_*_X64_GENFW_FLAGS = --keepexceptiontable
103 INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable
104!endif
105!ifndef $(VBOX) # We want some debug information even for release builds, thank you.
106 RELEASE_*_*_GENFW_FLAGS = --zero
107!endif
108
109 #
110 # Disable deprecated APIs.
111 #
112 MSFT:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
113 INTEL:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
114 GCC:*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
115
116 #
117 # Add TDX_GUEST_SUPPORTED
118 #
119 MSFT:*_*_*_CC_FLAGS = /D TDX_GUEST_SUPPORTED
120 INTEL:*_*_*_CC_FLAGS = /D TDX_GUEST_SUPPORTED
121 GCC:*_*_*_CC_FLAGS = -D TDX_GUEST_SUPPORTED
122
123!include NetworkPkg/NetworkBuildOptions.dsc.inc
124
125[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
126 GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
127 XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
128 XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
129 CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
130
131# Force PE/COFF sections to be aligned at 4KB boundaries to support page level
132# protection of DXE_SMM_DRIVER/SMM_CORE modules
133[BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]
134 GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
135 XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
136 XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
137 CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
138
139!ifdef $(VBOX)
140[BuildOptions.Ia32]
141 GCC:*_*_*_CC_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=32 -DHC_ARCH_BITS=32 -DVBOX_REV=$(VBOX_REV)
142 MSFT:*_*_*_CC_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=32 -DHC_ARCH_BITS=32 -DVBOX_REV=$(VBOX_REV)
143 INTEL:*_*_*_CC_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=32 -DHC_ARCH_BITS=32 -DVBOX_REV=$(VBOX_REV)
144[BuildOptions.X64]
145 GCC:*_*_*_CC_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=64 -DHC_ARCH_BITS=64 -DVBOX_REV=$(VBOX_REV)
146 MSFT:*_*_*_CC_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=64 -DHC_ARCH_BITS=64 -DVBOX_REV=$(VBOX_REV)
147 INTEL:*_*_*_CC_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=64 -DHC_ARCH_BITS=64 -DVBOX_REV=$(VBOX_REV)
148
149!ifdef $(SOURCE_DEBUG_ENABLE)
150 # Get much better source-level debugging
151 GCC:DEBUG_*_*_CC_FLAGS = -DVBOX_SOURCE_DEBUG_ENABLE
152 MSFT:DEBUG_*_*_CC_FLAGS = /Od -DVBOX_SOURCE_DEBUG_ENABLE
153 INTEL:DEBUG_*_*_CC_FLAGS = -DVBOX_SOURCE_DEBUG_ENABLE
154!endif
155
156!endif
157
158
159################################################################################
160#
161# SKU Identification section - list of all SKU IDs supported by this Platform.
162#
163################################################################################
164[SkuIds]
165 0|DEFAULT
166
167################################################################################
168#
169# Library Class section - list of all Library Classes needed by this Platform.
170#
171################################################################################
172
173!include MdePkg/MdeLibs.dsc.inc
174
175[LibraryClasses]
176 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
177 TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
178 ResetSystemLib|OvmfPkg/Library/ResetSystemLib/BaseResetSystemLib.inf
179 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
180 BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
181 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
182 SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
183 TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
184 BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
185 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
186 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
187 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
188!ifndef $(VBOX)
189 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
190!else
191 PeCoffLib|VBoxPkg/Library/VBoxPeCoffLib/VBoxPeCoffLib.inf
192!endif
193 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
194 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
195 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
196 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
197 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
198 UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
199 BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
200 FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
201 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
202 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
203 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
204 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
205 PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
206 PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
207 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
208 PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
209 PciCapLib|OvmfPkg/Library/BasePciCapLib/BasePciCapLib.inf
210 PciCapPciSegmentLib|OvmfPkg/Library/BasePciCapPciSegmentLib/BasePciCapPciSegmentLib.inf
211 PciCapPciIoLib|OvmfPkg/Library/UefiPciCapPciIoLib/UefiPciCapPciIoLib.inf
212 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicSev.inf
213 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
214 SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
215 MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
216 MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf
217 CpuPageTableLib|UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableLib.inf
218 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
219 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
220 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
221 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
222 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
223 DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
224 NvVarsFileLib|OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf
225 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
226 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
227 UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
228 SerializeVariablesLib|OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.inf
229 QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf
230 QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
231 VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
232 LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf
233 MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf
234 MemEncryptTdxLib|OvmfPkg/Library/BaseMemEncryptTdxLib/BaseMemEncryptTdxLib.inf
235 PeiHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/PeiHardwareInfoLib.inf
236 DxeHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/DxeHardwareInfoLib.inf
237
238!if $(SMM_REQUIRE) == FALSE
239 LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf
240 CcProbeLib|OvmfPkg/Library/CcProbeLib/DxeCcProbeLib.inf
241!else
242 CcProbeLib|MdePkg/Library/CcProbeLibNull/CcProbeLibNull.inf
243!endif
244 CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
245 FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
246
247!if $(SOURCE_DEBUG_ENABLE) == TRUE
248 PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
249 DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
250!else
251!ifdef $(VBOX)
252 PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
253 DebugAgentLib|VBoxPkg/Library/VBoxDebugAgentLib/VBoxDebugAgentLib.inf
254!else
255 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
256 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
257!endif
258!endif
259
260 LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
261 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
262
263 IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
264!if $(NETWORK_TLS_ENABLE) == TRUE
265 OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
266!else
267 OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
268!endif
269 RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
270
271!if $(SECURE_BOOT_ENABLE) == TRUE
272 PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
273 AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
274 SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
275 PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
276 SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
277!else
278 AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
279!endif
280 VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
281 VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
282 VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
283 VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
284
285
286 #
287 # Network libraries
288 #
289!include NetworkPkg/NetworkLibs.dsc.inc
290
291!if $(NETWORK_TLS_ENABLE) == TRUE
292 TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
293!endif
294
295!if $(BUILD_SHELL) == TRUE
296 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
297!endif
298 ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
299
300 S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
301 SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
302 OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
303
304!include OvmfPkg/Include/Dsc/OvmfTpmLibs.dsc.inc
305
306[LibraryClasses.common]
307 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
308 CcExitLib|OvmfPkg/Library/CcExitLib/CcExitLib.inf
309 TdxLib|MdePkg/Library/TdxLib/TdxLib.inf
310 TdxMailboxLib|OvmfPkg/Library/TdxMailboxLib/TdxMailboxLib.inf
311
312[LibraryClasses.common.SEC]
313 TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.inf
314!ifndef $(VBOX)
315 QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf
316!ifdef $(DEBUG_ON_SERIAL_PORT)
317 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
318!else
319 DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
320!endif
321!else
322 DebugLib|VBoxPkg/Library/VBoxDebugLib/VBoxDebugLib.inf
323!endif
324 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
325 ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
326!if $(SOURCE_DEBUG_ENABLE) == TRUE
327 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
328!endif
329 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
330 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
331 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
332 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
333 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
334 CcExitLib|OvmfPkg/Library/CcExitLib/SecCcExitLib.inf
335 MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf
336 CcProbeLib|OvmfPkg/Library/CcProbeLib/SecPeiCcProbeLib.inf
337
338[LibraryClasses.common.PEI_CORE]
339 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
340 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
341 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
342 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
343 PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
344 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
345 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
346 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
347!ifndef $(VBOX)
348!ifdef $(DEBUG_ON_SERIAL_PORT)
349 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
350!else
351 DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
352!endif
353 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
354!else
355 PeCoffLib|VBoxPkg/Library/VBoxPeCoffLib/VBoxPeCoffLib.inf
356 DebugLib|VBoxPkg/Library/VBoxDebugLib/VBoxDebugLib.inf
357!endif
358 CcProbeLib|OvmfPkg/Library/CcProbeLib/SecPeiCcProbeLib.inf
359
360[LibraryClasses.common.PEIM]
361 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
362 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
363 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
364 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
365 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
366 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
367 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
368 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
369!ifndef $(VBOX)
370!ifdef $(DEBUG_ON_SERIAL_PORT)
371 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
372!else
373 DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
374!endif
375 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
376!else
377 DebugLib|VBoxPkg/Library/VBoxDebugLib/VBoxDebugLib.inf
378 PeCoffLib|VBoxPkg/Library/VBoxPeCoffLib/VBoxPeCoffLib.inf
379!endif
380 ResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
381 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
382!if $(SOURCE_DEBUG_ENABLE) == TRUE
383 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
384!endif
385 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf
386 MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf
387 QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/PeiQemuFwCfgS3LibFwCfg.inf
388 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
389 QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgPeiLib.inf
390 PlatformInitLib|OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf
391
392 MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf
393 CcProbeLib|OvmfPkg/Library/CcProbeLib/SecPeiCcProbeLib.inf
394
395[LibraryClasses.common.DXE_CORE]
396 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
397 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
398 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
399 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
400!ifndef $(VBOX)
401!ifdef $(DEBUG_ON_SERIAL_PORT)
402 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
403!else
404 DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
405!endif
406!else
407 DebugLib|VBoxPkg/Library/VBoxDebugLib/VBoxDebugLib.inf
408!endif
409 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
410!if $(SOURCE_DEBUG_ENABLE) == TRUE
411 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
412!endif
413 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
414 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
415
416[LibraryClasses.common.DXE_RUNTIME_DRIVER]
417 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
418 TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
419 ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
420 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
421 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
422 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
423 ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
424!ifndef $(VBOX)
425!ifdef $(DEBUG_ON_SERIAL_PORT)
426 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
427!else
428 DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
429!endif
430!else
431 DebugLib|VBoxPkg/Library/VBoxDebugLib/VBoxDebugLib.inf
432!endif
433 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
434 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
435 PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
436 QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
437 VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
438!if $(SMM_REQUIRE) == TRUE
439 MmUnblockMemoryLib|MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
440!endif
441
442[LibraryClasses.common.UEFI_DRIVER]
443 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
444 TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
445 ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
446 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
447 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
448 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
449 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
450!ifndef $(VBOX)
451!ifdef $(DEBUG_ON_SERIAL_PORT)
452 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
453!else
454 DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
455!endif
456!else
457 DebugLib|VBoxPkg/Library/VBoxDebugLib/VBoxDebugLib.inf
458!endif
459 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
460 PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
461
462[LibraryClasses.common.DXE_DRIVER]
463 AcpiPlatformLib|OvmfPkg/Library/AcpiPlatformLib/DxeAcpiPlatformLib.inf
464 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
465 TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
466 ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
467 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
468 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
469 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
470 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
471!ifndef $(VBOX)
472!ifdef $(DEBUG_ON_SERIAL_PORT)
473 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
474!else
475 DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
476!endif
477!else
478 DebugLib|VBoxPkg/Library/VBoxDebugLib/VBoxDebugLib.inf
479!endif
480 PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
481 PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf
482 QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
483 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
484!if $(SMM_REQUIRE) == TRUE
485 LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf
486!else
487 LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxDxeLib.inf
488!endif
489!if $(SOURCE_DEBUG_ENABLE) == TRUE
490 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
491!endif
492 PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
493 MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
494 NestedInterruptTplLib|OvmfPkg/Library/NestedInterruptTplLib/NestedInterruptTplLib.inf
495 QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
496 QemuLoadImageLib|OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.inf
497
498[LibraryClasses.common.UEFI_APPLICATION]
499 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
500 TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
501 ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
502 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
503 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
504 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
505!ifndef $(VBOX)
506!ifdef $(DEBUG_ON_SERIAL_PORT)
507 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
508!else
509 DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
510!endif
511!else
512 DebugLib|VBoxPkg/Library/VBoxDebugLib/VBoxDebugLib.inf
513!endif
514 PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
515
516[LibraryClasses.common.DXE_SMM_DRIVER]
517 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
518 TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
519 ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
520 MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
521 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
522 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
523 SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
524 MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf
525 SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
526!ifndef $(VBOX)
527!ifdef $(DEBUG_ON_SERIAL_PORT)
528 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
529!else
530 DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
531!endif
532!else
533 DebugLib|VBoxPkg/Library/VBoxDebugLib/VBoxDebugLib.inf
534!endif
535 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
536!if $(SOURCE_DEBUG_ENABLE) == TRUE
537 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
538!endif
539 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
540 PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
541 SmmCpuRendezvousLib|UefiCpuPkg/Library/SmmCpuRendezvousLib/SmmCpuRendezvousLib.inf
542
543[LibraryClasses.common.SMM_CORE]
544 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
545 TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
546 ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
547 SmmCorePlatformHookLib|MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf
548 MemoryAllocationLib|MdeModulePkg/Library/PiSmmCoreMemoryAllocationLib/PiSmmCoreMemoryAllocationLib.inf
549 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
550 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
551 SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
552 SmmServicesTableLib|MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.inf
553!ifndef $(VBOX)
554!ifdef $(DEBUG_ON_SERIAL_PORT)
555 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
556!else
557 DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
558!endif
559!else
560 DebugLib|VBoxPkg/Library/VBoxDebugLib/VBoxDebugLib.inf
561!endif
562 PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
563
564################################################################################
565#
566# Pcd Section - list of all EDK II PCD Entries defined by this Platform.
567#
568################################################################################
569[PcdsFeatureFlag]
570 gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
571 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE
572 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE
573 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
574 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
575 gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
576!ifdef $(CSM_ENABLE)
577 gUefiOvmfPkgTokenSpaceGuid.PcdCsmEnable|TRUE
578!endif
579!if $(SMM_REQUIRE) == TRUE
580 gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire|TRUE
581 gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugSupport|TRUE
582 gEfiMdeModulePkgTokenSpaceGuid.PcdEnableVariableRuntimeCache|FALSE
583!endif
584!if $(SECURE_BOOT_ENABLE) == TRUE
585 gUefiOvmfPkgTokenSpaceGuid.PcdSecureBootSupported|TRUE
586 gEfiMdeModulePkgTokenSpaceGuid.PcdRequireSelfSignedPk|TRUE
587!endif
588
589[PcdsFixedAtBuild]
590 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
591!if $(SMM_REQUIRE) == FALSE
592 gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
593!endif
594 gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10
595 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|0
596!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
597 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
598 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
599!if $(NETWORK_TLS_ENABLE) == FALSE
600 # match PcdFlashNvStorageVariableSize purely for convenience
601 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0xe000
602!endif
603!endif
604!if $(FD_SIZE_IN_KB) == 4096
605 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x8400
606 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x8400
607!if $(NETWORK_TLS_ENABLE) == FALSE
608 # match PcdFlashNvStorageVariableSize purely for convenience
609 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x40000
610!endif
611!endif
612!if $(NETWORK_TLS_ENABLE) == TRUE
613 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x80000
614 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize|0x40000
615!endif
616
617 gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
618 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE
619 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|TRUE
620
621 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
622
623 # DEBUG_INIT 0x00000001 // Initialization
624 # DEBUG_WARN 0x00000002 // Warnings
625 # DEBUG_LOAD 0x00000004 // Load events
626 # DEBUG_FS 0x00000008 // EFI File system
627 # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
628 # DEBUG_PAGE 0x00000020 // Alloc & Free (page)
629 # DEBUG_INFO 0x00000040 // Informational debug messages
630 # DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
631 # DEBUG_VARIABLE 0x00000100 // Variable
632 # DEBUG_BM 0x00000400 // Boot Manager
633 # DEBUG_BLKIO 0x00001000 // BlkIo Driver
634 # DEBUG_NET 0x00004000 // SNP Driver
635 # DEBUG_UNDI 0x00010000 // UNDI Driver
636 # DEBUG_LOADFILE 0x00020000 // LoadFile
637 # DEBUG_EVENT 0x00080000 // Event messages
638 # DEBUG_GCD 0x00100000 // Global Coherency Database changes
639 # DEBUG_CACHE 0x00200000 // Memory range cachability changes
640 # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
641 # // significantly impact boot performance
642 # DEBUG_ERROR 0x80000000 // Error
643 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
644
645!if $(SOURCE_DEBUG_ENABLE) == TRUE
646 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
647!else
648 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
649!endif
650
651!ifndef $(VBOX)
652 # This PCD is used to set the base address of the PCI express hierarchy. It
653 # is only consulted when OVMF runs on Q35. In that case it is programmed into
654 # the PCIEXBAR register.
655 #
656 # On Q35 machine types that QEMU intends to support in the long term, QEMU
657 # never lets the RAM below 4 GB exceed 2816 MB.
658 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
659!endif
660
661!if $(SOURCE_DEBUG_ENABLE) == TRUE
662 gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
663!endif
664
665 #
666 # The NumberOfPages values below are ad-hoc. They are updated sporadically at
667 # best (please refer to git-blame for past updates). The values capture a set
668 # of BIN hints that made sense at a particular time, for some (now likely
669 # unknown) workloads / boot paths.
670 #
671 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0x80
672 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0x12
673 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0x80
674 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0x100
675 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|0x100
676
677 #
678 # TDX need 1G PageTable support
679 gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE
680
681 #
682 # Network Pcds
683 #
684!include NetworkPkg/NetworkPcds.dsc.inc
685
686 gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x20000
687
688!if $(SMM_REQUIRE) == TRUE
689 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000
690!endif
691
692 # IRQs 5, 9, 10, 11 are level-triggered
693 gUefiOvmfPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0E20
694
695 # Point to the MdeModulePkg/Application/UiApp/UiApp.inf
696 gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
697 #
698 # INIT is now triggered before BIOS by ucode/hardware. In the OVMF
699 # environment, QEMU lacks a simulation for the INIT process.
700 # To address this, PcdFirstTimeWakeUpAPsBySipi set to FALSE to
701 # broadcast INIT-SIPI-SIPI for the first time.
702 #
703 gUefiCpuPkgTokenSpaceGuid.PcdFirstTimeWakeUpAPsBySipi|FALSE
704
705################################################################################
706#
707# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
708#
709################################################################################
710
711[PcdsDynamicDefault]
712 # only set when
713 # ($(SMM_REQUIRE) == FALSE)
714 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
715
716!if $(SMM_REQUIRE) == FALSE
717 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
718 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
719 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
720 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
721 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
722!endif
723!ifndef $(VBOX)
724 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|1280
725 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|800
726!else
727 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable|FALSE
728 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|1024
729 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|768
730!endif
731 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|0
732 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|0
733 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE
734 gUefiOvmfPkgTokenSpaceGuid.PcdVideoResolutionSource|0
735 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0
736 gUefiOvmfPkgTokenSpaceGuid.PcdPciIoBase|0x0
737 gUefiOvmfPkgTokenSpaceGuid.PcdPciIoSize|0x0
738 gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0
739 gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0
740 gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0
741!ifdef $(CSM_ENABLE)
742 gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x0
743!else
744 gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x800000000
745!endif
746
747 gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
748
749 # Set video resolution for text setup.
750 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
751 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
752
753 gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
754 gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
755 gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
756
757 # Noexec settings for DXE.
758 gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE
759
760 # UefiCpuPkg PCDs related to initial AP bringup and general AP management.
761 gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64
762 gUefiCpuPkgTokenSpaceGuid.PcdCpuBootLogicalProcessorNumber|0
763
764 # Set memory encryption mask
765 gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask|0x0
766
767 # Set Tdx shared bit mask
768 gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0
769
770 # Set SEV-ES defaults
771 gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase|0
772 gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize|0
773 gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled|0
774
775!if $(SMM_REQUIRE) == TRUE
776 gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|8
777 gUefiOvmfPkgTokenSpaceGuid.PcdQ35SmramAtDefaultSmbase|FALSE
778 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode|0x01
779 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|100000
780!endif
781
782 gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00
783
784!include OvmfPkg/Include/Dsc/OvmfTpmPcds.dsc.inc
785
786 # IPv4 and IPv6 PXE Boot support.
787 gEfiNetworkPkgTokenSpaceGuid.PcdIPv4PXESupport|0x01
788 gEfiNetworkPkgTokenSpaceGuid.PcdIPv6PXESupport|0x01
789
790 # Set ConfidentialComputing defaults
791 gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0
792
793!if $(CSM_ENABLE) == FALSE
794 gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
795!endif
796
797!ifdef $(VBOX)
798 # This PCD is used to set the base address of the PCI express hierarchy. It
799 # is only consulted when OVMF runs on Q35. In that case it is programmed into
800 # the PCIEXBAR register.
801 #
802 # On VirtualBox it is dynamic.
803 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x80000000
804!endif
805
806[PcdsDynamicHii]
807!include OvmfPkg/Include/Dsc/OvmfTpmPcdsHii.dsc.inc
808
809################################################################################
810#
811# Components Section - list of all EDK II Modules needed by this Platform.
812#
813################################################################################
814[Components]
815 OvmfPkg/ResetVector/ResetVector.inf
816
817 #
818 # SEC Phase modules
819 #
820 OvmfPkg/Sec/SecMain.inf {
821 <LibraryClasses>
822 NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
823 NULL|OvmfPkg/IntelTdx/TdxHelperLib/SecTdxHelperLib.inf
824 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf
825 }
826
827 #
828 # PEI Phase modules
829 #
830 MdeModulePkg/Core/Pei/PeiMain.inf
831 MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
832 <LibraryClasses>
833 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
834 }
835 MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf {
836 <LibraryClasses>
837 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
838 }
839 MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf {
840 <LibraryClasses>
841 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
842 }
843 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
844
845 OvmfPkg/PlatformPei/PlatformPei.inf {
846 <LibraryClasses>
847 NULL|OvmfPkg/IntelTdx/TdxHelperLib/PeiTdxHelperLib.inf
848 }
849 UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf {
850 <LibraryClasses>
851!if $(SMM_REQUIRE) == TRUE
852 LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.inf
853!endif
854 }
855!if $(SMM_REQUIRE) == TRUE
856 MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
857 MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
858 OvmfPkg/SmmAccess/SmmAccessPei.inf
859!endif
860
861 UefiCpuPkg/CpuMpPei/CpuMpPei.inf {
862 <LibraryClasses>
863 #
864 # Directly use PeiMpInitLib. It depends on PeiMpInitLibMpDepLib which
865 # checks the PPI of gEfiPeiMpInitLibMpDepPpiGuid.
866 #
867 MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf
868 NULL|OvmfPkg/Library/MpInitLibDepLib/PeiMpInitLibMpDepLib.inf
869 }
870
871 UefiCpuPkg/CpuMpPei/CpuMpPei.inf {
872 <Defines>
873 FILE_GUID = $(UP_CPU_PEI_GUID)
874
875 <LibraryClasses>
876 #
877 # Directly use MpInitLibUp. It depends on PeiMpInitLibUpDepLib which
878 # checks the PPI of gEfiPeiMpInitLibUpDepPpiGuid.
879 #
880 MpInitLib|UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
881 NULL|OvmfPkg/Library/MpInitLibDepLib/PeiMpInitLibUpDepLib.inf
882 }
883
884!include OvmfPkg/Include/Dsc/OvmfTpmComponentsPei.dsc.inc
885
886 #
887 # DXE Phase modules
888 #
889 MdeModulePkg/Core/Dxe/DxeMain.inf {
890 <LibraryClasses>
891 NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
892 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
893 }
894
895 MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
896 MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
897 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
898 <LibraryClasses>
899 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
900 }
901
902 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
903
904 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
905 <LibraryClasses>
906!if $(SECURE_BOOT_ENABLE) == TRUE
907 NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
908!endif
909!include OvmfPkg/Include/Dsc/OvmfTpmSecurityStub.dsc.inc
910 }
911
912 MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
913 UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
914
915 UefiCpuPkg/CpuDxe/CpuDxe.inf {
916 <LibraryClasses>
917 #
918 # Directly use DxeMpInitLib. It depends on DxeMpInitLibMpDepLib which
919 # checks the Protocol of gEfiMpInitLibMpDepProtocolGuid.
920 #
921 MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
922 NULL|OvmfPkg/Library/MpInitLibDepLib/DxeMpInitLibMpDepLib.inf
923 }
924
925 UefiCpuPkg/CpuDxe/CpuDxe.inf {
926 <Defines>
927 FILE_GUID = $(UP_CPU_DXE_GUID)
928
929 <LibraryClasses>
930 #
931 # Directly use MpInitLibUp. It depends on DxeMpInitLibUpDepLib which
932 # checks the Protocol of gEfiMpInitLibUpDepProtocolGuid.
933 #
934 MpInitLib|UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
935 NULL|OvmfPkg/Library/MpInitLibDepLib/DxeMpInitLibUpDepLib.inf
936 }
937
938!ifdef $(CSM_ENABLE)
939 OvmfPkg/8259InterruptControllerDxe/8259.inf
940 OvmfPkg/8254TimerDxe/8254Timer.inf
941!else
942 OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
943!endif
944 OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
945 OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
946 MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
947 <LibraryClasses>
948 PciHostBridgeLib|OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf
949 PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf
950 NULL|OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.inf
951 }
952 MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
953 <LibraryClasses>
954 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
955 }
956 MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
957 MdeModulePkg/Universal/Metronome/Metronome.inf
958 PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
959 MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
960 MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {
961 <LibraryClasses>
962 XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
963!ifdef $(CSM_ENABLE)
964 NULL|OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.inf
965 NULL|OvmfPkg/Csm/LegacyBootManagerLib/LegacyBootManagerLib.inf
966!endif
967 }
968!ifndef $(VBOX)
969 MdeModulePkg/Logo/LogoDxe.inf
970!else
971 VBoxPkg/Logo/LogoDxe.inf
972!endif
973 MdeModulePkg/Application/UiApp/UiApp.inf {
974 <LibraryClasses>
975 NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
976 NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
977 NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
978!ifdef $(CSM_ENABLE)
979 NULL|OvmfPkg/Csm/LegacyBootManagerLib/LegacyBootManagerLib.inf
980 NULL|OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf
981!endif
982 }
983 OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf {
984 <LibraryClasses>
985 NULL|OvmfPkg/Library/BlobVerifierLibNull/BlobVerifierLibNull.inf
986 }
987 OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
988 OvmfPkg/Virtio10Dxe/Virtio10.inf
989!ifndef $(VBOX)
990 OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
991!endif
992 OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
993!ifndef $(VBOX)
994 OvmfPkg/VirtioRngDxe/VirtioRng.inf
995 OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
996!endif
997!if $(PVSCSI_ENABLE) == TRUE
998 OvmfPkg/PvScsiDxe/PvScsiDxe.inf
999!endif
1000!if $(MPT_SCSI_ENABLE) == TRUE
1001 OvmfPkg/MptScsiDxe/MptScsiDxe.inf
1002!endif
1003!if $(LSI_SCSI_ENABLE) == TRUE
1004 OvmfPkg/LsiScsiDxe/LsiScsiDxe.inf
1005!endif
1006 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
1007 MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
1008 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
1009 MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
1010 MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
1011 MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf {
1012 <LibraryClasses>
1013 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
1014 }
1015 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
1016 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
1017 <LibraryClasses>
1018 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
1019 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
1020 }
1021 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
1022 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
1023 MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
1024 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
1025 FatPkg/EnhancedFatDxe/Fat.inf
1026 MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
1027 OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
1028 MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
1029 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
1030 MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
1031 MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
1032 MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
1033 MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
1034 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
1035 MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
1036 MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
1037 MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
1038
1039!ifndef $(VBOX)
1040!ifndef $(CSM_ENABLE)
1041 OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
1042!endif
1043 OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
1044 OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
1045!else
1046 MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
1047 MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
1048 MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
1049 VBoxPkg/VBoxVgaMiniPortDxe/VBoxVgaMiniPortDxe.inf
1050 VBoxPkg/VBoxVgaDxe/VBoxVgaDxe.inf {
1051 <LibraryClasses>
1052 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
1053 }
1054 VBoxPkg/VBoxFsDxe/VBoxHfs.inf
1055 VBoxPkg/VBoxSysTables/VBoxSysTables.inf
1056 VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
1057 VBoxPkg/VBoxApfsJmpStartDxe/VBoxApfsJmpStartDxe.inf
1058!endif
1059
1060 #
1061 # ISA Support
1062 #
1063 OvmfPkg/SioBusDxe/SioBusDxe.inf
1064 MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
1065 MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
1066
1067 #
1068 # SMBIOS Support
1069 #
1070 MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
1071 <LibraryClasses>
1072 NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
1073 }
1074 OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
1075
1076 #
1077 # ACPI Support
1078 #
1079 MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
1080!ifndef $(VBOX)
1081 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
1082 MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
1083 MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
1084!else
1085 MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
1086!endif
1087 MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
1088
1089 #
1090 # Network Support
1091 #
1092!include NetworkPkg/NetworkComponents.dsc.inc
1093!include OvmfPkg/Include/Dsc/NetworkComponents.dsc.inc
1094
1095 OvmfPkg/VirtioNetDxe/VirtioNet.inf
1096!ifdef $(VBOX)
1097 VBoxPkg/E1kNetDxe/E1kNet.inf
1098!endif
1099
1100 #
1101 # Usb Support
1102 #
1103 MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
1104 MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
1105 MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
1106 MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
1107 MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
1108 MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
1109
1110!ifdef $(CSM_ENABLE)
1111 OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf {
1112 <LibraryClasses>
1113 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
1114 }
1115 OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
1116 OvmfPkg/Csm/Csm16/Csm16.inf
1117!endif
1118
1119!if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE
1120 ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
1121 <PcdsFixedAtBuild>
1122 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
1123 }
1124 ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
1125 <PcdsFixedAtBuild>
1126 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
1127 }
1128 OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
1129 <PcdsFixedAtBuild>
1130 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
1131 }
1132!endif
1133!if $(BUILD_SHELL) == TRUE
1134 ShellPkg/Application/Shell/Shell.inf {
1135 <LibraryClasses>
1136 ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
1137 NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
1138 NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
1139 NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
1140 NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
1141 NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
1142 NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
1143 NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
1144!if $(NETWORK_IP6_ENABLE) == TRUE
1145 NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
1146!endif
1147 HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
1148 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
1149 BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
1150
1151 <PcdsFixedAtBuild>
1152 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
1153 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
1154 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
1155 }
1156!endif
1157
1158!if $(SECURE_BOOT_ENABLE) == TRUE
1159 SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
1160 OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
1161!endif
1162
1163 OvmfPkg/PlatformDxe/Platform.inf
1164!ifndef $(VBOX)
1165 OvmfPkg/AmdSevDxe/AmdSevDxe.inf {
1166 <LibraryClasses>
1167 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
1168 }
1169!endif
1170 OvmfPkg/IoMmuDxe/IoMmuDxe.inf
1171
1172 OvmfPkg/TdxDxe/TdxDxe.inf
1173
1174!if $(SMM_REQUIRE) == TRUE
1175 OvmfPkg/SmmAccess/SmmAccess2Dxe.inf
1176 OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf
1177 OvmfPkg/CpuS3DataDxe/CpuS3DataDxe.inf
1178
1179 #
1180 # SMM Initial Program Load (a DXE_RUNTIME_DRIVER)
1181 #
1182 MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
1183
1184 #
1185 # SMM_CORE
1186 #
1187 MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
1188
1189 #
1190 # Privileged drivers (DXE_SMM_DRIVER modules)
1191 #
1192 OvmfPkg/CpuHotplugSmm/CpuHotplugSmm.inf
1193 UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
1194 MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf {
1195 <LibraryClasses>
1196 LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
1197 }
1198 UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {
1199 <LibraryClasses>
1200 SmmCpuPlatformHookLib|OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.inf
1201 SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
1202 MmSaveStateLib|UefiCpuPkg/Library/MmSaveStateLib/AmdMmSaveStateLib.inf
1203 }
1204
1205 #
1206 # Variable driver stack (SMM)
1207 #
1208 OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf {
1209 <LibraryClasses>
1210 CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
1211 }
1212 MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
1213 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
1214 <LibraryClasses>
1215 NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
1216 NULL|MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyLib.inf
1217 }
1218 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
1219
1220!else
1221
1222 #
1223 # Variable driver stack (non-SMM)
1224 #
1225 OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
1226 OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf {
1227 <LibraryClasses>
1228 PlatformFvbLib|OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.inf
1229 }
1230 MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
1231 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
1232 <LibraryClasses>
1233 NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
1234 }
1235!endif
1236
1237 #
1238 # Cc Measurement Protocol for Td guest
1239 #
1240!if $(CC_MEASUREMENT_ENABLE) == TRUE
1241 SecurityPkg/Tcg/TdTcg2Dxe/TdTcg2Dxe.inf {
1242 <LibraryClasses>
1243 HashLib|SecurityPkg/Library/HashLibTdx/HashLibTdx.inf
1244 NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
1245 }
1246!endif
1247
1248 #
1249 # TPM support
1250 #
1251!include OvmfPkg/Include/Dsc/OvmfTpmComponentsDxe.dsc.inc
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