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