]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/OvmfPkg.fdf
Still use |.efi Rule for INF file with binary EFI image, because the binary EFI image...
[mirror_edk2.git] / OvmfPkg / OvmfPkg.fdf
CommitLineData
7b202cb0 1## @file\r
49ba9447 2# Open Virtual Machine Firmware: FDF\r
3#\r
c1c2669c 4# Copyright (c) 2006 - 2010, Intel Corporation\r
49ba9447 5#\r
6# All rights reserved. This program and the accompanying materials\r
7# are licensed and made available under the terms and conditions of the BSD License\r
8# which accompanies this distribution. The full text of the license may be found at\r
9# http://opensource.org/licenses/bsd-license.php\r
10#\r
11# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13#\r
7b202cb0 14##\r
49ba9447 15\r
16################################################################################\r
c1c2669c 17[FD.SEC]\r
18BaseAddress = 0xFFFEE000\r
19Size = 0x00012000\r
20ErasePolarity = 1\r
21BlockSize = 0x1000\r
22NumBlocks = 0x12\r
23\r
240x0|0x12000\r
25FV = SECFV\r
26\r
49ba9447 27################################################################################\r
c1c2669c 28\r
29[FD.MEMFD]\r
30BaseAddress = 0x800000|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfMemFvBase\r
31Size = 0x400000|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfMemFvSize\r
49ba9447 32ErasePolarity = 1\r
33BlockSize = 0x10000\r
c1c2669c 34NumBlocks = 0x40\r
49ba9447 35\r
c1c2669c 360x0|0x400000\r
49ba9447 37FV = MAINFV\r
38\r
39################################################################################\r
c1c2669c 40\r
41[FV.SECFV]\r
42BlockSize = 0x1000\r
43FvAlignment = 16\r
44ERASE_POLARITY = 1\r
45MEMORY_MAPPED = TRUE\r
46STICKY_WRITE = TRUE\r
47LOCK_CAP = TRUE\r
48LOCK_STATUS = TRUE\r
49WRITE_DISABLED_CAP = TRUE\r
50WRITE_ENABLED_CAP = TRUE\r
51WRITE_STATUS = TRUE\r
52WRITE_LOCK_CAP = TRUE\r
53WRITE_LOCK_STATUS = TRUE\r
54READ_DISABLED_CAP = TRUE\r
55READ_ENABLED_CAP = TRUE\r
56READ_STATUS = TRUE\r
57READ_LOCK_CAP = TRUE\r
58READ_LOCK_STATUS = TRUE\r
59\r
49ba9447 60#\r
c1c2669c 61# SEC Phase modules\r
49ba9447 62#\r
c1c2669c 63# The code in this FV handles the initial firmware startup, and\r
64# decompresses the MAINFV which handles the majority of the boot sequence.\r
49ba9447 65#\r
c1c2669c 66INF OvmfPkg/Sec/SecMain.inf\r
67\r
d79d2cd2 68INF RuleOverride=RESET_VECTOR UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf\r
c1c2669c 69\r
49ba9447 70################################################################################\r
c1c2669c 71[FV.MAINFV]\r
72BlockSize = 0x10000\r
73FvAlignment = 16\r
49ba9447 74ERASE_POLARITY = 1\r
75MEMORY_MAPPED = TRUE\r
76STICKY_WRITE = TRUE\r
77LOCK_CAP = TRUE\r
78LOCK_STATUS = TRUE\r
79WRITE_DISABLED_CAP = TRUE\r
80WRITE_ENABLED_CAP = TRUE\r
81WRITE_STATUS = TRUE\r
82WRITE_LOCK_CAP = TRUE\r
83WRITE_LOCK_STATUS = TRUE\r
84READ_DISABLED_CAP = TRUE\r
85READ_ENABLED_CAP = TRUE\r
86READ_STATUS = TRUE\r
87READ_LOCK_CAP = TRUE\r
88READ_LOCK_STATUS = TRUE\r
89\r
90#\r
c1c2669c 91# Files to be placed in MAIN FV\r
49ba9447 92#\r
93# This firmware volume will have files placed in it uncompressed,\r
94# and then then entire firmware volume will be compressed in a\r
95# single compression operation in order to achieve better\r
96# overall compression.\r
97#\r
98\r
c1c2669c 99APRIORI PEI {\r
100 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
101}\r
102\r
c1c2669c 103#\r
104# PEI Phase modules\r
105#\r
106INF MdeModulePkg/Core/Pei/PeiMain.inf\r
107INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
108INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
109INF OvmfPkg/PlatformPei/PlatformPei.inf\r
110INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
111\r
2ec2dee3
LG
112FILE FV_IMAGE = A4EF5A93-3F1B-4232-A1C4-F0910E6D1D9C {\r
113 SECTION COMPRESS PI_NONE {\r
114 SECTION FV_IMAGE = DXEFV\r
115 }\r
c29f6c05 116}\r
117\r
118################################################################################\r
119\r
120[FV.DXEFV]\r
121BlockSize = 0x10000\r
122FvAlignment = 16\r
123ERASE_POLARITY = 1\r
124MEMORY_MAPPED = TRUE\r
125STICKY_WRITE = TRUE\r
126LOCK_CAP = TRUE\r
127LOCK_STATUS = TRUE\r
128WRITE_DISABLED_CAP = TRUE\r
129WRITE_ENABLED_CAP = TRUE\r
130WRITE_STATUS = TRUE\r
131WRITE_LOCK_CAP = TRUE\r
132WRITE_LOCK_STATUS = TRUE\r
133READ_DISABLED_CAP = TRUE\r
134READ_ENABLED_CAP = TRUE\r
135READ_STATUS = TRUE\r
136READ_LOCK_CAP = TRUE\r
137READ_LOCK_STATUS = TRUE\r
138\r
139APRIORI DXE {\r
140 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
141 INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf\r
142}\r
143\r
49ba9447 144#\r
145# DXE Phase modules\r
146#\r
147INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
148\r
149INF IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf\r
150INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
151\r
152INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
153INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
154INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf\r
c1c2669c 155INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
e471bf1f 156INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
49ba9447 157INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf\r
afbb91aa 158INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
49ba9447 159INF UefiCpuPkg/CpuDxe/CpuDxe.inf\r
160INF PcAtChipsetPkg/8254TimerDxe/8254Timer.inf\r
161INF PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
4ad90a84 162INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
49ba9447 163INF PcAtChipsetPkg/KbcResetDxe/Reset.inf\r
164INF MdeModulePkg/Universal/Metronome/Metronome.inf\r
71095b27 165INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
49ba9447 166\r
27f58ea1 167INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf\r
168INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
169INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
49ba9447 170INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
171INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
172INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
173INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
174INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
175INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
176INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
177INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
178INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
86fef5b4 179INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf\r
49ba9447 180INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
181INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
182INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
183INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
184INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
185INF IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf\r
186INF PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf\r
187INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
188INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
189\r
49ba9447 190INF PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf\r
191INF IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf\r
192INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
193INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf\r
194INF IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf\r
195\r
196INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
197INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf\r
198INF RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf\r
199\r
d989c453 200INF RuleOverride=BINARY FatBinPkg/EnhancedFatDxe/Fat.inf\r
49ba9447 201\r
d989c453 202INF RuleOverride=BINARY EdkShellBinPkg/FullShell/FullShell.inf\r
49ba9447 203\r
d46f3632 204FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {\r
49ba9447 205 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { # LzmaCompress\r
206 SECTION RAW = MdeModulePkg/Logo/Logo.bmp\r
207 }\r
208 }\r
209\r
210################################################################################\r
211\r
c1c2669c 212[FV.OVMF]\r
213BlockSize = 0x10000\r
49ba9447 214FvAlignment = 16\r
215ERASE_POLARITY = 1\r
216MEMORY_MAPPED = TRUE\r
217STICKY_WRITE = TRUE\r
218LOCK_CAP = TRUE\r
219LOCK_STATUS = TRUE\r
220WRITE_DISABLED_CAP = TRUE\r
221WRITE_ENABLED_CAP = TRUE\r
222WRITE_STATUS = TRUE\r
223WRITE_LOCK_CAP = TRUE\r
224WRITE_LOCK_STATUS = TRUE\r
225READ_DISABLED_CAP = TRUE\r
226READ_ENABLED_CAP = TRUE\r
227READ_STATUS = TRUE\r
228READ_LOCK_CAP = TRUE\r
229READ_LOCK_STATUS = TRUE\r
230\r
231#\r
c1c2669c 232# This file contains the compressed MAINFV, which is compressed\r
49ba9447 233# in a single compression operation in order to achieve better\r
234# overall compression.\r
235#\r
236FILE FV_IMAGE = 20bc8ac9-94d1-4208-ab28-5d673fd73486 {\r
237 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { # LzmaCompress\r
c1c2669c 238 SECTION FV_IMAGE = MAINFV\r
49ba9447 239 }\r
240 }\r
241\r
49ba9447 242#\r
c1c2669c 243# This file contains the uncompressed SECFV, which contains the initial\r
244# boot code. The code in this FV decompresses the MAINFV.\r
245#\r
246# It uses the Volume Top File (VTF) GUID so it will be placed at the\r
247# end of the FV.\r
49ba9447 248#\r
c1c2669c 249FILE FREEFORM = 1BA0062E-C779-4582-8566-336AE8F78F09 {\r
250 SECTION Align=16 FV_IMAGE = SECFV\r
251}\r
252\r
49ba9447 253################################################################################\r
254\r
255[Rule.Common.PEI_CORE]\r
256 FILE PEI_CORE = $(NAMED_GUID) {\r
2014a81a 257 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 258 UI STRING ="$(MODULE_NAME)" Optional\r
259 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
260 }\r
261\r
262[Rule.Common.SEC]\r
263 FILE SEC = $(NAMED_GUID) {\r
2014a81a 264 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 265 UI STRING ="$(MODULE_NAME)" Optional\r
266 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
267 }\r
268\r
d40d3ba4 269[Rule.Common.PEIM.NORELOC]\r
270 FILE PEIM = $(NAMED_GUID) RELOCS_STRIPPED {\r
2014a81a
LG
271 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
272 TE TE $(INF_OUTPUT)/$(MODULE_NAME).efi\r
d40d3ba4 273 UI STRING="$(MODULE_NAME)" Optional\r
274 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
275 }\r
276\r
49ba9447 277[Rule.Common.PEIM]\r
278 FILE PEIM = $(NAMED_GUID) {\r
2014a81a
LG
279 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
280 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 281 UI STRING="$(MODULE_NAME)" Optional\r
282 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
283 }\r
284\r
285[Rule.Common.PEIM.TIANOCOMPRESSED]\r
286 FILE PEIM = $(NAMED_GUID) {\r
2014a81a 287 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
49ba9447 288 GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {\r
2014a81a 289 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 290 UI STRING="$(MODULE_NAME)" Optional\r
291 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
292 }\r
293 }\r
294\r
295[Rule.Common.DXE_CORE]\r
296 FILE DXE_CORE = $(NAMED_GUID) {\r
2014a81a 297 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 298 UI STRING="$(MODULE_NAME)" Optional\r
299 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
300 }\r
301\r
302[Rule.Common.UEFI_DRIVER]\r
303 FILE DRIVER = $(NAMED_GUID) {\r
2014a81a
LG
304 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
305 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 306 UI STRING="$(MODULE_NAME)" Optional\r
307 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
308 }\r
309\r
310[Rule.Common.DXE_DRIVER]\r
311 FILE DRIVER = $(NAMED_GUID) {\r
2014a81a
LG
312 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
313 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 314 UI STRING="$(MODULE_NAME)" Optional\r
315 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
316 }\r
317\r
318[Rule.Common.DXE_RUNTIME_DRIVER]\r
319 FILE DRIVER = $(NAMED_GUID) {\r
2014a81a
LG
320 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
321 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 322 UI STRING="$(MODULE_NAME)" Optional\r
323 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
324 }\r
325\r
326[Rule.Common.UEFI_APPLICATION]\r
327 FILE APPLICATION = $(NAMED_GUID) {\r
2014a81a 328 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 329 UI STRING="$(MODULE_NAME)" Optional\r
330 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
331 }\r
332\r
d989c453
LG
333[Rule.Common.UEFI_DRIVER.BINARY]\r
334 FILE DRIVER = $(NAMED_GUID) {\r
335 DXE_DEPEX DXE_DEPEX Optional |.depex\r
336 PE32 PE32 |.efi\r
337 UI STRING="$(MODULE_NAME)" Optional\r
338 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
339 }\r
340\r
341[Rule.Common.UEFI_APPLICATION.BINARY]\r
342 FILE APPLICATION = $(NAMED_GUID) {\r
343 PE32 PE32 |.efi\r
344 UI STRING="$(MODULE_NAME)" Optional\r
345 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
346 }\r
347\r
48889990 348[Rule.Common.USER_DEFINED.ACPITABLE]\r
49ba9447 349 FILE FREEFORM = $(NAMED_GUID) {\r
350 RAW ACPI |.acpi\r
351 RAW ASL |.aml\r
352 }\r
353\r
354[Rule.Common.SEC.RESET_VECTOR]\r
355 FILE RAW = $(NAMED_GUID) {\r
356 RAW RAW |.raw\r
357 }\r
358\r
712bd83b 359[OptionRom.CirrusLogic5446]\r
360INF OptionRomPkg/CirrusLogic5430Dxe/CirrusLogic5430Dxe.inf {\r
361 PCI_DEVICE_ID = 0x00B8\r
362 }\r
363\r