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[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 IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf 56INF CorebootModulePkg/CbSupportPei/CbSupportPei.inf 57INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf 58 59################################################################################ 60 61[FV.DXEFV] 62BlockSize = 0x1000 63FvAlignment = 16 64ERASE_POLARITY = 1 65MEMORY_MAPPED = TRUE 66STICKY_WRITE = TRUE 67LOCK_CAP = TRUE 68LOCK_STATUS = TRUE 69WRITE_DISABLED_CAP = TRUE 70WRITE_ENABLED_CAP = TRUE 71WRITE_STATUS = TRUE 72WRITE_LOCK_CAP = TRUE 73WRITE_LOCK_STATUS = TRUE 74READ_DISABLED_CAP = TRUE 75READ_ENABLED_CAP = TRUE 76READ_STATUS = TRUE 77READ_LOCK_CAP = TRUE 78READ_LOCK_STATUS = TRUE 79 80# 81# DXE Phase modules 82# 83INF MdeModulePkg/Core/Dxe/DxeMain.inf 84INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf 85INF IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf 86 87INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf 88INF UefiCpuPkg/CpuDxe/CpuDxe.inf 89INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf 90INF PcAtChipsetPkg/8254TimerDxe/8254Timer.inf 91INF MdeModulePkg/Universal/Metronome/Metronome.inf 92INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf 93INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf 94INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf 95INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf 96INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf 97INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf 98INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf 99 100INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf 101INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf 102INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf 103INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf 104INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf 105INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf 106INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf 107INF CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf 108 109INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf 110# 111# PCI Support 112# 113INF DuetPkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf 114INF DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf 115 116# 117# ISA Support 118# 119INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf 120 121# 122# Console Support 123# 124INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf 125INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf 126INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf 127INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf 128 129# 130# SCSI/ATA/IDE/DISK Support 131# 132INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf 133INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf 134INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf 135INF DuetPkg/SataControllerDxe/SataControllerDxe.inf 136INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf 137INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf 138INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf 139INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf 140 141!if $(ARCH) == IA32 142INF RuleOverride = BINARY USE = IA32 FatBinPkg/EnhancedFatDxe/Fat.inf 143!else 144INF RuleOverride = BINARY USE = X64 FatBinPkg/EnhancedFatDxe/Fat.inf 145!endif 146 147# 148# Usb Support 149# 150INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf 151INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf 152INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf 153INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf 154INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf 155INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf 156 157# 158# Shell 159# 160#!if $(ARCH) == IA32 161#INF RuleOverride = BINARY USE = IA32 ShellBinPkg/UefiShell/UefiShell.inf 162#!else 163#INF RuleOverride = BINARY USE = X64 ShellBinPkg/UefiShell/UefiShell.inf 164#!endif 165# 166!if $(ARCH) == IA32 167INF RuleOverride = BINARY USE = IA32 EdkShellBinPkg/FullShell/FullShell.inf 168!else 169INF RuleOverride = BINARY USE = X64 EdkShellBinPkg/FullShell/FullShell.inf 170!endif 171 172FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) { 173 SECTION RAW = MdeModulePkg/Logo/Logo.bmp 174} 175 176# 177# Framebuffer Gop 178# 179INF CorebootPayloadPkg/FbGop/FbGop.inf 180 181################################################################################ 182# 183# Rules are use with the [FV] section's module INF type to define 184# how an FFS file is created for a given INF file. The following Rule are the default 185# rules for the different module type. User can add the customized rules to define the 186# content of the FFS file. 187# 188################################################################################ 189 190[Rule.Common.SEC] 191 FILE SEC = $(NAMED_GUID) { 192 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi 193 } 194 195[Rule.Common.PEI_CORE] 196 FILE PEI_CORE = $(NAMED_GUID) { 197 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi 198 UI STRING ="$(MODULE_NAME)" Optional 199 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 200 } 201 202[Rule.Common.PEIM] 203 FILE PEIM = $(NAMED_GUID) { 204 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 205 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi 206 UI STRING="$(MODULE_NAME)" Optional 207 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 208 } 209 210[Rule.Common.DXE_CORE] 211 FILE DXE_CORE = $(NAMED_GUID) { 212 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 213 UI STRING="$(MODULE_NAME)" Optional 214 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 215 } 216 217[Rule.Common.DXE_DRIVER] 218 FILE DRIVER = $(NAMED_GUID) { 219 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 220 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 221 UI STRING="$(MODULE_NAME)" Optional 222 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 223 } 224 225[Rule.Common.DXE_RUNTIME_DRIVER] 226 FILE DRIVER = $(NAMED_GUID) { 227 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 228 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 229 UI STRING="$(MODULE_NAME)" Optional 230 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 231 } 232 233[Rule.Common.UEFI_DRIVER] 234 FILE DRIVER = $(NAMED_GUID) { 235 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex 236 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 237 UI STRING="$(MODULE_NAME)" Optional 238 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 239 } 240 241[Rule.Common.UEFI_DRIVER.BINARY] 242 FILE DRIVER = $(NAMED_GUID) { 243 DXE_DEPEX DXE_DEPEX Optional |.depex 244 PE32 PE32 |.efi 245 UI STRING="$(MODULE_NAME)" Optional 246 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 247 } 248 249[Rule.Common.UEFI_APPLICATION] 250 FILE APPLICATION = $(NAMED_GUID) { 251 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi 252 UI STRING="$(MODULE_NAME)" Optional 253 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 254 } 255 256[Rule.Common.UEFI_APPLICATION.BINARY] 257 FILE APPLICATION = $(NAMED_GUID) { 258 PE32 PE32 |.efi 259 UI STRING="$(MODULE_NAME)" Optional 260 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) 261 } 262 263[Rule.Common.USER_DEFINED.ACPITABLE] 264 FILE FREEFORM = $(NAMED_GUID) { 265 RAW ACPI |.acpi 266 RAW ASL |.aml 267 } 268 269[Rule.Common.USER_DEFINED.CSM] 270 FILE FREEFORM = $(NAMED_GUID) { 271 RAW BIN |.bin 272 } 273 274[Rule.Common.SEC.RESET_VECTOR] 275 FILE RAW = $(NAMED_GUID) { 276 RAW RAW |.raw 277 } 278 279