OvmfPkg: Drop build flag USE_LEGACY_ISA_STACK and legacy ISA stack
[mirror_edk2.git] / OvmfPkg / OvmfPkgX64.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/OvmfX64\r
22   SUPPORTED_ARCHITECTURES        = X64\r
23   BUILD_TARGETS                  = NOOPT|DEBUG|RELEASE\r
24   SKUID_IDENTIFIER               = DEFAULT\r
25   FLASH_DEFINITION               = OvmfPkg/OvmfPkgX64.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|FALSE\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   #\r
507   # Network Pcds\r
508   #\r
509 !include NetworkPkg/NetworkPcds.dsc.inc\r
510 \r
511   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }\r
512 \r
513 !if $(SMM_REQUIRE) == TRUE\r
514   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000\r
515 !endif\r
516 \r
517   # IRQs 5, 9, 10, 11 are level-triggered\r
518   gUefiOvmfPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0E20\r
519 \r
520   # Point to the MdeModulePkg/Application/UiApp/UiApp.inf\r
521   gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }\r
522 \r
523 ################################################################################\r
524 #\r
525 # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform\r
526 #\r
527 ################################################################################\r
528 \r
529 [PcdsDynamicDefault]\r
530   # only set when\r
531   #   ($(SMM_REQUIRE) == FALSE)\r
532   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0\r
533 \r
534   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0\r
535   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0\r
536   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0\r
537   gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE\r
538   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800\r
539   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600\r
540   gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE\r
541   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0\r
542   gUefiOvmfPkgTokenSpaceGuid.PcdPciIoBase|0x0\r
543   gUefiOvmfPkgTokenSpaceGuid.PcdPciIoSize|0x0\r
544   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0\r
545   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0\r
546   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0\r
547   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x800000000\r
548 \r
549   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0\r
550 \r
551   # Set video resolution for text setup.\r
552   gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640\r
553   gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480\r
554 \r
555   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208\r
556   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0\r
557   gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE\r
558 \r
559   # Noexec settings for DXE.\r
560   gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE\r
561   gEfiMdeModulePkgTokenSpaceGuid.PcdPropertiesTableEnable|FALSE\r
562 \r
563   # UefiCpuPkg PCDs related to initial AP bringup and general AP management.\r
564   gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64\r
565   gUefiCpuPkgTokenSpaceGuid.PcdCpuApInitTimeOutInMicroSeconds|50000\r
566 \r
567   # Set memory encryption mask\r
568   gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask|0x0\r
569 \r
570 !if $(SMM_REQUIRE) == TRUE\r
571   gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|8\r
572   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode|0x01\r
573   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|100000\r
574 !endif\r
575 \r
576   gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00\r
577 \r
578 !if $(TPM2_ENABLE) == TRUE\r
579   gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\r
580 !endif\r
581 \r
582 ################################################################################\r
583 #\r
584 # Components Section - list of all EDK II Modules needed by this Platform.\r
585 #\r
586 ################################################################################\r
587 [Components]\r
588   OvmfPkg/ResetVector/ResetVector.inf\r
589 \r
590   #\r
591   # SEC Phase modules\r
592   #\r
593   OvmfPkg/Sec/SecMain.inf {\r
594     <LibraryClasses>\r
595       NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
596   }\r
597 \r
598   #\r
599   # PEI Phase modules\r
600   #\r
601   MdeModulePkg/Core/Pei/PeiMain.inf\r
602   MdeModulePkg/Universal/PCD/Pei/Pcd.inf  {\r
603     <LibraryClasses>\r
604       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
605   }\r
606   MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf {\r
607     <LibraryClasses>\r
608       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
609   }\r
610   MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf {\r
611     <LibraryClasses>\r
612       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
613   }\r
614   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
615 \r
616   OvmfPkg/PlatformPei/PlatformPei.inf\r
617   UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf {\r
618     <LibraryClasses>\r
619 !if $(SMM_REQUIRE) == TRUE\r
620       LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.inf\r
621 !endif\r
622   }\r
623 !if $(SMM_REQUIRE) == TRUE\r
624   OvmfPkg/SmmAccess/SmmAccessPei.inf\r
625 !endif\r
626   UefiCpuPkg/CpuMpPei/CpuMpPei.inf\r
627 \r
628 !if $(TPM2_ENABLE) == TRUE\r
629   OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf\r
630   SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {\r
631     <LibraryClasses>\r
632       HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf\r
633       NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf\r
634       NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf\r
635       NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf\r
636       NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf\r
637   }\r
638 !if $(TPM2_CONFIG_ENABLE) == TRUE\r
639   SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf\r
640 !endif\r
641 !endif\r
642 \r
643   #\r
644   # DXE Phase modules\r
645   #\r
646   MdeModulePkg/Core/Dxe/DxeMain.inf {\r
647     <LibraryClasses>\r
648       NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
649       DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
650   }\r
651 \r
652   MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
653   MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf\r
654   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf  {\r
655    <LibraryClasses>\r
656       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
657   }\r
658 \r
659   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
660 \r
661   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {\r
662     <LibraryClasses>\r
663 !if $(SECURE_BOOT_ENABLE) == TRUE\r
664       NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf\r
665 !endif\r
666 !if $(TPM2_ENABLE) == TRUE\r
667       NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf\r
668 !endif\r
669   }\r
670 \r
671   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
672   OvmfPkg/8259InterruptControllerDxe/8259.inf\r
673   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
674   UefiCpuPkg/CpuDxe/CpuDxe.inf\r
675   OvmfPkg/8254TimerDxe/8254Timer.inf\r
676   OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf\r
677   OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
678   MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {\r
679     <LibraryClasses>\r
680       PciHostBridgeLib|OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf\r
681       NULL|OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.inf\r
682   }\r
683   MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {\r
684     <LibraryClasses>\r
685       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
686   }\r
687   MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf\r
688   MdeModulePkg/Universal/Metronome/Metronome.inf\r
689   PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
690   MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf\r
691   MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {\r
692     <LibraryClasses>\r
693 !ifdef $(CSM_ENABLE)\r
694       NULL|OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.inf\r
695       NULL|IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBootManagerLib.inf\r
696 !endif\r
697   }\r
698   MdeModulePkg/Logo/LogoDxe.inf\r
699   MdeModulePkg/Application/UiApp/UiApp.inf {\r
700     <LibraryClasses>\r
701       NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf\r
702       NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf\r
703       NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf\r
704 !ifdef $(CSM_ENABLE)\r
705       NULL|IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBootManagerLib.inf\r
706       NULL|IntelFrameworkModulePkg/Library/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf\r
707 !endif\r
708   }\r
709   OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
710   OvmfPkg/Virtio10Dxe/Virtio10.inf\r
711   OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
712   OvmfPkg/VirtioScsiDxe/VirtioScsi.inf\r
713   OvmfPkg/VirtioRngDxe/VirtioRng.inf\r
714   OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf\r
715   OvmfPkg/XenBusDxe/XenBusDxe.inf\r
716   OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf\r
717   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
718   MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
719   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
720   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
721   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
722   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf {\r
723     <LibraryClasses>\r
724       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
725   }\r
726   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
727   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {\r
728     <LibraryClasses>\r
729       DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
730       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
731   }\r
732   MdeModulePkg/Universal/PrintDxe/PrintDxe.inf\r
733   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
734   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
735   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf\r
736   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
737   FatPkg/EnhancedFatDxe/Fat.inf\r
738   MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf\r
739   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
740   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
741   OvmfPkg/SataControllerDxe/SataControllerDxe.inf\r
742   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf\r
743   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf\r
744   MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf\r
745   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
746   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
747   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
748   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
749 \r
750   OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf\r
751   OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf\r
752   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf\r
753 \r
754   #\r
755   # ISA Support\r
756   #\r
757   OvmfPkg/SioBusDxe/SioBusDxe.inf\r
758   MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf\r
759   MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf\r
760 \r
761   #\r
762   # SMBIOS Support\r
763   #\r
764   MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {\r
765     <LibraryClasses>\r
766       NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf\r
767   }\r
768   OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf\r
769 \r
770   #\r
771   # ACPI Support\r
772   #\r
773   MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
774   OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf\r
775   OvmfPkg/AcpiTables/AcpiTables.inf\r
776   MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf\r
777   MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf\r
778   MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf\r
779 \r
780   #\r
781   # Network Support\r
782   #\r
783 !include NetworkPkg/NetworkComponents.dsc.inc\r
784 \r
785 !if $(NETWORK_TLS_ENABLE) == TRUE\r
786   NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf {\r
787     <LibraryClasses>\r
788       NULL|OvmfPkg/Library/TlsAuthConfigLib/TlsAuthConfigLib.inf\r
789   }\r
790 !endif\r
791   OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
792 \r
793   #\r
794   # Usb Support\r
795   #\r
796   MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
797   MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
798   MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
799   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
800   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
801   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
802 \r
803 !ifdef $(CSM_ENABLE)\r
804   IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf {\r
805     <LibraryClasses>\r
806       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
807   }\r
808   IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf\r
809   OvmfPkg/Csm/Csm16/Csm16.inf\r
810 !endif\r
811 \r
812 !if $(TOOL_CHAIN_TAG) != "XCODE5"\r
813   ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {\r
814     <PcdsFixedAtBuild>\r
815       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
816   }\r
817 !endif\r
818   ShellPkg/Application/Shell/Shell.inf {\r
819     <LibraryClasses>\r
820       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
821       NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf\r
822       NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf\r
823       NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf\r
824       NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf\r
825       NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf\r
826       NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
827       NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
828 !if $(NETWORK_IP6_ENABLE) == TRUE\r
829       NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf\r
830 !endif\r
831       HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
832       PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
833       BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf\r
834 \r
835     <PcdsFixedAtBuild>\r
836       gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF\r
837       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
838       gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000\r
839   }\r
840 \r
841 !if $(SECURE_BOOT_ENABLE) == TRUE\r
842   SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf\r
843   OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf\r
844 !endif\r
845 \r
846   OvmfPkg/PlatformDxe/Platform.inf\r
847   OvmfPkg/AmdSevDxe/AmdSevDxe.inf\r
848   OvmfPkg/IoMmuDxe/IoMmuDxe.inf\r
849 \r
850 !if $(SMM_REQUIRE) == TRUE\r
851   OvmfPkg/SmmAccess/SmmAccess2Dxe.inf\r
852   OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf\r
853   UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf\r
854 \r
855   #\r
856   # SMM Initial Program Load (a DXE_RUNTIME_DRIVER)\r
857   #\r
858   MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf\r
859 \r
860   #\r
861   # SMM_CORE\r
862   #\r
863   MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf\r
864 \r
865   #\r
866   # Privileged drivers (DXE_SMM_DRIVER modules)\r
867   #\r
868   UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf\r
869   MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf {\r
870     <LibraryClasses>\r
871       LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf\r
872   }\r
873   UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {\r
874     <LibraryClasses>\r
875       SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf\r
876       SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf\r
877   }\r
878 \r
879   #\r
880   # Variable driver stack (SMM)\r
881   #\r
882   OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf\r
883   MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf\r
884   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {\r
885     <LibraryClasses>\r
886       NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf\r
887   }\r
888   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf\r
889 \r
890 !else\r
891 \r
892   #\r
893   # Variable driver stack (non-SMM)\r
894   #\r
895   OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf\r
896   OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf {\r
897     <LibraryClasses>\r
898       PlatformFvbLib|OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.inf\r
899   }\r
900   MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
901   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {\r
902     <LibraryClasses>\r
903       NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf\r
904   }\r
905 !endif\r
906 \r
907 !if $(TPM2_ENABLE) == TRUE\r
908   SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {\r
909     <LibraryClasses>\r
910       Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf\r
911       NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf\r
912       HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf\r
913       NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf\r
914       NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf\r
915       NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf\r
916       NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf\r
917   }\r
918 !endif\r