• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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