Pkg-Module: CorebootPayloadPkg
[mirror_edk2.git] / CorebootPayloadPkg / CorebootPayloadPkgX64.dsc
CommitLineData
9c228fb0
MM
1## @file\r
2# Coreboot Payload Package\r
3#\r
4# Provides drivers and definitions to create uefi payload for coreboot. \r
5#\r
6# Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>\r
7# This program and the accompanying materials are licensed and made available under \r
8# the terms and conditions of the BSD License that accompanies this distribution. \r
9# The full text of the license may be found at\r
10# http://opensource.org/licenses/bsd-license.php. \r
11# \r
12# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
13# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
14#\r
15##\r
16\r
17################################################################################\r
18#\r
19# Defines Section - statements that will be processed to create a Makefile.\r
20#\r
21################################################################################\r
22[Defines]\r
23 PLATFORM_NAME = CorebootPayloadPkg\r
24 PLATFORM_GUID = F71608AB-D63D-4491-B744-A99998C8CD96\r
25 PLATFORM_VERSION = 0.1\r
26 DSC_SPECIFICATION = 0x00010005 \r
27 SUPPORTED_ARCHITECTURES = IA32|X64\r
28 BUILD_TARGETS = DEBUG|RELEASE\r
29 SKUID_IDENTIFIER = DEFAULT\r
30 OUTPUT_DIRECTORY = Build/CorebootPayloadPkg\r
31 FLASH_DEFINITION = CorebootPayloadPkg/CorebootPayloadPkg.fdf\r
32 \r
33 DEFINE SECURE_BOOT_ENABLE = FALSE\r
34 DEFINE SOURCE_DEBUG_ENABLE = FALSE\r
35 \r
36[BuildOptions]\r
37 GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG\r
38 GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG\r
39 INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG\r
40 MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG\r
41\r
42################################################################################\r
43#\r
44# SKU Identification section - list of all SKU IDs supported by this Platform.\r
45#\r
46################################################################################\r
47[SkuIds]\r
48 0|DEFAULT\r
49\r
50################################################################################\r
51#\r
52# Library Class section - list of all Library Classes needed by this Platform.\r
53#\r
54################################################################################\r
55[LibraryClasses]\r
56 #\r
57 # Entry point\r
58 #\r
59 PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf\r
60 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf\r
61 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
62 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
63 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
64\r
65 #\r
66 # Basic\r
67 #\r
68 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf \r
69 BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf\r
70 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
71 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
72 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
73 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
74 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
75 PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf\r
76 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
77 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
78 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
79 \r
80 #\r
81 # UEFI & PI\r
82 #\r
83 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
84 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
85 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
86 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
87 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
88 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
89 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
90 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
91 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf\r
92 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
93 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
94 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
95 UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf\r
96 \r
97 #\r
98 # Generic Modules\r
99 #\r
100 UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf\r
101 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
102 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
103 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
104 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
105 GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
106 CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
107 \r
108 #\r
109 # CPU\r
110 #\r
111 MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf\r
112 LocalApicLib|UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf \r
113 \r
114 #\r
115 # Platform\r
116 #\r
117 TimerLib|CorebootPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf\r
118 ResetSystemLib|CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf\r
119 SerialPortLib|CorebootPayloadPkg/Library/SerialPortLib/SerialPortLib.inf\r
120 PlatformBdsLib|CorebootPayloadPkg/Library/PlatformBdsLib/PlatformBdsLib.inf\r
121 \r
122 #\r
123 # Misc\r
124 #\r
125 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
126 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
127 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
128!if $(SOURCE_DEBUG_ENABLE) == TRUE\r
129 PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf\r
130 DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf\r
131!else\r
132 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
133 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf \r
134!endif\r
135 CbParseLib|CorebootModulePkg/Library/CbParseLib/CbParseLib.inf\r
136 DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
137 LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf\r
138\r
139[LibraryClasses.IA32.SEC]\r
140 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
141 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
142 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
143 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
144 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
145 ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf\r
146\r
147[LibraryClasses.IA32.PEI_CORE, LibraryClasses.IA32.PEIM]\r
148 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
149 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
150 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
151 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
152 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf\r
153!if $(SOURCE_DEBUG_ENABLE)\r
154 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf\r
155!endif\r
156\r
157[LibraryClasses.common.DXE_CORE]\r
158 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
159 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
160 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
161 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
162 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf \r
163!if $(SOURCE_DEBUG_ENABLE)\r
164 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
165!endif \r
166 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf\r
167\r
168[LibraryClasses.common.DXE_DRIVER] \r
169 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
170 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
171 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
172 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
173 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
174 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf\r
175 \r
176[LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
177 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
178 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
179 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
180 ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf\r
181 \r
182[LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]\r
183 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
184 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
185 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
186 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf \r
187 \r
188################################################################################\r
189#\r
190# Pcd Section - list of all EDK II PCD Entries defined by this Platform.\r
191#\r
192################################################################################\r
193[PcdsFeatureFlag]\r
194 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE\r
195 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE\r
196 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE\r
197 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE\r
198 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE\r
199\r
200[PcdsFixedAtBuild]\r
201 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7\r
202 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F\r
203!if $(SOURCE_DEBUG_ENABLE)\r
204 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17\r
205!else\r
206 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
207!endif\r
208 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x10000\r
209 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000\r
210 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000\r
211 \r
212 gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0 \r
213\r
214!if $(SOURCE_DEBUG_ENABLE)\r
215 gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2\r
216!endif\r
217\r
218################################################################################\r
219#\r
220# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform\r
221#\r
222################################################################################\r
223\r
224[PcdsDynamicDefault]\r
225 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0\r
226 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0\r
227 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0\r
228 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0\r
229\r
230\r
231################################################################################\r
232#\r
233# Components Section - list of all EDK II Modules needed by this Platform.\r
234#\r
235################################################################################\r
236[Components.IA32]\r
237 #\r
238 # SEC Core\r
239 #\r
240 CorebootModulePkg/SecCore/SecCore.inf\r
241 \r
242 #\r
243 # PEI Core\r
244 #\r
245 MdeModulePkg/Core/Pei/PeiMain.inf\r
246 \r
247 #\r
248 # PEIM\r
249 #\r
250 MdeModulePkg/Universal/PCD/Pei/Pcd.inf {\r
251 <LibraryClasses>\r
252 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
253 }\r
254 IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
255 \r
256 CorebootModulePkg/CbSupportPei/CbSupportPei.inf \r
257 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
258\r
259[Components.X64]\r
260 #\r
261 # DXE Core\r
262 #\r
263 MdeModulePkg/Core/Dxe/DxeMain.inf {\r
264 <LibraryClasses>\r
265 NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
266 }\r
267 \r
268 #\r
269 # Components that produce the architectural protocols\r
270 #\r
271 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
272 UefiCpuPkg/CpuDxe/CpuDxe.inf\r
273 IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
274 PcAtChipsetPkg/8254TimerDxe/8254Timer.inf\r
275 MdeModulePkg/Universal/Metronome/Metronome.inf\r
276 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
277 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
278 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
279 MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
280 MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf \r
281 PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf \r
282 MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf\r
283 \r
284 #\r
285 # Following are the DXE drivers \r
286 #\r
287 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {\r
288 <LibraryClasses>\r
289 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
290 }\r
291 \r
292 IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf\r
293 UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
294 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
295 MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
296 PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf \r
297 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
298 MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf \r
299 MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
300 \r
301 CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf \r
302 \r
303 #\r
304 # SMBIOS Support\r
305 #\r
306 MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
307 \r
308 #\r
309 # ACPI Support\r
310 #\r
311 MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf \r
312 \r
313 #\r
314 # PCI Support\r
315 #\r
316 PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
317 DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf \r
318 \r
319 #\r
320 # SCSI/ATA/IDE/DISK Support\r
321 #\r
322 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
323 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
324 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
325 DuetPkg/SataControllerDxe/SataControllerDxe.inf \r
326 MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf\r
327 MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf \r
328 MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
329 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
330 \r
331 #\r
332 # Usb Support\r
333 #\r
334 MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
335 MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
336 MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
337 MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
338 MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
339 MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
340 \r
341 #\r
342 # ISA Support\r
343 #\r
344 CorebootPayloadPkg/SerialDxe/SerialDxe.inf\r
345 \r
346 #\r
347 # Console Support\r
348 #\r
349 MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
350 MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
351 MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
352 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
353 \r
354 \r
355 #\r
356 # Framebuffer Gop \r
357 #\r
358 CorebootPayloadPkg/FbGop/FbGop.inf\r
359 \r
360 \r
361