3
# VBoxPkg.fdf - VirtualBox Flash Device.
8
# Copyright (C) 2009-2010 Sun Microsystems, Inc.
10
# This file is part of VirtualBox Open Source Edition (OSE), as
11
# available from http://www.virtualbox.org. This file is free software;
12
# you can redistribute it and/or modify it under the terms of the GNU
13
# General Public License (GPL) as published by the Free Software
14
# Foundation, in version 2 as it comes in the "COPYING" file of the
15
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
18
# The contents of this file may alternatively be used under the terms
19
# of the Common Development and Distribution License Version 1.0
20
# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
21
# VirtualBox OSE distribution, in which case the provisions of the
22
# CDDL are applicable instead of those of the GPL.
24
# You may elect to license modified versions of this file under the
25
# terms and conditions of either the GPL or the CDDL or both.
27
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
28
# Clara, CA 95054 USA or visit http://www.sun.com if you need
29
# additional information or have any questions.
33
# --------------------------------------------------------------------
34
# This file is based on: Ovmf/Ovmf.fdf
36
# Open Virtual Machine Firmware: FDF
38
# Copyright (c) 2006 - 2009, Intel Corporation
40
# All rights reserved. This program and the accompanying materials
41
# are licensed and made available under the terms and conditions of the BSD License
42
# which accompanies this distribution. The full text of the license may be found at
43
# http://opensource.org/licenses/bsd-license.php
45
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
46
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
50
################################################################################
53
# The [FD] Section is made up of the definition statements and a
54
# description of what goes into the Flash Device Image. Each FD section
55
# defines one flash "device" image. A flash device image may be one of
56
# the following: Removable media bootable image (like a boot floppy
57
# image,) an Option ROM image (that would be "flashed" into an add-in
58
# card,) a System "Flash" image (that would be burned into a system's
59
# flash) or an Update ("Capsule") image that will be used to update and
60
# existing system flash.
62
################################################################################
64
BaseAddress = 0xFFE00000 # The base address of the FLASH Device.
65
Size = 0x001f0000 # The size in bytes of the FLASH Device
70
################################################################################
72
# Following are lists of FD Region layout which correspond to the locations of different
73
# images within the flash device.
75
# Regions must be defined in ascending order and may not overlap.
77
# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by
78
# the pipe "|" character, followed by the size of the region, also in hex with the leading
79
# "0x" characters. Like:
81
# PcdOffsetCName|PcdSizeCName
82
# RegionType <FV, DATA, or FILE>
84
################################################################################
86
gEfiUnixPkgTokenSpaceGuid.PcdUnixFlashFvRecoveryBase|gEfiUnixPkgTokenSpaceGuid.PcdUnixFlashFvRecoverySize
89
################################################################################
93
# [FV] section is used to define what components or modules are placed within a flash
94
# device file. This section also defines order the components and modules are positioned
95
# within the image. The [FV] section consists of define statements, set statements and
98
################################################################################
101
FvAlignment = 16 #FV alignment and FV attributes setting.
107
WRITE_DISABLED_CAP = TRUE
108
WRITE_ENABLED_CAP = TRUE
110
WRITE_LOCK_CAP = TRUE
111
WRITE_LOCK_STATUS = TRUE
112
READ_DISABLED_CAP = TRUE
113
READ_ENABLED_CAP = TRUE
116
READ_LOCK_STATUS = TRUE
119
# Files to be placed in DXEFV
121
# This firmware volume will have files placed in it uncompressed,
122
# and then then entire firmware volume will be compressed in a
123
# single compression operation in order to achieve better
124
# overall compression.
128
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
129
INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
135
INF MdeModulePkg/Core/Dxe/DxeMain.inf
137
INF IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
138
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
140
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
141
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
142
INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
143
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
144
INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
145
INF UefiCpuPkg/CpuIoDxe/CpuIo.inf
146
INF UefiCpuPkg/CpuDxe/CpuDxe.inf
147
INF PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
148
INF PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf
149
INF IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
150
INF PcAtChipsetPkg/KbcResetDxe/Reset.inf
151
INF MdeModulePkg/Universal/Metronome/Metronome.inf
152
INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
153
#INF PcAtChipsetPkg/PcRtc/RealTimeClock.inf
155
INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf
156
INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
157
INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
158
INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
159
INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
160
INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
161
INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
162
INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
163
INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
164
INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
165
INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
166
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
167
INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
168
INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
169
INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
170
INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
171
#INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
172
#INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
173
INF IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
174
INF PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf
175
INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
176
INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
179
INF VBoxPkg/VBoxFsDxe/VBoxIso9660.inf
180
INF VBoxPkg/VBoxFsDxe/VBoxHfs.inf
181
INF VBoxPkg/VBoxVgaMiniPortDxe/VBoxVgaMiniPortDxe.inf
182
INF VBoxPkg/VBoxVgaDxe/VBoxVgaDxe.inf
183
INF VBoxPkg/VBoxSysTables/VBoxSysTables.inf
184
INF RuleOverride=ACPITABLE VBoxPkg/AcpiTables/AcpiTables.inf
185
#INF VBoxPkg/VBoxInterceptorDxe/VBoxInterceptorDxe.inf
187
#INF IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClassDxe.inf
189
INF PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
190
INF IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
191
INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
192
INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
193
INF IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
195
INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
196
INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
198
INF FatBinPkg/EnhancedFatDxe/Fat.inf
199
INF EdkShellBinPkg/FullShell/FullShell.inf
200
#FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F {
201
# SECTION PE32 = FatBinPkg/EnhancedFatDxe/Ia32/Fat.efi
204
#FILE APPLICATION = c57ad6b7-0515-40a8-9d21-551652854e37 {
205
# SECTION COMPRESS PI_STD {
207
# SECTION PE32 = EdkShellBinPkg/FullShell/Ia32/Shell_Full.efi
212
FILE FREEFORM = 7BB28B99-61BB-11D5-9A5D-0090273FC14D {
213
SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { # LzmaCompress
214
SECTION RAW = VBoxPkg/VBoxLogo/VBoxLogo.bmp
218
################################################################################
227
WRITE_DISABLED_CAP = TRUE
228
WRITE_ENABLED_CAP = TRUE
230
WRITE_LOCK_CAP = TRUE
231
WRITE_LOCK_STATUS = TRUE
232
READ_DISABLED_CAP = TRUE
233
READ_ENABLED_CAP = TRUE
236
READ_LOCK_STATUS = TRUE
239
# Files to be placed in MAINFV
241
# This firmware volume will have all the files placed in it which
242
# must not be compressed at the initial boot phase. The only
243
# exception to this is the compressed 'DXEFV'.
247
INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
253
INF OvmfPkg/Sec/SecMain.inf
254
#INF VBoxPkg/VBoxSec/VBoxSec.inf
259
INF MdeModulePkg/Core/Pei/PeiMain.inf
260
INF RuleOverride=NORELOC MdeModulePkg/Universal/PCD/Pei/Pcd.inf
261
INF RuleOverride=NORELOC IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
262
INF RuleOverride=NORELOC OvmfPkg/PlatformPei/PlatformPei.inf
263
INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
266
# This file contains the compressed 'DXEFV', which is compressed
267
# in a single compression operation in order to achieve better
268
# overall compression.
270
FILE FV_IMAGE = 20bc8ac9-94d1-4208-ab28-5d673fd73486 {
271
SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { # LzmaCompress
272
SECTION FV_IMAGE = DXEFV
276
#INF RuleOverride=RESET_VECTOR OvmfPkg/ResetVector/Bin/ResetVector.inf
278
################################################################################
280
# Rules are use with the [FV] section's module INF type to define
281
# how an FFS file is created for a given INF file. The following Rule are the default
282
# rules for the different module type. User can add the customized rules to define the
283
# content of the FFS file.
285
################################################################################
287
[Rule.Common.PEI_CORE]
288
FILE PEI_CORE = $(NAMED_GUID) {
290
UI STRING ="$(MODULE_NAME)" Optional
291
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
295
FILE SEC = $(NAMED_GUID) {
297
UI STRING ="$(MODULE_NAME)" Optional
298
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
302
FILE PEIM = $(NAMED_GUID) {
303
PEI_DEPEX PEI_DEPEX Optional |.depex
304
PE32 PE32 Align=32 |.efi
305
UI STRING="$(MODULE_NAME)" Optional
306
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
309
[Rule.Common.PEIM.NORELOC]
310
FILE PEIM = $(NAMED_GUID) RELOCS_STRIPPED {
311
PEI_DEPEX PEI_DEPEX Optional |.depex
313
UI STRING="$(MODULE_NAME)" Optional
314
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
316
[Rule.Common.PEIM.TIANOCOMPRESSED]
317
FILE PEIM = $(NAMED_GUID) {
318
PEI_DEPEX PEI_DEPEX Optional |.depex
319
GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {
321
UI STRING="$(MODULE_NAME)" Optional
322
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
326
[Rule.Common.DXE_CORE]
327
FILE DXE_CORE = $(NAMED_GUID) {
329
UI STRING="$(MODULE_NAME)" Optional
330
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
333
[Rule.Common.UEFI_DRIVER]
334
FILE DRIVER = $(NAMED_GUID) {
335
DXE_DEPEX DXE_DEPEX Optional |.depex
337
UI STRING="$(MODULE_NAME)" Optional
338
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
341
[Rule.Common.DXE_DRIVER]
342
FILE DRIVER = $(NAMED_GUID) {
343
DXE_DEPEX DXE_DEPEX Optional |.depex
345
UI STRING="$(MODULE_NAME)" Optional
346
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
349
[Rule.Common.DXE_RUNTIME_DRIVER]
350
FILE DRIVER = $(NAMED_GUID) {
351
DXE_DEPEX DXE_DEPEX Optional |.depex
353
UI STRING="$(MODULE_NAME)" Optional
354
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
357
[Rule.Common.UEFI_APPLICATION]
358
FILE APPLICATION = $(NAMED_GUID) {
360
UI STRING="$(MODULE_NAME)" Optional
361
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
364
[Rule.Common.USER_DEFINED.ACPITABLE]
365
FILE FREEFORM = $(NAMED_GUID) {
370
[Rule.Common.SEC.RESET_VECTOR]
371
FILE RAW = $(NAMED_GUID) {