VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.dsc@ 85950

Last change on this file since 85950 was 85801, checked in by vboxsync, 5 years ago

Devices/EFI: Reintroduce VBoxIso9660 which got removed with r133269. The official UDF DXE driver doesn't support ISO9660. However don't claim volumes which support UDF or we loose booting capability from those volumes, Windows 10 ISO images are were affected by this. (regression introduced with 6.1.0, fixes public bug #19682)

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

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