VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.dsc@ 86756

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