]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/OvmfPkgX64.dsc
OVMF BDS: Make use of NvVarsFileLib to make NV variable less volatile.
[mirror_edk2.git] / OvmfPkg / OvmfPkgX64.dsc
1 #/** @file
2 # EFI/Framework Open Virtual Machine Firmware (OVMF) platform
3 #
4 # Copyright (c) 2006 - 2009, Intel Corporation
5 #
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
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/OvmfPkg.fdf
31
32 ################################################################################
33 #
34 # SKU Identification section - list of all SKU IDs supported by this Platform.
35 #
36 ################################################################################
37 [SkuIds]
38 0|DEFAULT
39
40 ################################################################################
41 #
42 # Library Class section - list of all Library Classes needed by this Platform.
43 #
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
79 [LibraryClasses.common.SEC]
80 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
81 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
82
83 [LibraryClasses.common.PEI_CORE]
84 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
85 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
86 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
87 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
88 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
89 PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
90 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
91 OemHookStatusCodeLib|IntelFrameworkModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
92 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
93 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
94 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
95
96 [LibraryClasses.common.PEIM]
97 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
98 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
99 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
100 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
101 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
102 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
103 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
104 OemHookStatusCodeLib|IntelFrameworkModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
105 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
106 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
107 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
108 PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
109 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
110
111 [LibraryClasses.common.DXE_CORE]
112 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
113 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
114 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
115 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
116 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
117 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
118 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
119
120 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
121 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
122 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
123 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
124 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/SmmRuntimeDxeReportStatusCodeLibFramework/SmmRuntimeDxeReportStatusCodeLibFramework.inf
125 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
126 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
127 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
128 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
129 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
130
131 [LibraryClasses.common.UEFI_DRIVER]
132 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
133 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
134 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
135 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
136 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
137 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
138 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
139 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
140
141 [LibraryClasses.common.DXE_DRIVER]
142 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
143 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
144 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
145 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
146 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
147 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
148 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
149 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
150 IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
151 UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
152 DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
153 PlatformBdsLib|OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf
154
155 [LibraryClasses.common.UEFI_APPLICATION]
156 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
157 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
158 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
159
160 ################################################################################
161 #
162 # Pcd Section - list of all EDK II PCD Entries defined by this Platform.
163 #
164 ################################################################################
165 [PcdsFeatureFlag.common]
166 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseHardSerial|TRUE
167 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
168
169 [PcdsFixedAtBuild.common]
170 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
171 gEfiSioTokenSpaceGuid.PcdSerialRegisterBase|0x3F8
172 gEfiSioTokenSpaceGuid.PcdSerialLineControl|0x07
173 gEfiSioTokenSpaceGuid.PcdSerialBoudRate|115200
174
175 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareFdSize|0x200000
176 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareBlockSize|0x10000
177 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashFvRecoveryBase|0xFFE00000
178 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashFvRecoverySize|0x00200000
179
180 gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10
181 gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported|6
182 gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv|32
183 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x400
184 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
185 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000
186
187 gEfiEdkModulePkgTokenSpaceGuid.PcdDxePcdDatabaseTraverseEnabled|TRUE
188 gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
189
190 [PcdsFeatureFlag.common]
191 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE
192 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE
193
194 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
195 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
196 gOptionRomPkgTokenSpaceGuid.PcdSupportGop|TRUE
197 gOptionRomPkgTokenSpaceGuid.PcdSupportUga|FALSE
198
199 [PcdsFixedAtBuild.common]
200 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
201 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
202 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
203
204
205 ################################################################################
206 #
207 # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
208 #
209 ################################################################################
210
211 [PcdsDynamicDefault.common]
212 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
213
214 ################################################################################
215 #
216 # Components Section - list of all EDK II Modules needed by this Platform.
217 #
218 ################################################################################
219 [Components.common]
220 #
221 # SEC Phase modules
222 #
223 OvmfPkg/Sec/SecMain.inf
224
225 #
226 # PEI Phase modules
227 #
228 MdeModulePkg/Core/Pei/PeiMain.inf
229 MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
230 <LibraryClasses>
231 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
232 }
233 IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
234 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
235 <LibraryClasses>
236 NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
237 }
238
239 OvmfPkg/PlatformPei/PlatformPei.inf {
240 <LibraryClasses>
241 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
242 }
243
244 #
245 # DXE Phase modules
246 #
247 MdeModulePkg/Core/Dxe/DxeMain.inf {
248 <LibraryClasses>
249 NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
250 }
251
252 IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
253 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
254 <LibraryClasses>
255 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
256 }
257
258 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
259 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
260 IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
261 MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
262 PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
263 UefiCpuPkg/CpuIoDxe/CpuIo.inf
264 UefiCpuPkg/CpuDxe/CpuDxe.inf
265 PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
266 PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf
267 IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
268 PcAtChipsetPkg/KbcResetDxe/Reset.inf
269 MdeModulePkg/Universal/Metronome/Metronome.inf {
270 <LibraryClasses>
271 TimerLib|OvmfPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
272 }
273
274 PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf {
275 <LibraryClasses>
276 TimerLib|OvmfPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
277 }
278
279 IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf {
280 <LibraryClasses>
281 TimerLib|OvmfPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
282 }
283
284 MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
285 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
286 MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
287 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
288 MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
289 MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
290 MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
291 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
292 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
293 MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
294 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
295 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
296 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
297 MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
298 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
299 IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
300 PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf
301 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
302 MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
303
304 OptionRomPkg/CirrusLogic5430Dxe/CirrusLogic5430Dxe.inf
305
306 #
307 # ISA Support
308 #
309 PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
310 IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
311 IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
312 IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
313 IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
314
315 #
316 # ACPI Support
317 #
318 MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
319 MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
320 OvmfPkg/AcpiTables/AcpiTables.inf
321