VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.fdf@ 58189

最後變更 在這個檔案從58189是 58189,由 vboxsync 提交於 9 年 前

EFI: Remove VBoxPkg VBoxVariable and merge changes into MdeModulePkg EmuVariableRuntimeDxe it was derived from

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

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