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