VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/UefiPayloadPkg/UefiPayloadPkg.fdf@ 105670

Last change on this file since 105670 was 105670, checked in by vboxsync, 4 months ago

Devices/EFI/FirmwareNew: Merge edk2-stable-202405 and make it build on aarch64, bugref:4643

  • Property svn:eol-style set to native
File size: 14.5 KB
Line 
1## @file
2# Bootloader Payload Package
3#
4# Provides drivers and definitions to create uefi payload for bootloaders.
5#
6# Copyright (c) 2014 - 2020, Intel Corporation. All rights reserved.<BR>
7# SPDX-License-Identifier: BSD-2-Clause-Patent
8#
9##
10
11[Defines]
12DEFINE FD_BASE = 0x00800000
13DEFINE FD_BLOCK_SIZE = 0x00001000
14
15!if $(TARGET) == "NOOPT"
16DEFINE FD_SIZE = 0x00850000
17DEFINE NUM_BLOCKS = 0x850
18!else
19
20DEFINE FD_SIZE = 0x00590000
21DEFINE NUM_BLOCKS = 0x590
22!endif
23
24################################################################################
25[FD.UefiPayload]
26BaseAddress = $(FD_BASE) | gUefiPayloadPkgTokenSpaceGuid.PcdPayloadFdMemBase
27Size = $(FD_SIZE) | gUefiPayloadPkgTokenSpaceGuid.PcdPayloadFdMemSize
28ErasePolarity = 1
29BlockSize = $(FD_BLOCK_SIZE)
30NumBlocks = $(NUM_BLOCKS)
31
320x00000000|$(FD_SIZE)
33FV = PLDFV
34
35################################################################################
36[FV.PLDFV]
37FvNameGuid = 96E75986-6FDD-491E-9FD5-35E21AC45B45
38BlockSize = $(FD_BLOCK_SIZE)
39FvAlignment = 16
40ERASE_POLARITY = 1
41MEMORY_MAPPED = TRUE
42STICKY_WRITE = TRUE
43LOCK_CAP = TRUE
44LOCK_STATUS = TRUE
45WRITE_DISABLED_CAP = TRUE
46WRITE_ENABLED_CAP = TRUE
47WRITE_STATUS = TRUE
48WRITE_LOCK_CAP = TRUE
49WRITE_LOCK_STATUS = TRUE
50READ_DISABLED_CAP = TRUE
51READ_ENABLED_CAP = TRUE
52READ_STATUS = TRUE
53READ_LOCK_CAP = TRUE
54READ_LOCK_STATUS = TRUE
55
56!if $(UNIVERSAL_PAYLOAD) == FALSE
57INF UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
58!endif
59FILE FV_IMAGE = 4E35FD93-9C72-4c15-8C4B-E77F1DB2D793 {
60 SECTION FV_IMAGE = DXEFV
61}
62!if $(UNIVERSAL_PAYLOAD) == TRUE
63!if $(NETWORK_DRIVER_ENABLE) == TRUE
64################################################################################
65[FV.NETWORKFV]
66FvNameGuid = 3CF5CB69-C439-4B84-AF11-8167B22D7221
67BlockSize = $(FD_BLOCK_SIZE)
68FvForceRebase = FALSE
69FvAlignment = 16
70ERASE_POLARITY = 1
71MEMORY_MAPPED = TRUE
72STICKY_WRITE = TRUE
73LOCK_CAP = TRUE
74LOCK_STATUS = TRUE
75WRITE_DISABLED_CAP = TRUE
76WRITE_ENABLED_CAP = TRUE
77WRITE_STATUS = TRUE
78WRITE_LOCK_CAP = TRUE
79WRITE_LOCK_STATUS = TRUE
80READ_DISABLED_CAP = TRUE
81READ_ENABLED_CAP = TRUE
82READ_STATUS = TRUE
83READ_LOCK_CAP = TRUE
84READ_LOCK_STATUS = TRUE
85
86#
87# UEFI network modules
88#
89!include NetworkPkg/Network.fdf.inc
90!endif
91
92################################################################################
93[FV.BDSFV]
94FvNameGuid = CA5590AF-9558-4822-B5EA-BE2E876CD3EC
95BlockSize = $(FD_BLOCK_SIZE)
96FvForceRebase = FALSE
97FvAlignment = 16
98ERASE_POLARITY = 1
99MEMORY_MAPPED = TRUE
100STICKY_WRITE = TRUE
101LOCK_CAP = TRUE
102LOCK_STATUS = TRUE
103WRITE_DISABLED_CAP = TRUE
104WRITE_ENABLED_CAP = TRUE
105WRITE_STATUS = TRUE
106WRITE_LOCK_CAP = TRUE
107WRITE_LOCK_STATUS = TRUE
108READ_DISABLED_CAP = TRUE
109READ_ENABLED_CAP = TRUE
110READ_STATUS = TRUE
111READ_LOCK_CAP = TRUE
112READ_LOCK_STATUS = TRUE
113
114INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
115INF RuleOverride = UI MdeModulePkg/Application/UiApp/UiApp.inf
116INF MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf
117!endif
118
119[FV.DXEFV]
120FvNameGuid = 8063C21A-8E58-4576-95CE-089E87975D23
121BlockSize = $(FD_BLOCK_SIZE)
122FvForceRebase = FALSE
123FvAlignment = 16
124ERASE_POLARITY = 1
125MEMORY_MAPPED = TRUE
126STICKY_WRITE = TRUE
127LOCK_CAP = TRUE
128LOCK_STATUS = TRUE
129WRITE_DISABLED_CAP = TRUE
130WRITE_ENABLED_CAP = TRUE
131WRITE_STATUS = TRUE
132WRITE_LOCK_CAP = TRUE
133WRITE_LOCK_STATUS = TRUE
134READ_DISABLED_CAP = TRUE
135READ_ENABLED_CAP = TRUE
136READ_STATUS = TRUE
137READ_LOCK_CAP = TRUE
138READ_LOCK_STATUS = TRUE
139
140APRIORI DXE {
141 INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
142 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
143 INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
144 INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
145 INF UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf
146}
147
148#
149# DXE Phase modules
150#
151INF MdeModulePkg/Core/Dxe/DxeMain.inf
152INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
153INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
154INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
155
156!if $(CRYPTO_PROTOCOL_SUPPORT) == TRUE
157!if $(CRYPTO_DRIVER_EXTERNAL_SUPPORT) == FALSE
158INF CryptoPkg/Driver/CryptoDxe.inf
159!endif
160!endif
161!if $(SECURITY_STUB_ENABLE) == TRUE
162INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
163!endif
164INF UefiCpuPkg/CpuDxe/CpuDxe.inf
165
166!if $(TIMER_SUPPORT) == "HPET"
167INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
168!elseif $(TIMER_SUPPORT) == "LAPIC"
169INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
170!endif
171INF MdeModulePkg/Universal/Metronome/Metronome.inf
172INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
173INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
174INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
175INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
176
177!if $(DISABLE_RESET_SYSTEM) == FALSE
178INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
179!endif
180INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
181!if $(PERFORMANCE_MEASUREMENT_ENABLE)
182 INF MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf
183!endif
184
185#
186# SMM Support
187#
188!if $(SMM_SUPPORT) == TRUE
189 INF UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.inf
190 INF UefiPayloadPkg/SmmControlRuntimeDxe/SmmControlRuntimeDxe.inf
191 INF UefiPayloadPkg/BlSupportSmm/BlSupportSmm.inf
192 INF MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
193 INF MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
194 INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
195 INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
196 INF UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.inf
197!if $(PERFORMANCE_MEASUREMENT_ENABLE)
198 INF MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf
199!endif
200!endif
201
202!if $(VARIABLE_SUPPORT) == "EMU"
203 INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
204!elseif $(VARIABLE_SUPPORT) == "SPI"
205 INF UefiPayloadPkg/FvbRuntimeDxe/FvbSmm.inf
206 INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
207 INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf
208 INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
209!endif
210
211INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
212INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
213!if $(MEMORY_TEST) == "GENERIC"
214INF MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf
215!elseif $(MEMORY_TEST) == "NULL"
216INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
217!endif
218INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
219INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
220INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
221INF MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf
222INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
223INF UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf
224
225INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
226!if $(BOOTSPLASH_IMAGE)
227INF MdeModulePkg/Logo/LogoDxe.inf
228!endif
229
230#
231# PCI Support
232#
233INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
234INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
235
236#
237# ISA Support
238#
239!if $(SERIAL_DRIVER_ENABLE) == TRUE
240INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
241!endif
242!if $(SIO_BUS_ENABLE) == TRUE
243INF OvmfPkg/SioBusDxe/SioBusDxe.inf
244!endif
245!if $(PS2_KEYBOARD_ENABLE) == TRUE
246INF MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
247!endif
248!if $(PS2_MOUSE_ENABLE) == TRUE
249INF MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf
250!endif
251
252#
253# Console Support
254#
255INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
256INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
257INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
258!if $(DISABLE_SERIAL_TERMINAL) == FALSE
259INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
260!endif
261INF UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutputDxe.inf
262
263#
264# SCSI/ATA/IDE/DISK Support
265#
266INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
267INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
268INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
269!if $(ATA_ENABLE) == TRUE
270INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
271INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
272!endif
273INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
274INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
275INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
276!if $(NVME_ENABLE) == TRUE
277INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
278!endif
279!if $(RAM_DISK_ENABLE) == TRUE
280INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
281!endif
282INF FatPkg/EnhancedFatDxe/Fat.inf
283
284#
285# SD/eMMC Support
286#
287!if $(SD_ENABLE) == TRUE
288INF MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf
289INF MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf
290INF MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf
291!endif
292
293#
294# Usb Support
295#
296INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
297INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
298INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
299INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
300INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
301INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
302INF MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf
303
304#
305# ACPI Support
306#
307INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
308!if $(BOOTSPLASH_IMAGE)
309INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
310INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
311!endif
312
313!if $(UNIVERSAL_PAYLOAD) == FALSE
314INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
315INF RuleOverride = UI MdeModulePkg/Application/UiApp/UiApp.inf
316INF MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf
317#
318# UEFI network modules
319#
320!if $(NETWORK_DRIVER_ENABLE) == TRUE
321 !include NetworkPkg/Network.fdf.inc
322!endif
323!endif
324
325#
326# Shell
327#
328!if $(SHELL_TYPE) == BUILD_SHELL
329INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
330!if $(PERFORMANCE_MEASUREMENT_ENABLE) == TRUE
331INF ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf
332!endif
333INF ShellPkg/Application/Shell/Shell.inf
334!endif
335
336
337################################################################################
338#
339# Rules are use with the [FV] section's module INF type to define
340# how an FFS file is created for a given INF file. The following Rule are the default
341# rules for the different module type. User can add the customized rules to define the
342# content of the FFS file.
343#
344################################################################################
345
346[Rule.Common.SEC]
347 FILE SEC = $(NAMED_GUID) {
348 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi
349 }
350
351[Rule.Common.PEI_CORE]
352 FILE PEI_CORE = $(NAMED_GUID) {
353 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
354 UI STRING ="$(MODULE_NAME)" Optional
355 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
356 }
357
358[Rule.Common.PEIM]
359 FILE PEIM = $(NAMED_GUID) {
360 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
361 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
362 UI STRING="$(MODULE_NAME)" Optional
363 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
364 }
365
366[Rule.Common.DXE_CORE]
367 FILE DXE_CORE = $(NAMED_GUID) {
368 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
369 UI STRING="$(MODULE_NAME)" Optional
370 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
371 }
372
373[Rule.Common.DXE_DRIVER]
374 FILE DRIVER = $(NAMED_GUID) {
375 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
376 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
377 UI STRING="$(MODULE_NAME)" Optional
378 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
379 }
380
381[Rule.Common.DXE_RUNTIME_DRIVER]
382 FILE DRIVER = $(NAMED_GUID) {
383 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
384 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
385 UI STRING="$(MODULE_NAME)" Optional
386 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
387 }
388[Rule.Common.DXE_SMM_DRIVER]
389 FILE SMM = $(NAMED_GUID) {
390 SMM_DEPEX SMM_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
391 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
392 UI STRING="$(MODULE_NAME)" Optional
393 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
394 }
395
396[Rule.Common.SMM_CORE]
397 FILE SMM_CORE = $(NAMED_GUID) {
398 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
399 UI STRING="$(MODULE_NAME)" Optional
400 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
401 }
402
403[Rule.Common.UEFI_DRIVER]
404 FILE DRIVER = $(NAMED_GUID) {
405 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
406 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
407 UI STRING="$(MODULE_NAME)" Optional
408 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
409 }
410
411[Rule.Common.UEFI_DRIVER.BINARY]
412 FILE DRIVER = $(NAMED_GUID) {
413 DXE_DEPEX DXE_DEPEX Optional |.depex
414 PE32 PE32 |.efi
415 UI STRING="$(MODULE_NAME)" Optional
416 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
417 }
418
419[Rule.Common.UEFI_APPLICATION]
420 FILE APPLICATION = $(NAMED_GUID) {
421 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
422 UI STRING="$(MODULE_NAME)" Optional
423 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
424 }
425
426[Rule.Common.UEFI_APPLICATION.BINARY]
427 FILE APPLICATION = $(NAMED_GUID) {
428 PE32 PE32 |.efi
429 UI STRING="$(MODULE_NAME)" Optional
430 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
431 }
432
433[Rule.Common.USER_DEFINED.ACPITABLE]
434 FILE FREEFORM = $(NAMED_GUID) {
435 RAW ACPI |.acpi
436 RAW ASL |.aml
437 }
438
439[Rule.Common.USER_DEFINED.CSM]
440 FILE FREEFORM = $(NAMED_GUID) {
441 RAW BIN |.bin
442 }
443
444[Rule.Common.SEC.RESET_VECTOR]
445 FILE RAW = $(NAMED_GUID) {
446 RAW RAW |.raw
447 }
448
449[Rule.Common.UEFI_APPLICATION.UI]
450 FILE APPLICATION = $(NAMED_GUID) {
451 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
452 UI STRING="Enter Setup"
453 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
454 }
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette