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