2 # EFI/Framework Open Virtual Machine Firmware (OVMF) platform
4 # Copyright (c) 2006 - 2009, Intel Corporation
6 # All rights reserved. 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
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.
16 ################################################################################
18 # Defines Section - statements that will be processed to create a Makefile.
20 ################################################################################
23 PLATFORM_GUID = 5a9e7754-d81b-49ea-85ad-69eaa7b1539b
24 PLATFORM_VERSION = 0.1
25 DSC_SPECIFICATION = 0x00010005
26 OUTPUT_DIRECTORY = Build/Ovmf3264
27 SUPPORTED_ARCHITECTURES = IA32|X64
28 BUILD_TARGETS = DEBUG|RELEASE
29 SKUID_IDENTIFIER = DEFAULT
30 FLASH_DEFINITION = OvmfPkg/OvmfPkgIa32X64.fdf
32 ################################################################################
34 # SKU Identification section - list of all SKU IDs supported by this Platform.
36 ################################################################################
40 ################################################################################
42 # Library Class section - list of all Library Classes needed by this Platform.
44 ################################################################################
45 [LibraryClasses.common]
46 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
47 TimerLib|OvmfPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
48 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
49 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
50 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
51 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
52 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
53 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
54 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
55 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
56 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
57 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
58 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
59 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
60 GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
61 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
62 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
63 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
64 PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
65 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
66 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
67 OemHookStatusCodeLib|IntelFrameworkModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
68 SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
69 MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
70 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
71 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
72 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
73 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
74 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
75 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
76 NvVarsFileLib|OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf
77 FileHandleLib|ShellPkg/Library/BaseFileHandleLib/BaseFileHandleLib.inf
78 UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
79 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
81 [LibraryClasses.common.SEC]
82 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
83 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
85 [LibraryClasses.common.PEI_CORE]
86 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
87 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
88 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
89 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
90 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
91 PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
92 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
93 OemHookStatusCodeLib|IntelFrameworkModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
94 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
95 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
96 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
98 [LibraryClasses.common.PEIM]
99 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
100 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
101 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
102 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
103 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
104 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
105 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
106 OemHookStatusCodeLib|IntelFrameworkModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
107 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
108 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
109 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
110 PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
111 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
113 [LibraryClasses.common.DXE_CORE]
114 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
115 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
116 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
117 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
118 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
119 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
120 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
122 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
123 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
124 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
125 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
126 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/SmmRuntimeDxeReportStatusCodeLibFramework/SmmRuntimeDxeReportStatusCodeLibFramework.inf
127 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
128 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
129 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
130 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
131 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
133 [LibraryClasses.common.UEFI_DRIVER]
134 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
135 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
136 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
137 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
138 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
139 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
140 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
141 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
143 [LibraryClasses.common.DXE_DRIVER]
144 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
145 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
146 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
147 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
148 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
149 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
150 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
151 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
152 IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
153 UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
154 DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
155 PlatformBdsLib|OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf
157 [LibraryClasses.common.UEFI_APPLICATION]
158 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
159 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
160 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
162 ################################################################################
164 # Pcd Section - list of all EDK II PCD Entries defined by this Platform.
166 ################################################################################
167 [PcdsFeatureFlag.common]
168 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseHardSerial|TRUE
169 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
171 [PcdsFixedAtBuild.common]
172 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
173 gEfiSioTokenSpaceGuid.PcdSerialRegisterBase|0x3F8
174 gEfiSioTokenSpaceGuid.PcdSerialLineControl|0x07
175 gEfiSioTokenSpaceGuid.PcdSerialBoudRate|115200
177 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareFdSize|0x200000
178 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareBlockSize|0x10000
179 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashFvRecoveryBase|0xFFE00000
180 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashFvRecoverySize|0x00200000
182 gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10
183 gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported|6
184 gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv|32
185 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x400
186 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
187 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0xc000
188 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0xc000
189 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x2000
190 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x10000
192 gEfiEdkModulePkgTokenSpaceGuid.PcdDxePcdDatabaseTraverseEnabled|TRUE
193 gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
195 [PcdsFeatureFlag.common]
196 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE
197 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE
199 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
200 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
201 gOptionRomPkgTokenSpaceGuid.PcdSupportGop|TRUE
202 gOptionRomPkgTokenSpaceGuid.PcdSupportUga|FALSE
204 [PcdsFixedAtBuild.common]
205 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
206 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
207 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
210 ################################################################################
212 # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
214 ################################################################################
216 [PcdsDynamicDefault.common]
217 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
218 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0
219 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
220 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
223 ################################################################################
225 # Components Section - list of all EDK II Modules needed by this Platform.
227 ################################################################################
232 OvmfPkg/Sec/SecMain.inf
237 MdeModulePkg/Core/Pei/PeiMain.inf
238 MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
240 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
242 IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
243 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
245 NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
248 OvmfPkg/PlatformPei/PlatformPei.inf {
250 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
257 MdeModulePkg/Core/Dxe/DxeMain.inf {
259 NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
262 IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
263 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
265 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
268 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
269 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
270 IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
271 MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
272 MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
273 PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
274 UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
275 UefiCpuPkg/CpuDxe/CpuDxe.inf
276 PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
277 PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf
278 MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
279 PcAtChipsetPkg/KbcResetDxe/Reset.inf
280 MdeModulePkg/Universal/Metronome/Metronome.inf {
282 TimerLib|OvmfPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
285 PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf {
287 TimerLib|OvmfPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
290 IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf {
292 TimerLib|OvmfPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
295 OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf {
297 PlatformFvbLib|OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.inf
299 MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
300 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
301 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
302 MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
303 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
304 MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
305 MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
306 MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
307 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
308 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
309 MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
310 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
311 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
312 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
313 MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
314 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
315 IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
316 PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf
317 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
318 MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
320 OptionRomPkg/CirrusLogic5430Dxe/CirrusLogic5430Dxe.inf
325 PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
326 IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
327 IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
328 IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
329 IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
334 MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
335 MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
336 OvmfPkg/AcpiTables/AcpiTables.inf