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