2 # Coreboot Payload Package
4 # Provides drivers and definitions to create uefi payload for coreboot.
6 # Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
7 # This program and the accompanying materials are licensed and made available under
8 # the terms and conditions of the BSD License that accompanies this distribution.
9 # The full text of the license may be found at
10 # http://opensource.org/licenses/bsd-license.php.
12 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 ################################################################################
19 # Defines Section - statements that will be processed to create a Makefile.
21 ################################################################################
23 PLATFORM_NAME = CorebootPayloadPkg
24 PLATFORM_GUID = F71608AB-D63D-4491-B744-A99998C8CD96
25 PLATFORM_VERSION = 0.1
26 DSC_SPECIFICATION = 0x00010005
27 SUPPORTED_ARCHITECTURES = IA32|X64
28 BUILD_TARGETS = DEBUG|RELEASE|NOOPT
29 SKUID_IDENTIFIER = DEFAULT
30 OUTPUT_DIRECTORY = Build/CorebootPayloadPkgX64
31 FLASH_DEFINITION = CorebootPayloadPkg/CorebootPayloadPkg.fdf
33 DEFINE SECURE_BOOT_ENABLE = FALSE
34 DEFINE SOURCE_DEBUG_ENABLE = FALSE
37 # Shell options: [BUILD_SHELL, FULL_BIN, MIN_BIN, NONE, UEFI]
39 DEFINE SHELL_TYPE = FULL_BIN
42 GCC:DEBUG_*_*_CC_FLAGS = -Og -flto
43 GCC:DEBUG_*_*_DLINK_FLAGS = -flto
44 GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG
45 GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
46 INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
47 MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
49 ################################################################################
51 # SKU Identification section - list of all SKU IDs supported by this Platform.
53 ################################################################################
57 ################################################################################
59 # Library Class section - list of all Library Classes needed by this Platform.
61 ################################################################################
66 PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
67 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
68 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
69 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
70 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
75 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
76 BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
77 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
78 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
79 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
80 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
81 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
82 PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
83 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
84 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
85 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
90 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
91 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
92 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
93 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
94 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
95 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
96 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
97 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
98 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
99 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
100 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
101 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
102 UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
107 UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
108 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
109 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
110 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
111 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
112 GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
113 CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
118 MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
119 LocalApicLib|UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf
124 TimerLib|CorebootPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
125 ResetSystemLib|CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf
126 SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
127 PlatformHookLib|CorebootPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf
128 PlatformBdsLib|CorebootPayloadPkg/Library/PlatformBdsLib/PlatformBdsLib.inf
133 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
134 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
135 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
136 !if $(SOURCE_DEBUG_ENABLE) == TRUE
137 PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
138 DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
140 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
141 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
143 CbParseLib|CorebootModulePkg/Library/CbParseLib/CbParseLib.inf
144 DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
145 LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf
147 [LibraryClasses.IA32.SEC]
148 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
149 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
150 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
151 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
152 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
153 ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
155 [LibraryClasses.IA32.PEI_CORE, LibraryClasses.IA32.PEIM]
156 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
157 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
158 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
159 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
160 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
161 !if $(SOURCE_DEBUG_ENABLE)
162 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
165 [LibraryClasses.common.DXE_CORE]
166 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
167 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
168 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
169 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
170 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
171 !if $(SOURCE_DEBUG_ENABLE)
172 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
174 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
176 [LibraryClasses.common.DXE_DRIVER]
177 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
178 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
179 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
180 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
181 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
182 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
184 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
185 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
186 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
187 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
188 ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
190 [LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]
191 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
192 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
193 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
194 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
196 ################################################################################
198 # Pcd Section - list of all EDK II PCD Entries defined by this Platform.
200 ################################################################################
202 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
203 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE
204 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE
205 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
206 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
209 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7
210 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
211 !if $(SOURCE_DEBUG_ENABLE)
212 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
214 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
216 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x10000
217 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
218 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000
220 gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
221 gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE
223 !if $(SOURCE_DEBUG_ENABLE)
224 gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
227 [PcdsPatchableInModule.common]
228 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|FALSE
229 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x03F8
231 ################################################################################
233 # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
235 ################################################################################
238 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
239 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
240 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
241 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
244 ################################################################################
246 # Components Section - list of all EDK II Modules needed by this Platform.
248 ################################################################################
253 CorebootModulePkg/SecCore/SecCore.inf
258 MdeModulePkg/Core/Pei/PeiMain.inf
263 MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
265 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
267 IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
269 CorebootModulePkg/CbSupportPei/CbSupportPei.inf
270 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
276 MdeModulePkg/Core/Dxe/DxeMain.inf {
278 NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
282 # Components that produce the architectural protocols
284 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
285 UefiCpuPkg/CpuDxe/CpuDxe.inf
286 IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
287 PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
288 MdeModulePkg/Universal/Metronome/Metronome.inf
289 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
290 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
291 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
292 MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
293 MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
294 PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
295 MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
298 # Following are the DXE drivers
300 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
302 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
305 IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
306 UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
307 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
308 MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
309 PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
310 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
311 MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
312 MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
314 CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf
319 MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
324 MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
329 CorebootModulePkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf
330 CorebootModulePkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf
333 # SCSI/ATA/IDE/DISK Support
335 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
336 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
337 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
338 FatPkg/EnhancedFatDxe/Fat.inf
339 CorebootModulePkg/SataControllerDxe/SataControllerDxe.inf
340 MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
341 MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
342 MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
343 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
348 MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
349 MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
350 MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
351 MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
352 MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
353 MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
358 MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
363 MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
364 MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
365 MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
366 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
372 CorebootPayloadPkg/FbGop/FbGop.inf
374 #------------------------------
376 #------------------------------
378 !if $(SHELL_TYPE) == BUILD_SHELL
381 ## This flag is used to control initialization of the shell library
382 # This should be FALSE for compiling the shell application itself only.
383 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
389 BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
390 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
391 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
394 ShellPkg/Application/Shell/Shell.inf {
396 #------------------------------
398 #------------------------------
401 NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
402 NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
403 NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
404 NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
405 NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
406 NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
408 #------------------------------
409 # Networking commands
410 #------------------------------
413 NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
414 NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf
416 #------------------------------
417 # Performance command
418 #------------------------------
421 NULL|ShellPkg/Library/UefiDpLib/UefiDpLib.inf
423 #------------------------------
425 #------------------------------
428 DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
429 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
430 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
431 HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
432 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
433 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
434 ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
435 ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
436 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
437 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf