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