]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/OvmfPkgIa32X64.fdf
OVMF: Add Block MMIO protocol definition
[mirror_edk2.git] / OvmfPkg / OvmfPkgIa32X64.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
68FILE RAW = 1BA0062E-C779-4582-8566-336AE8F78F09 {\r
d79d2cd2 69 SECTION RAW = UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.raw\r
c1c2669c 70 }\r
71\r
49ba9447 72################################################################################\r
c1c2669c 73[FV.MAINFV]\r
74BlockSize = 0x10000\r
75FvAlignment = 16\r
49ba9447 76ERASE_POLARITY = 1\r
77MEMORY_MAPPED = TRUE\r
78STICKY_WRITE = TRUE\r
79LOCK_CAP = TRUE\r
80LOCK_STATUS = TRUE\r
81WRITE_DISABLED_CAP = TRUE\r
82WRITE_ENABLED_CAP = TRUE\r
83WRITE_STATUS = TRUE\r
84WRITE_LOCK_CAP = TRUE\r
85WRITE_LOCK_STATUS = TRUE\r
86READ_DISABLED_CAP = TRUE\r
87READ_ENABLED_CAP = TRUE\r
88READ_STATUS = TRUE\r
89READ_LOCK_CAP = TRUE\r
90READ_LOCK_STATUS = TRUE\r
91\r
92#\r
c1c2669c 93# Files to be placed in MAIN FV\r
49ba9447 94#\r
95# This firmware volume will have files placed in it uncompressed,\r
96# and then then entire firmware volume will be compressed in a\r
97# single compression operation in order to achieve better\r
98# overall compression.\r
99#\r
100\r
c1c2669c 101APRIORI PEI {\r
102 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
103}\r
104\r
c1c2669c 105#\r
106# PEI Phase modules\r
107#\r
108INF MdeModulePkg/Core/Pei/PeiMain.inf\r
109INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
110INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
111INF OvmfPkg/PlatformPei/PlatformPei.inf\r
112INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
113\r
2ec2dee3
LG
114FILE FV_IMAGE = A4EF5A93-3F1B-4232-A1C4-F0910E6D1D9C {\r
115 SECTION COMPRESS PI_NONE {\r
116 SECTION FV_IMAGE = DXEFV\r
117 }\r
c29f6c05 118}\r
119\r
120################################################################################\r
121\r
122[FV.DXEFV]\r
123BlockSize = 0x10000\r
124FvAlignment = 16\r
125ERASE_POLARITY = 1\r
126MEMORY_MAPPED = TRUE\r
127STICKY_WRITE = TRUE\r
128LOCK_CAP = TRUE\r
129LOCK_STATUS = TRUE\r
130WRITE_DISABLED_CAP = TRUE\r
131WRITE_ENABLED_CAP = TRUE\r
132WRITE_STATUS = TRUE\r
133WRITE_LOCK_CAP = TRUE\r
134WRITE_LOCK_STATUS = TRUE\r
135READ_DISABLED_CAP = TRUE\r
136READ_ENABLED_CAP = TRUE\r
137READ_STATUS = TRUE\r
138READ_LOCK_CAP = TRUE\r
139READ_LOCK_STATUS = TRUE\r
140\r
141APRIORI DXE {\r
142 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
143 INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf\r
144}\r
145\r
49ba9447 146#\r
147# DXE Phase modules\r
148#\r
149INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
150\r
151INF IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf\r
152INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
153\r
154INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
155INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
156INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf\r
c1c2669c 157INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
e471bf1f 158INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
49ba9447 159INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf\r
afbb91aa 160INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
49ba9447 161INF UefiCpuPkg/CpuDxe/CpuDxe.inf\r
162INF PcAtChipsetPkg/8254TimerDxe/8254Timer.inf\r
163INF PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
4ad90a84 164INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
49ba9447 165INF PcAtChipsetPkg/KbcResetDxe/Reset.inf\r
166INF MdeModulePkg/Universal/Metronome/Metronome.inf\r
712bd83b 167INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
87a1d7a8 168\r
27f58ea1 169INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf\r
170INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
171INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
49ba9447 172INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
173INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
174INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
175INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
176INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
177INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
178INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
179INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
180INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
86fef5b4 181INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf\r
49ba9447 182INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
183INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
184INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
185INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
186INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
187INF IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf\r
188INF PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf\r
189INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
190INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
191\r
49ba9447 192INF PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf\r
193INF IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf\r
194INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
195INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf\r
196INF IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf\r
197\r
198INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
199INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf\r
d40d3ba4 200INF RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf\r
49ba9447 201\r
202FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F {\r
203 SECTION PE32 = FatBinPkg/EnhancedFatDxe/X64/Fat.efi\r
204 }\r
205\r
d46f3632 206FILE APPLICATION = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile) {\r
49ba9447 207 SECTION PE32 = EdkShellBinPkg/FullShell/X64/Shell_full.efi\r
208 }\r
209\r
d46f3632 210FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {\r
49ba9447 211 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { # LzmaCompress\r
212 SECTION RAW = MdeModulePkg/Logo/Logo.bmp\r
213 }\r
214 }\r
215\r
216################################################################################\r
217\r
c1c2669c 218[FV.OVMF]\r
219BlockSize = 0x10000\r
49ba9447 220FvAlignment = 16\r
221ERASE_POLARITY = 1\r
222MEMORY_MAPPED = TRUE\r
223STICKY_WRITE = TRUE\r
224LOCK_CAP = TRUE\r
225LOCK_STATUS = TRUE\r
226WRITE_DISABLED_CAP = TRUE\r
227WRITE_ENABLED_CAP = TRUE\r
228WRITE_STATUS = TRUE\r
229WRITE_LOCK_CAP = TRUE\r
230WRITE_LOCK_STATUS = TRUE\r
231READ_DISABLED_CAP = TRUE\r
232READ_ENABLED_CAP = TRUE\r
233READ_STATUS = TRUE\r
234READ_LOCK_CAP = TRUE\r
235READ_LOCK_STATUS = TRUE\r
236\r
237#\r
c1c2669c 238# This file contains the compressed MAINFV, which is compressed\r
49ba9447 239# in a single compression operation in order to achieve better\r
240# overall compression.\r
241#\r
242FILE FV_IMAGE = 20bc8ac9-94d1-4208-ab28-5d673fd73486 {\r
243 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { # LzmaCompress\r
c1c2669c 244 SECTION FV_IMAGE = MAINFV\r
49ba9447 245 }\r
246 }\r
247\r
49ba9447 248#\r
c1c2669c 249# This file contains the uncompressed SECFV, which contains the initial\r
250# boot code. The code in this FV decompresses the MAINFV.\r
251#\r
252# It uses the Volume Top File (VTF) GUID so it will be placed at the\r
253# end of the FV.\r
49ba9447 254#\r
c1c2669c 255FILE FREEFORM = 1BA0062E-C779-4582-8566-336AE8F78F09 {\r
256 SECTION Align=16 FV_IMAGE = SECFV\r
257}\r
258\r
49ba9447 259################################################################################\r
260\r
261[Rule.Common.PEI_CORE]\r
262 FILE PEI_CORE = $(NAMED_GUID) {\r
2014a81a 263 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 264 UI STRING ="$(MODULE_NAME)" Optional\r
265 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
266 }\r
267\r
268[Rule.Common.SEC]\r
269 FILE SEC = $(NAMED_GUID) {\r
2014a81a 270 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 271 UI STRING ="$(MODULE_NAME)" Optional\r
272 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
273 }\r
274\r
d40d3ba4 275[Rule.Common.PEIM.NORELOC]\r
276 FILE PEIM = $(NAMED_GUID) RELOCS_STRIPPED {\r
2014a81a
LG
277 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
278 TE TE $(INF_OUTPUT)/$(MODULE_NAME).efi\r
d40d3ba4 279 UI STRING="$(MODULE_NAME)" Optional\r
280 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
281 }\r
282\r
49ba9447 283[Rule.Common.PEIM]\r
284 FILE PEIM = $(NAMED_GUID) {\r
2014a81a
LG
285 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
286 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 287 UI STRING="$(MODULE_NAME)" Optional\r
288 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
289 }\r
290\r
291[Rule.Common.PEIM.TIANOCOMPRESSED]\r
292 FILE PEIM = $(NAMED_GUID) {\r
2014a81a 293 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
49ba9447 294 GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {\r
2014a81a 295 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 296 UI STRING="$(MODULE_NAME)" Optional\r
297 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
298 }\r
299 }\r
300\r
301[Rule.Common.DXE_CORE]\r
302 FILE DXE_CORE = $(NAMED_GUID) {\r
2014a81a 303 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 304 UI STRING="$(MODULE_NAME)" Optional\r
305 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
306 }\r
307\r
308[Rule.Common.UEFI_DRIVER]\r
309 FILE DRIVER = $(NAMED_GUID) {\r
2014a81a
LG
310 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
311 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 312 UI STRING="$(MODULE_NAME)" Optional\r
313 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
314 }\r
315\r
316[Rule.Common.DXE_DRIVER]\r
317 FILE DRIVER = $(NAMED_GUID) {\r
2014a81a
LG
318 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
319 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 320 UI STRING="$(MODULE_NAME)" Optional\r
321 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
322 }\r
323\r
324[Rule.Common.DXE_RUNTIME_DRIVER]\r
325 FILE DRIVER = $(NAMED_GUID) {\r
2014a81a
LG
326 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
327 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 328 UI STRING="$(MODULE_NAME)" Optional\r
329 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
330 }\r
331\r
332[Rule.Common.UEFI_APPLICATION]\r
333 FILE APPLICATION = $(NAMED_GUID) {\r
2014a81a 334 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 335 UI STRING="$(MODULE_NAME)" Optional\r
336 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
337 }\r
338\r
48889990 339[Rule.Common.USER_DEFINED.ACPITABLE]\r
49ba9447 340 FILE FREEFORM = $(NAMED_GUID) {\r
d40d3ba4 341 RAW ACPI |.acpi\r
342 RAW ASL |.aml\r
49ba9447 343 }\r
344\r
345[Rule.Common.SEC.RESET_VECTOR]\r
346 FILE RAW = $(NAMED_GUID) {\r
347 RAW RAW |.raw\r
348 }\r
349\r
712bd83b 350[OptionRom.CirrusLogic5446]\r
351INF OptionRomPkg/CirrusLogic5430Dxe/CirrusLogic5430Dxe.inf {\r
352 PCI_DEVICE_ID = 0x00B8\r
353 }\r
354\r