blob: c644ae96b0f74f9bae54ce83793b0c7168f58ab7 [file] [log] [blame]
lgao47b202cb2010-02-23 23:58:38 +00001## @file
jljusten49ba9442009-05-27 21:10:18 +00002# Open Virtual Machine Firmware: FDF
3#
hhtian56d76402010-04-28 12:43:04 +00004# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
jljusten49ba9442009-05-27 21:10:18 +00005#
hhtian56d76402010-04-28 12:43:04 +00006# This program and the accompanying materials
jljusten49ba9442009-05-27 21:10:18 +00007# 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#
lgao47b202cb2010-02-23 23:58:38 +000014##
jljusten49ba9442009-05-27 21:10:18 +000015
16################################################################################
mdkinney76d428b2010-06-25 22:23:22 +000017[FD.OVMF]
18BaseAddress = 0xFFF00000
19Size = 0x00100000
jljusten49ba9442009-05-27 21:10:18 +000020ErasePolarity = 1
jljustenc1c26692010-01-04 16:17:59 +000021BlockSize = 0x1000
mdkinney76d428b2010-06-25 22:23:22 +000022NumBlocks = 0x100
jljustenc1c26692010-01-04 16:17:59 +000023
mdkinney76d428b2010-06-25 22:23:22 +0000240x00000000|0x000EE000
25FV = FVMAIN_COMPACT
26
270x000EE000|0x12000
jljustenc1c26692010-01-04 16:17:59 +000028FV = SECFV
mdkinney76d428b2010-06-25 22:23:22 +000029
jljusten49ba9442009-05-27 21:10:18 +000030
31################################################################################
jljustenc1c26692010-01-04 16:17:59 +000032
33[FD.MEMFD]
34BaseAddress = 0x800000|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfMemFvBase
35Size = 0x400000|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfMemFvSize
36ErasePolarity = 1
37BlockSize = 0x10000
38NumBlocks = 0x40
39
400x0|0x400000
jljusten49ba9442009-05-27 21:10:18 +000041FV = MAINFV
42
43################################################################################
jljustenc1c26692010-01-04 16:17:59 +000044
45[FV.SECFV]
jljusten49ba9442009-05-27 21:10:18 +000046BlockSize = 0x1000
jljustenc1c26692010-01-04 16:17:59 +000047FvAlignment = 16
jljusten49ba9442009-05-27 21:10:18 +000048ERASE_POLARITY = 1
49MEMORY_MAPPED = TRUE
50STICKY_WRITE = TRUE
51LOCK_CAP = TRUE
52LOCK_STATUS = TRUE
53WRITE_DISABLED_CAP = TRUE
54WRITE_ENABLED_CAP = TRUE
55WRITE_STATUS = TRUE
56WRITE_LOCK_CAP = TRUE
57WRITE_LOCK_STATUS = TRUE
58READ_DISABLED_CAP = TRUE
59READ_ENABLED_CAP = TRUE
60READ_STATUS = TRUE
61READ_LOCK_CAP = TRUE
62READ_LOCK_STATUS = TRUE
63
64#
jljustenc1c26692010-01-04 16:17:59 +000065# SEC Phase modules
66#
67# The code in this FV handles the initial firmware startup, and
68# decompresses the MAINFV which handles the majority of the boot sequence.
69#
70INF OvmfPkg/Sec/SecMain.inf
71
72FILE RAW = 1BA0062E-C779-4582-8566-336AE8F78F09 {
geekboy15ad79d2cd2010-02-02 18:05:03 +000073 SECTION RAW = UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.raw
jljustenc1c26692010-01-04 16:17:59 +000074 }
75
76################################################################################
77[FV.MAINFV]
78BlockSize = 0x10000
79FvAlignment = 16
80ERASE_POLARITY = 1
81MEMORY_MAPPED = TRUE
82STICKY_WRITE = TRUE
83LOCK_CAP = TRUE
84LOCK_STATUS = TRUE
85WRITE_DISABLED_CAP = TRUE
86WRITE_ENABLED_CAP = TRUE
87WRITE_STATUS = TRUE
88WRITE_LOCK_CAP = TRUE
89WRITE_LOCK_STATUS = TRUE
90READ_DISABLED_CAP = TRUE
91READ_ENABLED_CAP = TRUE
92READ_STATUS = TRUE
93READ_LOCK_CAP = TRUE
94READ_LOCK_STATUS = TRUE
95
96#
97# Files to be placed in MAIN FV
jljusten49ba9442009-05-27 21:10:18 +000098#
99# This firmware volume will have files placed in it uncompressed,
100# and then then entire firmware volume will be compressed in a
101# single compression operation in order to achieve better
102# overall compression.
103#
104
jljustenc1c26692010-01-04 16:17:59 +0000105APRIORI PEI {
106 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
107}
108
jljusten49ba9442009-05-27 21:10:18 +0000109#
jljustenc1c26692010-01-04 16:17:59 +0000110# PEI Phase modules
111#
112INF MdeModulePkg/Core/Pei/PeiMain.inf
113INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
114INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
115INF OvmfPkg/PlatformPei/PlatformPei.inf
116INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
117
lgao42ec2dee2010-03-01 01:59:46 +0000118FILE FV_IMAGE = A4EF5A93-3F1B-4232-A1C4-F0910E6D1D9C {
mdkinney76d428b2010-06-25 22:23:22 +0000119 SECTION FV_IMAGE = DXEFV
jljustenc29f6c02010-02-25 21:53:06 +0000120}
121
122################################################################################
123
124[FV.DXEFV]
125BlockSize = 0x10000
126FvAlignment = 16
127ERASE_POLARITY = 1
128MEMORY_MAPPED = TRUE
129STICKY_WRITE = TRUE
130LOCK_CAP = TRUE
131LOCK_STATUS = TRUE
132WRITE_DISABLED_CAP = TRUE
133WRITE_ENABLED_CAP = TRUE
134WRITE_STATUS = TRUE
135WRITE_LOCK_CAP = TRUE
136WRITE_LOCK_STATUS = TRUE
137READ_DISABLED_CAP = TRUE
138READ_ENABLED_CAP = TRUE
139READ_STATUS = TRUE
140READ_LOCK_CAP = TRUE
141READ_LOCK_STATUS = TRUE
142
143APRIORI DXE {
144 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
jljustenc29f6c02010-02-25 21:53:06 +0000145}
146
jljustenc1c26692010-01-04 16:17:59 +0000147#
jljusten49ba9442009-05-27 21:10:18 +0000148# DXE Phase modules
149#
150INF MdeModulePkg/Core/Dxe/DxeMain.inf
151
152INF IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
153INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
154
155INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
156INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
jljustenc1c26692010-01-04 16:17:59 +0000157INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
klu2e471bf12009-12-20 05:35:58 +0000158INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
jljusten49ba9442009-05-27 21:10:18 +0000159INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
eric_tianafbb91a2009-12-09 02:18:21 +0000160INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
jljusten49ba9442009-05-27 21:10:18 +0000161INF UefiCpuPkg/CpuDxe/CpuDxe.inf
162INF PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
163INF PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf
davidhuang4ad90a82009-10-20 03:44:25 +0000164INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
jljusten49ba9442009-05-27 21:10:18 +0000165INF PcAtChipsetPkg/KbcResetDxe/Reset.inf
166INF MdeModulePkg/Universal/Metronome/Metronome.inf
jljusten712bd832009-07-14 23:32:41 +0000167INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
klu287a1d7a2009-07-07 04:54:01 +0000168
jljustenefd82c52010-03-21 00:34:15 +0000169INF OvmfPkg/BlockMmioToBlockIoDxe/BlockIo.inf
jljusten27f58ea2009-09-26 07:15:51 +0000170INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf
171INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
172INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
jljusten49ba9442009-05-27 21:10:18 +0000173INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
174INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
175INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
176INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
177INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
178INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
179INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
180INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
181INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
jljusten86fef5b2009-06-30 15:57:29 +0000182INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
jljusten49ba9442009-05-27 21:10:18 +0000183INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
184INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
185INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
186INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
187INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
188INF IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
189INF PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf
190INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
191INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
192
jljusten49ba9442009-05-27 21:10:18 +0000193INF PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
194INF IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
195INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
196INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
197INF IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
198
199INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
200INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
jljustend40d3ba2009-10-07 16:01:09 +0000201INF RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf
mdkinney76d428b2010-06-25 22:23:22 +0000202INF OptionRomPkg/CirrusLogic5430Dxe/CirrusLogic5430Dxe.inf
jljusten49ba9442009-05-27 21:10:18 +0000203
mdkinney76d428b2010-06-25 22:23:22 +0000204INF FatBinPkg/EnhancedFatDxe/Fat.inf
205INF EdkShellBinPkg/FullShell/FullShell.inf
jljusten49ba9442009-05-27 21:10:18 +0000206
lgao4d46f3632009-07-09 05:48:35 +0000207FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
mdkinney76d428b2010-06-25 22:23:22 +0000208 SECTION RAW = MdeModulePkg/Logo/Logo.bmp
209}
210
jljusten49ba9442009-05-27 21:10:18 +0000211################################################################################
212
mdkinney76d428b2010-06-25 22:23:22 +0000213[FV.FVMAIN_COMPACT]
jljusten49ba9442009-05-27 21:10:18 +0000214FvAlignment = 16
215ERASE_POLARITY = 1
216MEMORY_MAPPED = TRUE
217STICKY_WRITE = TRUE
218LOCK_CAP = TRUE
219LOCK_STATUS = TRUE
220WRITE_DISABLED_CAP = TRUE
221WRITE_ENABLED_CAP = TRUE
222WRITE_STATUS = TRUE
223WRITE_LOCK_CAP = TRUE
224WRITE_LOCK_STATUS = TRUE
225READ_DISABLED_CAP = TRUE
226READ_ENABLED_CAP = TRUE
227READ_STATUS = TRUE
228READ_LOCK_CAP = TRUE
229READ_LOCK_STATUS = TRUE
230
mdkinney76d428b2010-06-25 22:23:22 +0000231FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
232 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
233 SECTION FV_IMAGE = MAINFV
234 }
235 }
236
jljusten49ba9442009-05-27 21:10:18 +0000237################################################################################
238
jljusten49ba9442009-05-27 21:10:18 +0000239[Rule.Common.SEC]
240 FILE SEC = $(NAMED_GUID) {
lgao42014a812010-03-01 06:47:58 +0000241 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
jljusten49ba9442009-05-27 21:10:18 +0000242 UI STRING ="$(MODULE_NAME)" Optional
243 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
244 }
245
mdkinney76d428b2010-06-25 22:23:22 +0000246[Rule.Common.PEI_CORE]
247 FILE PEI_CORE = $(NAMED_GUID) {
248 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi
249 UI STRING ="$(MODULE_NAME)" Optional
250 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
jljustend40d3ba2009-10-07 16:01:09 +0000251 }
252
jljusten49ba9442009-05-27 21:10:18 +0000253[Rule.Common.PEIM]
254 FILE PEIM = $(NAMED_GUID) {
lgao42014a812010-03-01 06:47:58 +0000255 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
256 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi
jljusten49ba9442009-05-27 21:10:18 +0000257 UI STRING="$(MODULE_NAME)" Optional
258 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
259 }
260
jljusten49ba9442009-05-27 21:10:18 +0000261[Rule.Common.DXE_CORE]
262 FILE DXE_CORE = $(NAMED_GUID) {
lgao42014a812010-03-01 06:47:58 +0000263 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
jljusten49ba9442009-05-27 21:10:18 +0000264 UI STRING="$(MODULE_NAME)" Optional
265 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
266 }
267
jljusten49ba9442009-05-27 21:10:18 +0000268[Rule.Common.DXE_DRIVER]
269 FILE DRIVER = $(NAMED_GUID) {
lgao42014a812010-03-01 06:47:58 +0000270 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
271 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
jljusten49ba9442009-05-27 21:10:18 +0000272 UI STRING="$(MODULE_NAME)" Optional
273 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
274 }
275
276[Rule.Common.DXE_RUNTIME_DRIVER]
277 FILE DRIVER = $(NAMED_GUID) {
lgao42014a812010-03-01 06:47:58 +0000278 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
279 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
jljusten49ba9442009-05-27 21:10:18 +0000280 UI STRING="$(MODULE_NAME)" Optional
281 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
282 }
283
mdkinney76d428b2010-06-25 22:23:22 +0000284[Rule.Common.UEFI_DRIVER]
285 FILE DRIVER = $(NAMED_GUID) {
286 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
287 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
288 UI STRING="$(MODULE_NAME)" Optional
289 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
290 }
291
jljusten49ba9442009-05-27 21:10:18 +0000292[Rule.Common.UEFI_APPLICATION]
293 FILE APPLICATION = $(NAMED_GUID) {
lgao42014a812010-03-01 06:47:58 +0000294 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
jljusten49ba9442009-05-27 21:10:18 +0000295 UI STRING="$(MODULE_NAME)" Optional
296 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
297 }
298
vanjeff48889992009-08-11 05:30:52 +0000299[Rule.Common.USER_DEFINED.ACPITABLE]
jljusten49ba9442009-05-27 21:10:18 +0000300 FILE FREEFORM = $(NAMED_GUID) {
jljustend40d3ba2009-10-07 16:01:09 +0000301 RAW ACPI |.acpi
302 RAW ASL |.aml
jljusten49ba9442009-05-27 21:10:18 +0000303 }
304
jljusten712bd832009-07-14 23:32:41 +0000305[OptionRom.CirrusLogic5446]
306INF OptionRomPkg/CirrusLogic5430Dxe/CirrusLogic5430Dxe.inf {
307 PCI_DEVICE_ID = 0x00B8
308 }
309