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