add assertion to ensure HwErr type variable range is less than or equal to VariableSt...
[edk2.git] / OvmfPkg / OvmfPkgIa32X64.dsc
blobe46185688ccecfefd5c718769c301a4ddb53d6ac
1 #/** @file\r
2 #  EFI/Framework Open Virtual Machine Firmware (OVMF) platform\r
3 #\r
4 #  Copyright (c) 2006 - 2009, Intel Corporation\r
5 #\r
6 #  All rights reserved. This program and the accompanying materials\r
7 #  are licensed and made available under the terms and conditions of the BSD License\r
8 #  which accompanies this distribution. The full text of the license may be found at\r
9 #  http://opensource.org/licenses/bsd-license.php\r
10 #\r
11 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13 #\r
14 #**/\r
16 ################################################################################\r
17 #\r
18 # Defines Section - statements that will be processed to create a Makefile.\r
19 #\r
20 ################################################################################\r
21 [Defines]\r
22   PLATFORM_NAME                  = Ovmf\r
23   PLATFORM_GUID                  = 5a9e7754-d81b-49ea-85ad-69eaa7b1539b\r
24   PLATFORM_VERSION               = 0.1\r
25   DSC_ SPECIFICATION             = 0x00010005\r
26   OUTPUT_DIRECTORY               = Build/Ovmf3264\r
27   SUPPORTED_ARCHITECTURES        = IA32|X64\r
28   BUILD_TARGETS                  = DEBUG|RELEASE\r
29   SKUID_IDENTIFIER               = DEFAULT\r
30   FLASH_DEFINITION               = OvmfPkg/OvmfPkgIa32X64.fdf\r
32 ################################################################################\r
33 #\r
34 # SKU Identification section - list of all SKU IDs supported by this Platform.\r
35 #\r
36 ################################################################################\r
37 [SkuIds]\r
38   0|DEFAULT\r
40 ################################################################################\r
41 #\r
42 # Library Class section - list of all Library Classes needed by this Platform.\r
43 #\r
44 ################################################################################\r
45 [LibraryClasses.common]\r
46   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
47   TimerLib|OvmfPkg/Library/AcpiTimerLib/AcpiTimerLib.inf\r
48   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
49   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
50   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
51   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
52   CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
53   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
54   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
55   PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
56   CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
57   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
58   UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
59   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
60   GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
61   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
62   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
63   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
64   PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf\r
65   PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
66   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
67   OemHookStatusCodeLib|IntelFrameworkModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
68   SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf\r
69   MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf\r
70   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
71   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
72   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
73   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
74   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
75   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
77 [LibraryClasses.common.SEC]\r
78   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
79   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
81 [LibraryClasses.common.PEI_CORE]\r
82   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
83   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
84   PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf\r
85   PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
86   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
87   PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf\r
88   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
89   OemHookStatusCodeLib|IntelFrameworkModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
90   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
91   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
92   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
94 [LibraryClasses.common.PEIM]\r
95   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
96   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
97   PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf\r
98   PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
99   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
100   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf\r
101   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
102   OemHookStatusCodeLib|IntelFrameworkModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
103   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
104   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
105   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
106   PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf\r
107   ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf\r
109 [LibraryClasses.common.DXE_CORE]\r
110   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
111   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
112   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
113   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
114   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
115   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
116   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
118 [LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
119   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
120   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
121   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
122   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/SmmRuntimeDxeReportStatusCodeLibFramework/SmmRuntimeDxeReportStatusCodeLibFramework.inf\r
123   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
124   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
125   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
126   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
127   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
129 [LibraryClasses.common.UEFI_DRIVER]\r
130   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
131   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
132   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
133   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
134   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
135   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
136   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
137   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
139 [LibraryClasses.common.DXE_DRIVER]\r
140   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
141   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
142   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
143   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
144   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
145   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
146   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
147   NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf\r
148   IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf\r
149   UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf\r
150   DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf\r
151   PlatformBdsLib|OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf\r
153 [LibraryClasses.common.UEFI_APPLICATION]\r
154   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
155   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
156   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
158 ################################################################################\r
160 # Pcd Section - list of all EDK II PCD Entries defined by this Platform.\r
162 ################################################################################\r
163 [PcdsFeatureFlag.common]\r
164   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseHardSerial|TRUE\r
165   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE\r
167 [PcdsFixedAtBuild.common]\r
168   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1\r
169   gEfiSioTokenSpaceGuid.PcdSerialRegisterBase|0x3F8\r
170   gEfiSioTokenSpaceGuid.PcdSerialLineControl|0x07\r
171   gEfiSioTokenSpaceGuid.PcdSerialBoudRate|115200\r
173   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareFdSize|0x200000\r
174   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareBlockSize|0x10000\r
175   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashFvRecoveryBase|0xFFE00000\r
176   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashFvRecoverySize|0x00200000\r
178   gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10\r
179   gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported|6\r
180   gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv|32\r
181   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x400\r
182   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000\r
183   gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000\r
185   gEfiEdkModulePkgTokenSpaceGuid.PcdDxePcdDatabaseTraverseEnabled|TRUE\r
186   gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0\r
188 [PcdsFeatureFlag.common]\r
189   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE\r
190   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE\r
192   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE\r
193   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE\r
194   gOptionRomPkgTokenSpaceGuid.PcdSupportGop|TRUE\r
195   gOptionRomPkgTokenSpaceGuid.PcdSupportUga|FALSE\r
197 [PcdsFixedAtBuild.common]\r
198   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
199   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F\r
200   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
203 ################################################################################\r
205 # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform\r
207 ################################################################################\r
209 [PcdsDynamicDefault.common.DEFAULT]\r
211 ################################################################################\r
213 # Components Section - list of all EDK II Modules needed by this Platform.\r
215 ################################################################################\r
216 [Components.IA32]\r
217   #\r
218   # SEC Phase modules\r
219   #\r
220   OvmfPkg/Sec/SecMain.inf\r
222   #\r
223   # PEI Phase modules\r
224   #\r
225   MdeModulePkg/Core/Pei/PeiMain.inf\r
226   MdeModulePkg/Universal/PCD/Pei/Pcd.inf  {\r
227     <LibraryClasses>\r
228       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
229   }\r
230   IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
231   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
232     <LibraryClasses>\r
233       NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
234   }\r
235   OvmfPkg/PlatformPei/PlatformPei.inf\r
237 [Components.X64]\r
238   #\r
239   # DXE Phase modules\r
240   #\r
241   MdeModulePkg/Core/Dxe/DxeMain.inf {\r
242     <LibraryClasses>\r
243       NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
244   }\r
246   IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf\r
247   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf  {\r
248    <LibraryClasses>\r
249       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
250   }\r
252   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
253   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
254   IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf\r
255   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
256   PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf\r
257   UefiCpuPkg/CpuIoDxe/CpuIo.inf\r
258   UefiCpuPkg/CpuDxe/CpuDxe.inf\r
259   PcAtChipsetPkg/8254TimerDxe/8254Timer.inf\r
260   PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
261   IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
262   PcAtChipsetPkg/KbcResetDxe/Reset.inf\r
263   MdeModulePkg/Universal/Metronome/Metronome.inf {\r
264     <LibraryClasses>\r
265       TimerLib|OvmfPkg/Library/AcpiTimerLib/AcpiTimerLib.inf\r
266   }\r
268   PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf {\r
269     <LibraryClasses>\r
270       TimerLib|OvmfPkg/Library/AcpiTimerLib/AcpiTimerLib.inf\r
271   }\r
273   IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf  {\r
274     <LibraryClasses>\r
275       TimerLib|OvmfPkg/Library/AcpiTimerLib/AcpiTimerLib.inf\r
276   }\r
278   MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf\r
279   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
280   MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
281   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
282   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
283   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
284   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
285   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
286   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
287   MdeModulePkg/Universal/PrintDxe/PrintDxe.inf\r
288   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
289   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
290   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
291   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
292   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
293   IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf\r
294   PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf\r
295   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
296   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
298   OptionRomPkg/CirrusLogic5430Dxe/CirrusLogic5430Dxe.inf\r
300   #\r
301   # ISA Support\r
302   #\r
303   PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf\r
304   IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf\r
305   IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
306   IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf\r
307   IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf\r
309   #\r
310   # ACPI Support\r
311   #\r
312   MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
313   MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf\r
314   OvmfPkg/AcpiTables/AcpiTables.inf\r