OvmfPkgX64.dsc revision b82802b83f069c7322337b802a744491010cbfb1
1## @file
2#  EFI/Framework Open Virtual Machine Firmware (OVMF) platform
3#
4#  Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
5#
6#  This program and the accompanying materials
7#  are licensed and made available under the terms and conditions of the BSD License
8#  which accompanies this distribution. The full text of the license may be found at
9#  http://opensource.org/licenses/bsd-license.php
10#
11#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13#
14##
15
16################################################################################
17#
18# Defines Section - statements that will be processed to create a Makefile.
19#
20################################################################################
21[Defines]
22  PLATFORM_NAME                  = Ovmf
23  PLATFORM_GUID                  = 5a9e7754-d81b-49ea-85ad-69eaa7b1539b
24  PLATFORM_VERSION               = 0.1
25  DSC_SPECIFICATION              = 0x00010005
26  OUTPUT_DIRECTORY               = Build/OvmfX64
27  SUPPORTED_ARCHITECTURES        = X64
28  BUILD_TARGETS                  = DEBUG|RELEASE
29  SKUID_IDENTIFIER               = DEFAULT
30  FLASH_DEFINITION               = OvmfPkg/OvmfPkgX64.fdf
31
32  #
33  # Defines for default states.  These can be changed on the command line.
34  # -D FLAG=VALUE
35  #
36  DEFINE SECURE_BOOT_ENABLE      = FALSE
37  DEFINE NETWORK_IP6_ENABLE      = FALSE
38  DEFINE HTTP_BOOT_ENABLE        = FALSE
39
40[BuildOptions]
41  GCC:*_UNIXGCC_*_CC_FLAGS             = -DMDEPKG_NDEBUG
42  GCC:RELEASE_*_*_CC_FLAGS             = -DMDEPKG_NDEBUG
43  INTEL:RELEASE_*_*_CC_FLAGS           = /D MDEPKG_NDEBUG
44  MSFT:RELEASE_*_*_CC_FLAGS            = /D MDEPKG_NDEBUG
45  GCC:*_*_*_CC_FLAGS                   = -mno-mmx -mno-sse
46!ifdef $(SOURCE_DEBUG_ENABLE)
47  MSFT:*_*_X64_GENFW_FLAGS  = --keepexceptiontable
48  GCC:*_*_X64_GENFW_FLAGS   = --keepexceptiontable
49  INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable
50!endif
51
52################################################################################
53#
54# SKU Identification section - list of all SKU IDs supported by this Platform.
55#
56################################################################################
57[SkuIds]
58  0|DEFAULT
59
60################################################################################
61#
62# Library Class section - list of all Library Classes needed by this Platform.
63#
64################################################################################
65[LibraryClasses]
66  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
67  TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
68  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
69  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
70  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
71  SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
72  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
73  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
74  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
75  CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
76  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
77  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
78  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
79  GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
80  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
81  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
82  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
83  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
84  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
85  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
86  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
87  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
88  SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
89  MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
90  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
91  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
92  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
93  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
94  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
95  DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
96  NvVarsFileLib|OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf
97  FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
98  UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
99  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
100  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
101  IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
102  UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
103  DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
104  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
105  SerializeVariablesLib|OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.inf
106  QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf
107  VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
108  LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf
109  LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf
110  CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
111
112!ifdef $(SOURCE_DEBUG_ENABLE)
113  PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
114  DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
115!else
116  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
117  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
118!endif
119
120  ResetSystemLib|OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf
121  LocalApicLib|UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf
122  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
123
124!if $(SECURE_BOOT_ENABLE) == TRUE
125  PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
126  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
127  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
128  TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
129  AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
130!if $(NETWORK_IP6_ENABLE) == TRUE
131  TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf
132!endif
133!else
134  TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
135  AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
136!endif
137  VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
138
139!if $(HTTP_BOOT_ENABLE) == TRUE
140  HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
141!endif
142
143  S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
144  SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
145  OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
146  XenHypercallLib|OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf
147
148[LibraryClasses.common]
149!if $(SECURE_BOOT_ENABLE) == TRUE
150  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
151!endif
152
153[LibraryClasses.common.SEC]
154  TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.inf
155  QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf
156!ifdef $(DEBUG_ON_SERIAL_PORT)
157  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
158!else
159  DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
160!endif
161  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
162  ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
163!ifdef $(SOURCE_DEBUG_ENABLE)
164  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
165!endif
166  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
167  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
168  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
169  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
170  CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
171
172[LibraryClasses.common.PEI_CORE]
173  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
174  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
175  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
176  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
177  PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
178  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
179  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
180  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
181!ifdef $(DEBUG_ON_SERIAL_PORT)
182  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
183!else
184  DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
185!endif
186  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
187
188[LibraryClasses.common.PEIM]
189  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
190  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
191  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
192  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
193  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
194  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
195  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
196  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
197!ifdef $(DEBUG_ON_SERIAL_PORT)
198  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
199!else
200  DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
201!endif
202  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
203  PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
204  ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
205!ifdef $(SOURCE_DEBUG_ENABLE)
206  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
207!endif
208
209[LibraryClasses.common.DXE_CORE]
210  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
211  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
212  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
213  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
214!ifdef $(DEBUG_ON_SERIAL_PORT)
215  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
216!else
217  DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
218!endif
219  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
220!ifdef $(SOURCE_DEBUG_ENABLE)
221  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
222!endif
223  CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
224  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
225
226[LibraryClasses.common.DXE_RUNTIME_DRIVER]
227  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
228  TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
229  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
230  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
231  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
232  ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
233!ifdef $(DEBUG_ON_SERIAL_PORT)
234  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
235!else
236  DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
237!endif
238  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
239!if $(SECURE_BOOT_ENABLE) == TRUE
240  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
241!endif
242
243[LibraryClasses.common.UEFI_DRIVER]
244  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
245  TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
246  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
247  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
248  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
249  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
250!ifdef $(DEBUG_ON_SERIAL_PORT)
251  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
252!else
253  DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
254!endif
255  UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
256
257[LibraryClasses.common.DXE_DRIVER]
258  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
259  TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
260  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
261  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
262  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
263  UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
264!ifdef $(DEBUG_ON_SERIAL_PORT)
265  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
266!else
267  DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
268!endif
269  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
270  IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
271  UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
272  DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
273  PlatformBdsLib|OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf
274  CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
275  LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxDxeLib.inf
276!ifdef $(SOURCE_DEBUG_ENABLE)
277  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
278!endif
279  QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
280
281[LibraryClasses.common.UEFI_APPLICATION]
282  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
283  TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
284  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
285  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
286!ifdef $(DEBUG_ON_SERIAL_PORT)
287  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
288!else
289  DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
290!endif
291
292[LibraryClasses.common.DXE_SMM_DRIVER]
293  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
294  TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
295
296[LibraryClasses.common.SMM_CORE]
297  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
298  TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
299
300################################################################################
301#
302# Pcd Section - list of all EDK II PCD Entries defined by this Platform.
303#
304################################################################################
305[PcdsFeatureFlag]
306  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE
307  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|TRUE
308  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE
309  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE
310  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
311  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
312!if $(SECURE_BOOT_ENABLE) == TRUE
313  gUefiOvmfPkgTokenSpaceGuid.PcdSecureBootEnable|TRUE
314!endif
315
316[PcdsFixedAtBuild]
317  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
318  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
319  gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10
320  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported|6
321  gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv|32
322  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
323  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
324  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0xe000
325
326  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
327
328  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
329  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
330!ifdef $(SOURCE_DEBUG_ENABLE)
331  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
332!else
333  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
334!endif
335
336!ifdef $(SOURCE_DEBUG_ENABLE)
337  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
338!endif
339
340!ifndef $(USE_OLD_SHELL)
341  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
342!endif
343
344!if $(SECURE_BOOT_ENABLE) == TRUE
345  # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
346  gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
347  gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
348  gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
349!endif
350
351  # IRQs 5, 9, 10, 11 are level-triggered
352  gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0E20
353
354################################################################################
355#
356# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
357#
358################################################################################
359
360[PcdsDynamicDefault]
361  gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
362  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
363  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
364  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
365  gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE
366  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
367  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
368  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0
369
370  gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
371
372  # Set video resolution for text setup.
373  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
374  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
375
376  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
377  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
378  gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
379
380  # Noexec settings for DXE.
381  gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE
382  gEfiMdeModulePkgTokenSpaceGuid.PcdPropertiesTableEnable|FALSE
383
384################################################################################
385#
386# Components Section - list of all EDK II Modules needed by this Platform.
387#
388################################################################################
389[Components]
390  OvmfPkg/ResetVector/ResetVector.inf
391
392  #
393  # SEC Phase modules
394  #
395  OvmfPkg/Sec/SecMain.inf {
396    <LibraryClasses>
397      NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
398  }
399
400  #
401  # PEI Phase modules
402  #
403  MdeModulePkg/Core/Pei/PeiMain.inf
404  MdeModulePkg/Universal/PCD/Pei/Pcd.inf  {
405    <LibraryClasses>
406      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
407  }
408  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
409  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
410    <LibraryClasses>
411      PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
412  }
413
414  OvmfPkg/PlatformPei/PlatformPei.inf {
415    <LibraryClasses>
416      PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
417  }
418  UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf {
419    <LibraryClasses>
420      PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
421  }
422
423  #
424  # DXE Phase modules
425  #
426  MdeModulePkg/Core/Dxe/DxeMain.inf {
427    <LibraryClasses>
428      NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
429      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
430  }
431
432  IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
433  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf  {
434   <LibraryClasses>
435      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
436  }
437
438  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
439
440!if $(SECURE_BOOT_ENABLE) == TRUE
441  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
442    <LibraryClasses>
443      NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
444	}
445!else
446  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
447!endif
448
449  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
450  PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
451  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
452  UefiCpuPkg/CpuDxe/CpuDxe.inf
453  PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
454  OvmfPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf
455  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
456    <LibraryClasses>
457      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
458  }
459  PcAtChipsetPkg/KbcResetDxe/Reset.inf
460  MdeModulePkg/Universal/Metronome/Metronome.inf
461  PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
462  IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf {
463    <LibraryClasses>
464!ifdef $(CSM_ENABLE)
465      NULL|OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.inf
466!endif
467  }
468
469  OvmfPkg/BlockMmioToBlockIoDxe/BlockIo.inf
470  OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
471  OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
472  OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
473  OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
474  OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf
475  OvmfPkg/XenBusDxe/XenBusDxe.inf
476  OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf
477  OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf {
478    <LibraryClasses>
479      PlatformFvbLib|OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.inf
480  }
481  MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
482  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
483    <LibraryClasses>
484      NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
485  }
486  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
487  MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
488  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
489  MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
490  MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
491  MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf {
492    <LibraryClasses>
493      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
494  }
495  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
496  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
497    <LibraryClasses>
498      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
499      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
500  }
501  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
502  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
503  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
504  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
505  MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
506  MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
507  OvmfPkg/SataControllerDxe/SataControllerDxe.inf
508  MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
509  MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
510  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
511  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
512  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
513  MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
514
515  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
516    <LibraryClasses>
517      BltLib|OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
518  }
519
520  #
521  # ISA Support
522  #
523  PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
524  IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
525  IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
526  IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
527  IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
528
529  #
530  # SMBIOS Support
531  #
532  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
533    <LibraryClasses>
534      NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
535  }
536  OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
537
538  #
539  # ACPI Support
540  #
541  MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
542  OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
543  OvmfPkg/AcpiTables/AcpiTables.inf
544  OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
545  MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
546  MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
547
548  #
549  # Network Support
550  #
551  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
552  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
553  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
554  MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
555  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
556  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
557  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
558  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
559  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
560!if $(NETWORK_IP6_ENABLE) == TRUE
561  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
562  NetworkPkg/TcpDxe/TcpDxe.inf
563  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
564  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
565  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
566  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
567!if $(SECURE_BOOT_ENABLE) == TRUE
568  NetworkPkg/IScsiDxe/IScsiDxe.inf
569!else
570  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
571!endif
572!else
573  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
574  MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
575  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
576!endif
577!if $(HTTP_BOOT_ENABLE) == TRUE
578  NetworkPkg/DnsDxe/DnsDxe.inf
579  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
580  NetworkPkg/HttpDxe/HttpDxe.inf
581  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
582!endif
583  OvmfPkg/VirtioNetDxe/VirtioNet.inf
584
585  #
586  # Usb Support
587  #
588  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
589  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
590  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
591  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
592  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
593  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
594
595!ifdef $(CSM_ENABLE)
596  IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf {
597    <LibraryClasses>
598      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
599  }
600  IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
601  OvmfPkg/Csm/Csm16/Csm16.inf
602!endif
603
604!ifndef $(USE_OLD_SHELL)
605  ShellPkg/Application/Shell/Shell.inf {
606    <LibraryClasses>
607      ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
608      NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
609      NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
610      NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
611      NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
612      NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
613      NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
614      NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
615      HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
616      ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
617      FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
618      SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
619      PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
620#      SafeBlockIoLib|ShellPkg/Library/SafeBlockIoLib/SafeBlockIoLib.inf
621#      SafeOpenProtocolLib|ShellPkg/Library/SafeOpenProtocolLib/SafeOpenProtocolLib.inf
622      BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
623
624    <PcdsFixedAtBuild>
625      gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
626      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
627      gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
628  }
629!endif
630
631!if $(SECURE_BOOT_ENABLE) == TRUE
632  SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
633!endif
634
635  OvmfPkg/PlatformDxe/Platform.inf
636