VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.fdf@ 57260

Last change on this file since 57260 was 48674, checked in by vboxsync, 11 years ago

EFI: Export newly imported tinaocore UEFI sources to OSE.

  • Property svn:eol-style set to native
File size: 13.9 KB
Line 
1## @file
2# Open Virtual Machine Firmware: FDF
3#
4# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
5#
6# This program and the accompanying materials
7# are licensed and made available under the terms and conditions of the BSD License
8# which accompanies this distribution. The full text of the license may be found at
9# http://opensource.org/licenses/bsd-license.php
10#
11# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13#
14##
15
16################################################################################
17[FD.OVMF]
18BaseAddress = 0xFFF00000
19Size = 0x00100000
20ErasePolarity = 1
21BlockSize = 0x1000
22NumBlocks = 0x100
23
24#VBox: Debug needs more space, original: 0x00000000|0x000EC000
250x00000000|0x000F4000
26FV = FVMAIN_COMPACT
27
28#VBox: Debug needs more space, original: 0x000EC000|0x14000
290x000F4000|0x0000C000
30FV = SECFV
31
32################################################################################
33
34[FD.MEMFD]
35BaseAddress = 0x2000000|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfMemFvBase
36Size = 0x600000|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfMemFvSize
37ErasePolarity = 1
38BlockSize = 0x10000
39NumBlocks = 0x60
40
410x0|0x600000
42FV = MAINFV
43
44################################################################################
45
46[FV.SECFV]
47BlockSize = 0x1000
48FvAlignment = 16
49ERASE_POLARITY = 1
50MEMORY_MAPPED = TRUE
51STICKY_WRITE = TRUE
52LOCK_CAP = TRUE
53LOCK_STATUS = TRUE
54WRITE_DISABLED_CAP = TRUE
55WRITE_ENABLED_CAP = TRUE
56WRITE_STATUS = TRUE
57WRITE_LOCK_CAP = TRUE
58WRITE_LOCK_STATUS = TRUE
59READ_DISABLED_CAP = TRUE
60READ_ENABLED_CAP = TRUE
61READ_STATUS = TRUE
62READ_LOCK_CAP = TRUE
63READ_LOCK_STATUS = TRUE
64
65#
66# SEC Phase modules
67#
68# The code in this FV handles the initial firmware startup, and
69# decompresses the MAINFV which handles the majority of the boot sequence.
70#
71INF OvmfPkg/Sec/SecMain.inf
72
73INF RuleOverride=RESET_VECTOR UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf
74
75################################################################################
76[FV.MAINFV]
77BlockSize = 0x10000
78FvAlignment = 16
79ERASE_POLARITY = 1
80MEMORY_MAPPED = TRUE
81STICKY_WRITE = TRUE
82LOCK_CAP = TRUE
83LOCK_STATUS = TRUE
84WRITE_DISABLED_CAP = TRUE
85WRITE_ENABLED_CAP = TRUE
86WRITE_STATUS = TRUE
87WRITE_LOCK_CAP = TRUE
88WRITE_LOCK_STATUS = TRUE
89READ_DISABLED_CAP = TRUE
90READ_ENABLED_CAP = TRUE
91READ_STATUS = TRUE
92READ_LOCK_CAP = TRUE
93READ_LOCK_STATUS = TRUE
94
95#
96# Files to be placed in MAIN FV
97#
98# This firmware volume will have files placed in it uncompressed,
99# and then then entire firmware volume will be compressed in a
100# single compression operation in order to achieve better
101# overall compression.
102#
103
104APRIORI PEI {
105 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
106}
107
108#
109# PEI Phase modules
110#
111INF MdeModulePkg/Core/Pei/PeiMain.inf
112INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
113INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
114!ifndef $(VBOX)
115INF OvmfPkg/PlatformPei/PlatformPei.inf
116!else
117INF VBoxPkg/PlatformPei/PlatformPei.inf
118!endif
119INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
120
121FILE FV_IMAGE = A4EF5A93-3F1B-4232-A1C4-F0910E6D1D9C {
122 SECTION COMPRESS PI_NONE {
123 SECTION FV_IMAGE = DXEFV
124 }
125}
126
127################################################################################
128
129[FV.DXEFV]
130BlockSize = 0x10000
131FvAlignment = 16
132ERASE_POLARITY = 1
133MEMORY_MAPPED = TRUE
134STICKY_WRITE = TRUE
135LOCK_CAP = TRUE
136LOCK_STATUS = TRUE
137WRITE_DISABLED_CAP = TRUE
138WRITE_ENABLED_CAP = TRUE
139WRITE_STATUS = TRUE
140WRITE_LOCK_CAP = TRUE
141WRITE_LOCK_STATUS = TRUE
142READ_DISABLED_CAP = TRUE
143READ_ENABLED_CAP = TRUE
144READ_STATUS = TRUE
145READ_LOCK_CAP = TRUE
146READ_LOCK_STATUS = TRUE
147
148APRIORI DXE {
149 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
150}
151
152#
153# DXE Phase modules
154#
155INF MdeModulePkg/Core/Dxe/DxeMain.inf
156
157INF IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
158INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
159
160INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
161INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
162INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
163INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
164INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
165INF UefiCpuPkg/CpuDxe/CpuDxe.inf
166INF PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
167INF PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf
168INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
169INF PcAtChipsetPkg/KbcResetDxe/Reset.inf
170INF MdeModulePkg/Universal/Metronome/Metronome.inf
171INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
172
173INF OvmfPkg/BlockMmioToBlockIoDxe/BlockIo.inf
174INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf
175INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
176!ifndef $(VBOX)
177INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
178!else
179INF VBoxPkg/VBoxVariable/VBoxVariableRuntimeDxe.inf
180!endif
181INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
182INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
183INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
184INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
185INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
186INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
187INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
188INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
189INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
190INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
191INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
192!ifndef $(VBOX)
193INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
194!else
195INF VBoxPkg/PartitionDxe/PartitionDxe.inf
196!endif
197INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
198INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
199INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
200!ifndef $(VBOX)
201INF IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
202!endif
203INF PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf
204INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
205INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
206INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
207
208!ifdef $(VBOX)
209INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
210INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
211# Replaced by BDS platform specific functionality.
212#INF VBoxPkg/VBoxConsoleDxe/VBoxConsoleDxe.inf
213INF VBoxPkg/VBoxVgaMiniPortDxe/VBoxVgaMiniPortDxe.inf
214INF VBoxPkg/VBoxVgaDxe/VBoxVgaDxe.inf
215INF VBoxPkg/VBoxFsDxe/VBoxIso9660.inf
216INF VBoxPkg/VBoxFsDxe/VBoxHfs.inf
217INF VBoxPkg/VBoxSysTables/VBoxSysTables.inf
218INF VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
219 # we need it for VBoxAppleSim
220INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
221INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
222INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
223!endif
224
225INF PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
226INF IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
227INF IntelFrameworkModulePkg/Bus/Isa/IsaIoDxe/IsaIoDxe.inf
228
229!ifndef $(SOURCE_DEBUG_ENABLE)
230INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
231!endif
232
233INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
234INF IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
235
236INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
237INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
238
239INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
240!ifndef $(VBOX)
241INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
242INF RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf
243!else
244INF VBoxPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
245!endif
246
247INF RuleOverride = BINARY FatBinPkg/EnhancedFatDxe/Fat.inf
248
249!if $(BUILD_NEW_SHELL)
250INF ShellPkg/Application/Shell/Shell.inf
251!else
252!if $(USE_NEW_SHELL)
253INF RuleOverride = BINARY ShellBinPkg/UefiShell/UefiShell.inf
254!else
255INF RuleOverride = BINARY EdkShellBinPkg/FullShell/FullShell.inf
256!endif
257!endif
258
259FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
260!ifndef $(VBOX)
261 SECTION RAW = MdeModulePkg/Logo/Logo.bmp
262!else
263 !ifndef $(VBOX_OSE)
264 SECTION RAW = $(VBOX_PATH_ROOT)/src/VBox/Devices/Graphics/BIOS/puel_logo.bmp
265 !else
266 SECTION RAW = $(VBOX_PATH_ROOT)/src/VBox/Devices/Graphics/BIOS/ose_logo2.bmp
267 !endif
268!endif
269}
270
271#
272# Network modules
273#
274!if $(NETWORK_ENABLE)
275 FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {
276 SECTION PE32 = Intel3.5/EFI32/E3507E2.EFI
277 }
278 INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
279 INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
280 INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
281 INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
282 INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
283 INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
284 INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
285 INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
286 INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
287 INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
288 INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
289 INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
290 INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
291!endif
292
293#
294# Usb Support
295#
296!ifndef $(VBOX)
297INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
298INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
299INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
300INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
301INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
302!endif
303
304!ifdef $(CSM_ENABLE)
305INF IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
306INF IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
307INF RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf
308!endif
309
310################################################################################
311
312[FV.FVMAIN_COMPACT]
313FvAlignment = 16
314ERASE_POLARITY = 1
315MEMORY_MAPPED = TRUE
316STICKY_WRITE = TRUE
317LOCK_CAP = TRUE
318LOCK_STATUS = TRUE
319WRITE_DISABLED_CAP = TRUE
320WRITE_ENABLED_CAP = TRUE
321WRITE_STATUS = TRUE
322WRITE_LOCK_CAP = TRUE
323WRITE_LOCK_STATUS = TRUE
324READ_DISABLED_CAP = TRUE
325READ_ENABLED_CAP = TRUE
326READ_STATUS = TRUE
327READ_LOCK_CAP = TRUE
328READ_LOCK_STATUS = TRUE
329
330FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
331 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
332 SECTION FV_IMAGE = MAINFV
333 }
334 }
335
336################################################################################
337
338[Rule.Common.SEC]
339 FILE SEC = $(NAMED_GUID) {
340 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
341 UI STRING ="$(MODULE_NAME)" Optional
342 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
343 }
344
345[Rule.Common.PEI_CORE]
346 FILE PEI_CORE = $(NAMED_GUID) {
347 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi
348 UI STRING ="$(MODULE_NAME)" Optional
349 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
350 }
351
352[Rule.Common.PEIM]
353 FILE PEIM = $(NAMED_GUID) {
354 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
355 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi
356 UI STRING="$(MODULE_NAME)" Optional
357 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
358 }
359
360[Rule.Common.DXE_CORE]
361 FILE DXE_CORE = $(NAMED_GUID) {
362 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
363 UI STRING="$(MODULE_NAME)" Optional
364 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
365 }
366
367[Rule.Common.DXE_DRIVER]
368 FILE DRIVER = $(NAMED_GUID) {
369 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
370 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
371 UI STRING="$(MODULE_NAME)" Optional
372 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
373 }
374
375[Rule.Common.DXE_RUNTIME_DRIVER]
376 FILE DRIVER = $(NAMED_GUID) {
377 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
378 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
379 UI STRING="$(MODULE_NAME)" Optional
380 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
381 }
382
383[Rule.Common.UEFI_DRIVER]
384 FILE DRIVER = $(NAMED_GUID) {
385 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
386 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
387 UI STRING="$(MODULE_NAME)" Optional
388 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
389 }
390
391[Rule.Common.UEFI_DRIVER.BINARY]
392 FILE DRIVER = $(NAMED_GUID) {
393 DXE_DEPEX DXE_DEPEX Optional |.depex
394 PE32 PE32 |.efi
395 UI STRING="$(MODULE_NAME)" Optional
396 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
397 }
398
399[Rule.Common.UEFI_APPLICATION]
400 FILE APPLICATION = $(NAMED_GUID) {
401 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
402 UI STRING="$(MODULE_NAME)" Optional
403 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
404 }
405
406[Rule.Common.UEFI_APPLICATION.BINARY]
407 FILE APPLICATION = $(NAMED_GUID) {
408 PE32 PE32 |.efi
409 UI STRING="$(MODULE_NAME)" Optional
410 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
411 }
412
413[Rule.Common.USER_DEFINED.ACPITABLE]
414 FILE FREEFORM = $(NAMED_GUID) {
415 RAW ACPI |.acpi
416 RAW ASL |.aml
417 }
418
419[Rule.Common.USER_DEFINED.CSM]
420 FILE FREEFORM = $(NAMED_GUID) {
421 RAW BIN |.bin
422 }
423
424[Rule.Common.SEC.RESET_VECTOR]
425 FILE RAW = $(NAMED_GUID) {
426 RAW RAW |.raw
427 }
428
429!ifndef $(VBOX)
430[OptionRom.OvmfVideo]
431INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
432 PCI_DEVICE_ID = 0x00B8
433 }
434!endif
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