1## @file 2# Coreboot Payload Package 3# 4# Provides drivers and definitions to create uefi payload for coreboot. 5# 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. 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[FD.UefiPayload] 19BaseAddress = 0x800000|gUefiCorebootModulePkgTokenSpaceGuid.PcdPayloadFdMemBase 20Size = 0x410000|gUefiCorebootModulePkgTokenSpaceGuid.PcdPayloadFdMemSize 21ErasePolarity = 1 22BlockSize = 0x1000 23NumBlocks = 0x410 24 250x00000000|0x030000 26FV = PEIFV 27 280x00030000|0x3E0000 29FV = DXEFV 30 31################################################################################ 32[FV.PEIFV] 33BlockSize = 0x1000 34FvAlignment = 16 35ERASE_POLARITY = 1 36MEMORY_MAPPED = TRUE 37STICKY_WRITE = TRUE 38LOCK_CAP = TRUE 39LOCK_STATUS = TRUE 40WRITE_DISABLED_CAP = TRUE 41WRITE_ENABLED_CAP = TRUE 42WRITE_STATUS = TRUE 43WRITE_LOCK_CAP = TRUE 44WRITE_LOCK_STATUS = TRUE 45READ_DISABLED_CAP = TRUE 46READ_ENABLED_CAP = TRUE 47READ_STATUS = TRUE 48READ_LOCK_CAP = TRUE 49READ_LOCK_STATUS = TRUE 50 51INF CorebootModulePkg/SecCore/SecCore.inf 52 53INF MdeModulePkg/Core/Pei/PeiMain.inf 54INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf 55INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf 56INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf 57INF CorebootModulePkg/CbSupportPei/CbSupportPei.inf 58INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf 59 60################################################################################ 61 62[FV.DXEFV] 63BlockSize = 0x1000 64FvForceRebase = FALSE 65FvAlignment = 16 66ERASE_POLARITY = 1 67MEMORY_MAPPED = TRUE 68STICKY_WRITE = TRUE 69LOCK_CAP = TRUE 70LOCK_STATUS = TRUE 71WRITE_DISABLED_CAP = TRUE 72WRITE_ENABLED_CAP = TRUE 73WRITE_STATUS = TRUE 74WRITE_LOCK_CAP = TRUE 75WRITE_LOCK_STATUS = TRUE 76READ_DISABLED_CAP = TRUE 77READ_ENABLED_CAP = TRUE 78READ_STATUS = TRUE 79READ_LOCK_CAP = TRUE 80READ_LOCK_STATUS = TRUE 81 82# 83# DXE Phase modules 84# 85INF MdeModulePkg/Core/Dxe/DxeMain.inf 86INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf 87INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf 88INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf 89 90INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf 91INF UefiCpuPkg/CpuDxe/CpuDxe.inf 92INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf 93INF MdeModulePkg/Application/UiApp/UiApp.inf 94!if $(USE_HPET_TIMER) == TRUE 95INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf 96!else 97INF PcAtChipsetPkg/8254TimerDxe/8254Timer.inf 98!endif 99INF MdeModulePkg/Universal/Metronome/Metronome.inf 100INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf 101INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf 102INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf 103INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf 104INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf 105INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf 106INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf 107 108INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf 109INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf 110INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf 111INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf 112INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf 113INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf 114INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf 115INF CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf 116 117INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf 118# 119# PCI Support 120# 121INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf 122INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf 123 124# 125# ISA Support 126# 127INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf 128 129# 130# Console Support 131# 132INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf 133INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf 134INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 135INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf 136 137# 138# SCSI/ATA/IDE/DISK Support 139# 140INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf 141INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf 142INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf 143INF CorebootModulePkg/SataControllerDxe/SataControllerDxe.inf 144INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf 145INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf 146INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf 147INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf 148 149INF FatPkg/EnhancedFatDxe/Fat.inf 150 151# 152# SD/eMMC Support 153# 154INF MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf 155INF MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf 156INF MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf 157 158# 159# Usb Support 160# 161INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf 162INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf 163INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf 164INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf 165INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf 166INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf 167 168# 169# OHCI Support 170# 171INF QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Dxe/OhciDxe.inf 172 173# 174# Shell 175# 176!if $(SHELL_TYPE) == BUILD_SHELL 177INF ShellPkg/Application/Shell/Shell.inf 178!endif 179 180!if $(SHELL_TYPE) == FULL_BIN 181!if $(ARCH) == IA32 182INF RuleOverride = BINARY USE = IA32 EdkShellBinPkg/FullShell/FullShell.inf 183!else 184INF RuleOverride = BINARY USE = X64 EdkShellBinPkg/FullShell/FullShell.inf 185!endif 186!endif 187 188!if $(SHELL_TYPE) == MIN_BIN 189!if $(ARCH) == IA32 190INF RuleOverride = BINARY USE = IA32 ShellBinPkg/MinUefiShell/MinUefiShell.inf 191!else 192INF RuleOverride = BINARY USE = X64 ShellBinPkg/MinUefiShell/MinUefiShell.inf 193!endif 194!endif 195 196!if $(SHELL_TYPE) == UEFI_BIN 197!if $(ARCH) == IA32 198INF RuleOverride = BINARY USE = IA32 ShellBinPkg/UefiShell/UefiShell.inf 199!else 200INF RuleOverride = BINARY USE = X64 ShellBinPkg/UefiShell/UefiShell.inf 201!endif 202!endif 203 204FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) { 205 SECTION RAW = MdeModulePkg/Logo/Logo.bmp 206} 207 208# 209# Framebuffer Gop 210# 211INF CorebootPayloadPkg/FbGop/FbGop.inf 212 213################################################################################ 214# 215# Rules are use with the [FV] section's module INF type to define 216# how an FFS file is created for a given INF file. The following Rule are the default 217# rules for the different module type. User can add the customized rules to define the 218# content of the FFS file. 219# 220################################################################################ 221 222[Rule.Common.SEC] 223 FILE SEC = $(NAMED_GUID) { 224 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi 225 } 226 227[Rule.Common.PEI_CORE] 228 FILE PEI_CORE = $(NAMED_GUID) { 229 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi 230 UI STRING ="$(MODULE_NAME)" Optional 231 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 232 } 233 234[Rule.Common.PEIM] 235 FILE PEIM = $(NAMED_GUID) { 236 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 237 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi 238 UI STRING="$(MODULE_NAME)" Optional 239 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 240 } 241 242[Rule.Common.DXE_CORE] 243 FILE DXE_CORE = $(NAMED_GUID) { 244 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 245 UI STRING="$(MODULE_NAME)" Optional 246 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 247 } 248 249[Rule.Common.DXE_DRIVER] 250 FILE DRIVER = $(NAMED_GUID) { 251 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 252 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 253 UI STRING="$(MODULE_NAME)" Optional 254 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 255 } 256 257[Rule.Common.DXE_RUNTIME_DRIVER] 258 FILE DRIVER = $(NAMED_GUID) { 259 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 260 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 261 UI STRING="$(MODULE_NAME)" Optional 262 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 263 } 264 265[Rule.Common.UEFI_DRIVER] 266 FILE DRIVER = $(NAMED_GUID) { 267 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 268 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 269 UI STRING="$(MODULE_NAME)" Optional 270 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 271 } 272 273[Rule.Common.UEFI_DRIVER.BINARY] 274 FILE DRIVER = $(NAMED_GUID) { 275 DXE_DEPEX DXE_DEPEX Optional |.depex 276 PE32 PE32 |.efi 277 UI STRING="$(MODULE_NAME)" Optional 278 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 279 } 280 281[Rule.Common.UEFI_APPLICATION] 282 FILE APPLICATION = $(NAMED_GUID) { 283 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 284 UI STRING="$(MODULE_NAME)" Optional 285 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 286 } 287 288[Rule.Common.UEFI_APPLICATION.BINARY] 289 FILE APPLICATION = $(NAMED_GUID) { 290 PE32 PE32 |.efi 291 UI STRING="$(MODULE_NAME)" Optional 292 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 293 } 294 295[Rule.Common.USER_DEFINED.ACPITABLE] 296 FILE FREEFORM = $(NAMED_GUID) { 297 RAW ACPI |.acpi 298 RAW ASL |.aml 299 } 300 301[Rule.Common.USER_DEFINED.CSM] 302 FILE FREEFORM = $(NAMED_GUID) { 303 RAW BIN |.bin 304 } 305 306[Rule.Common.SEC.RESET_VECTOR] 307 FILE RAW = $(NAMED_GUID) { 308 RAW RAW |.raw 309 } 310