]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/OvmfPkgX64.fdf
When transfer from Unicode to hex number, current code only consider the 0-9 case...
[mirror_edk2.git] / OvmfPkg / OvmfPkgX64.fdf
CommitLineData
7b202cb0 1## @file\r
49ba9447 2# Open Virtual Machine Firmware: FDF\r
3#\r
345a0c8f 4# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
49ba9447 5#\r
56d7640a 6# This program and the accompanying materials\r
49ba9447 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
76d428b1 17[FD.OVMF]\r
18BaseAddress = 0xFFF00000\r
19Size = 0x00100000\r
c1c2669c 20ErasePolarity = 1\r
21BlockSize = 0x1000\r
76d428b1 22NumBlocks = 0x100\r
c1c2669c 23\r
6738e4e7 240x00000000|0x000EC000\r
76d428b1 25FV = FVMAIN_COMPACT\r
26\r
6738e4e7 270x000EC000|0x14000\r
c1c2669c 28FV = SECFV\r
29\r
49ba9447 30################################################################################\r
c1c2669c 31\r
32[FD.MEMFD]\r
33BaseAddress = 0x800000|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfMemFvBase\r
6738e4e7 34Size = 0x500000|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfMemFvSize\r
49ba9447 35ErasePolarity = 1\r
36BlockSize = 0x10000\r
6738e4e7 37NumBlocks = 0x50\r
49ba9447 38\r
6738e4e7 390x0|0x500000\r
49ba9447 40FV = MAINFV\r
41\r
42################################################################################\r
c1c2669c 43\r
44[FV.SECFV]\r
45BlockSize = 0x1000\r
46FvAlignment = 16\r
47ERASE_POLARITY = 1\r
48MEMORY_MAPPED = TRUE\r
49STICKY_WRITE = TRUE\r
50LOCK_CAP = TRUE\r
51LOCK_STATUS = TRUE\r
52WRITE_DISABLED_CAP = TRUE\r
53WRITE_ENABLED_CAP = TRUE\r
54WRITE_STATUS = TRUE\r
55WRITE_LOCK_CAP = TRUE\r
56WRITE_LOCK_STATUS = TRUE\r
57READ_DISABLED_CAP = TRUE\r
58READ_ENABLED_CAP = TRUE\r
59READ_STATUS = TRUE\r
60READ_LOCK_CAP = TRUE\r
61READ_LOCK_STATUS = TRUE\r
62\r
49ba9447 63#\r
c1c2669c 64# SEC Phase modules\r
49ba9447 65#\r
c1c2669c 66# The code in this FV handles the initial firmware startup, and\r
67# decompresses the MAINFV which handles the majority of the boot sequence.\r
49ba9447 68#\r
c1c2669c 69INF OvmfPkg/Sec/SecMain.inf\r
70\r
d79d2cd2 71INF RuleOverride=RESET_VECTOR UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf\r
c1c2669c 72\r
49ba9447 73################################################################################\r
c1c2669c 74[FV.MAINFV]\r
75BlockSize = 0x10000\r
76FvAlignment = 16\r
49ba9447 77ERASE_POLARITY = 1\r
78MEMORY_MAPPED = TRUE\r
79STICKY_WRITE = TRUE\r
80LOCK_CAP = TRUE\r
81LOCK_STATUS = TRUE\r
82WRITE_DISABLED_CAP = TRUE\r
83WRITE_ENABLED_CAP = TRUE\r
84WRITE_STATUS = TRUE\r
85WRITE_LOCK_CAP = TRUE\r
86WRITE_LOCK_STATUS = TRUE\r
87READ_DISABLED_CAP = TRUE\r
88READ_ENABLED_CAP = TRUE\r
89READ_STATUS = TRUE\r
90READ_LOCK_CAP = TRUE\r
91READ_LOCK_STATUS = TRUE\r
92\r
93#\r
c1c2669c 94# Files to be placed in MAIN FV\r
49ba9447 95#\r
96# This firmware volume will have files placed in it uncompressed,\r
97# and then then entire firmware volume will be compressed in a\r
98# single compression operation in order to achieve better\r
99# overall compression.\r
100#\r
101\r
c1c2669c 102APRIORI PEI {\r
103 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
104}\r
105\r
c1c2669c 106#\r
107# PEI Phase modules\r
108#\r
109INF MdeModulePkg/Core/Pei/PeiMain.inf\r
110INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
111INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
112INF OvmfPkg/PlatformPei/PlatformPei.inf\r
113INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
114\r
2ec2dee3 115FILE FV_IMAGE = A4EF5A93-3F1B-4232-A1C4-F0910E6D1D9C {\r
f8e1ae83
LG
116 SECTION COMPRESS PI_NONE {\r
117 SECTION FV_IMAGE = DXEFV\r
118 }\r
c29f6c05 119}\r
120\r
121################################################################################\r
122\r
123[FV.DXEFV]\r
124BlockSize = 0x10000\r
125FvAlignment = 16\r
126ERASE_POLARITY = 1\r
127MEMORY_MAPPED = TRUE\r
128STICKY_WRITE = TRUE\r
129LOCK_CAP = TRUE\r
130LOCK_STATUS = TRUE\r
131WRITE_DISABLED_CAP = TRUE\r
132WRITE_ENABLED_CAP = TRUE\r
133WRITE_STATUS = TRUE\r
134WRITE_LOCK_CAP = TRUE\r
135WRITE_LOCK_STATUS = TRUE\r
136READ_DISABLED_CAP = TRUE\r
137READ_ENABLED_CAP = TRUE\r
138READ_STATUS = TRUE\r
139READ_LOCK_CAP = TRUE\r
140READ_LOCK_STATUS = TRUE\r
141\r
142APRIORI DXE {\r
143 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
c29f6c05 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
c1c2669c 156INF MdeModulePkg/Universal/EbcDxe/EbcDxe.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
efd82c57 167INF OvmfPkg/BlockMmioToBlockIoDxe/BlockIo.inf\r
27f58ea1 168INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf\r
169INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
8cee3de7 170\r
171!if $(SECURE_BOOT_ENABLE) == TRUE\r
172 INF SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableRuntimeDxe.inf\r
173!else\r
174 INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
175!endif\r
176\r
49ba9447 177INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
178INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
179INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
180INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
181INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
182INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
183INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
184INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
185INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
86fef5b4 186INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf\r
49ba9447 187INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
188INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
189INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
190INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
191INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
192INF IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf\r
193INF PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf\r
194INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
195INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
999a815e 196INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
49ba9447 197\r
49ba9447 198INF PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf\r
199INF IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf\r
8f5e3a12 200\r
201!ifndef $(SOURCE_DEBUG_ENABLE)\r
49ba9447 202INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
8f5e3a12 203!endif\r
204\r
49ba9447 205INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf\r
206INF IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf\r
207\r
fb511817 208INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
209INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf\r
210\r
49ba9447 211INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
212INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf\r
213INF RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf\r
214\r
7a743a2c 215INF RuleOverride = BINARY FatBinPkg/EnhancedFatDxe/Fat.inf\r
345a0c8f 216\r
217!if $(BUILD_NEW_SHELL)\r
218INF ShellPkg/Application/Shell/Shell.inf\r
219!else\r
220!if $(USE_NEW_SHELL)\r
221INF RuleOverride = BINARY ShellBinPkg/UefiShell/UefiShell.inf\r
222!else\r
7a743a2c 223INF RuleOverride = BINARY EdkShellBinPkg/FullShell/FullShell.inf\r
345a0c8f 224!endif\r
225!endif\r
49ba9447 226\r
d46f3632 227FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {\r
76d428b1 228 SECTION RAW = MdeModulePkg/Logo/Logo.bmp\r
229}\r
49ba9447 230\r
7416f4eb 231#\r
232# Network modules\r
233#\r
234!if $(NETWORK_ENABLE)\r
eaf4f336 235 FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {\r
7416f4eb 236 SECTION PE32 = Intel3.5/EFIX64/E3507X2.EFI\r
237 }\r
238 INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf\r
239 INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
240 INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf\r
241 INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf\r
242 INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
243 INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
244 INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf\r
245 INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
246 INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
247 INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
248 INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
249 INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
250 INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
251!endif\r
252\r
689562cd 253#\r
254# Usb Support\r
255#\r
256INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
257INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
258INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
259INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
260INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
261\r
4b3d663f 262!ifdef $(CSM_ENABLE)\r
263INF IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf\r
264INF IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf\r
265INF RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf\r
266!endif\r
267\r
49ba9447 268################################################################################\r
269\r
76d428b1 270[FV.FVMAIN_COMPACT]\r
49ba9447 271FvAlignment = 16\r
272ERASE_POLARITY = 1\r
273MEMORY_MAPPED = TRUE\r
274STICKY_WRITE = TRUE\r
275LOCK_CAP = TRUE\r
276LOCK_STATUS = TRUE\r
277WRITE_DISABLED_CAP = TRUE\r
278WRITE_ENABLED_CAP = TRUE\r
279WRITE_STATUS = TRUE\r
280WRITE_LOCK_CAP = TRUE\r
281WRITE_LOCK_STATUS = TRUE\r
282READ_DISABLED_CAP = TRUE\r
283READ_ENABLED_CAP = TRUE\r
284READ_STATUS = TRUE\r
285READ_LOCK_CAP = TRUE\r
286READ_LOCK_STATUS = TRUE\r
287\r
76d428b1 288FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {\r
289 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {\r
290 SECTION FV_IMAGE = MAINFV\r
49ba9447 291 }\r
292 }\r
293\r
49ba9447 294################################################################################\r
295\r
49ba9447 296[Rule.Common.SEC]\r
297 FILE SEC = $(NAMED_GUID) {\r
2014a81a 298 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 299 UI STRING ="$(MODULE_NAME)" Optional\r
300 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
301 }\r
302\r
76d428b1 303[Rule.Common.PEI_CORE]\r
304 FILE PEI_CORE = $(NAMED_GUID) {\r
305 PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
306 UI STRING ="$(MODULE_NAME)" Optional\r
307 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
d40d3ba4 308 }\r
309\r
49ba9447 310[Rule.Common.PEIM]\r
311 FILE PEIM = $(NAMED_GUID) {\r
2014a81a
LG
312 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
313 PE32 PE32 Align=32 $(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
49ba9447 318[Rule.Common.DXE_CORE]\r
319 FILE DXE_CORE = $(NAMED_GUID) {\r
2014a81a 320 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 321 UI STRING="$(MODULE_NAME)" Optional\r
322 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
323 }\r
324\r
76d428b1 325[Rule.Common.DXE_DRIVER]\r
49ba9447 326 FILE DRIVER = $(NAMED_GUID) {\r
2014a81a
LG
327 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
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
76d428b1 333[Rule.Common.DXE_RUNTIME_DRIVER]\r
49ba9447 334 FILE DRIVER = $(NAMED_GUID) {\r
2014a81a
LG
335 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
336 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 337 UI STRING="$(MODULE_NAME)" Optional\r
338 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
339 }\r
7416f4eb 340\r
76d428b1 341[Rule.Common.UEFI_DRIVER]\r
49ba9447 342 FILE DRIVER = $(NAMED_GUID) {\r
2014a81a
LG
343 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
344 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 345 UI STRING="$(MODULE_NAME)" Optional\r
346 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
347 }\r
348\r
7a743a2c 349[Rule.Common.UEFI_DRIVER.BINARY]\r
3b33c6d6 350 FILE DRIVER = $(NAMED_GUID) {\r
7a743a2c 351 DXE_DEPEX DXE_DEPEX Optional |.depex\r
352 PE32 PE32 |.efi\r
353 UI STRING="$(MODULE_NAME)" Optional\r
354 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
355 }\r
356 \r
49ba9447 357[Rule.Common.UEFI_APPLICATION]\r
358 FILE APPLICATION = $(NAMED_GUID) {\r
2014a81a 359 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
49ba9447 360 UI STRING="$(MODULE_NAME)" Optional\r
361 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
362 }\r
363\r
7a743a2c 364[Rule.Common.UEFI_APPLICATION.BINARY]\r
365 FILE APPLICATION = $(NAMED_GUID) {\r
366 PE32 PE32 |.efi\r
367 UI STRING="$(MODULE_NAME)" Optional\r
368 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
369 }\r
370 \r
48889990 371[Rule.Common.USER_DEFINED.ACPITABLE]\r
49ba9447 372 FILE FREEFORM = $(NAMED_GUID) {\r
373 RAW ACPI |.acpi\r
374 RAW ASL |.aml\r
375 }\r
376\r
4b3d663f 377[Rule.Common.USER_DEFINED.CSM]\r
378 FILE FREEFORM = $(NAMED_GUID) {\r
379 RAW BIN |.bin\r
380 }\r
381\r
49ba9447 382[Rule.Common.SEC.RESET_VECTOR]\r
383 FILE RAW = $(NAMED_GUID) {\r
384 RAW RAW |.raw\r
385 }\r
386\r
eaf4f336 387[OptionRom.OvmfVideo]\r
388INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {\r
712bd83b 389 PCI_DEVICE_ID = 0x00B8\r
390 }\r