]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/OvmfXen.fdf
OvmfPkg: Skip initrd command on Xcode toolchain
[mirror_edk2.git] / OvmfPkg / OvmfXen.fdf
CommitLineData
75e85e33
AP
1## @file\r
2# Open Virtual Machine Firmware: FDF\r
3#\r
4# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
5# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
6# Copyright (c) 2019, Citrix Systems, Inc.\r
7#\r
8# SPDX-License-Identifier: BSD-2-Clause-Patent\r
9#\r
10##\r
11\r
12################################################################################\r
13\r
14[Defines]\r
799d88c1 15!include OvmfPkgDefines.fdf.inc\r
75e85e33
AP
16\r
17#\r
1e9d6b0f
AP
18# This will allow the flash device image to be recognize as an ELF, with first\r
19# an ELF headers, then the firmware code.\r
75e85e33
AP
20#\r
21[FD.OVMF]\r
22BaseAddress = $(FW_BASE_ADDRESS)\r
23Size = $(FW_SIZE)\r
24ErasePolarity = 1\r
25BlockSize = $(BLOCK_SIZE)\r
26NumBlocks = $(FW_BLOCKS)\r
27\r
1e9d6b0f
AP
28!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
290x00000000|0x0000e000\r
30!endif\r
31!if $(FD_SIZE_IN_KB) == 4096\r
320x00000000|0x00040000\r
33!endif\r
34DATA = {\r
35 #\r
36 # This hex array have been generated by OvmfPkg/OvmfXenElfHeaderGenerator.c\r
37 # and copied manually.\r
38 #\r
39 # ELF file header\r
40 0x7f, 0x45, 0x4c, 0x46, # e_ident[0..3]: Magic number\r
41 0x01, # File class: 32-bit objects\r
42 0x01, # Data encoding: 2's complement, little endian\r
43 0x01, # File version\r
44 0x03, # OS ABI identification: Object uses GNU ELF extensions\r
45 0x00, # ABI version\r
46 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, # e_ident[EI_PAD...]\r
47 0x02, 0x00, # e_type = Executable file\r
48 0x03, 0x00, # e_machine = Intel 80386\r
49 0x01, 0x00, 0x00, 0x00, # e_version\r
50 0xd0, 0xff, 0x2f, 0x00, # e_entry: Entry point virtual address\r
51 0x34, 0x00, 0x00, 0x00, # e_phoff: Program header table file offset\r
52 0x00, 0x00, 0x00, 0x00, # e_shoff: Section header table file offset\r
53 0x00, 0x00, 0x00, 0x00, # e_flags: Processor-specific flags\r
54 0x34, 0x00, # e_ehsize: ELF header size\r
55 0x20, 0x00, # e_phentsize: Program header table entry size\r
56 0x02, 0x00, # e_phnum: Program header table entry count\r
57 0x00, 0x00, # e_shentsize: Section header table entry size\r
58 0x00, 0x00, # e_shnum: Section header table entry count\r
59 0x00, 0x00, # e_shstrndx\r
60\r
61 # ELF Program segment headers\r
62 # - Load segment\r
63 0x01, 0x00, 0x00, 0x00, # p_type = Loadable program segment\r
64 0x00, 0x00, 0x00, 0x00, # p_offset\r
65 0x00, 0x00, 0x10, 0x00, # p_vaddr: Segment virtual address\r
66 0x00, 0x00, 0x10, 0x00, # p_paddr: Segment physical address\r
67 0x00, 0x00, 0x20, 0x00, # p_filesz: Segment size in file\r
68 0x00, 0x00, 0x20, 0x00, # p_memsz: Segment size in memory\r
69 0x07, 0x00, 0x00, 0x00, # p_flags = Segment is executable | writable | readable\r
70 0x00, 0x00, 0x00, 0x00, # p_align\r
71 # - ELFNOTE segment\r
72 0x04, 0x00, 0x00, 0x00, # p_type = PT_NOTE\r
73 0x74, 0x00, 0x00, 0x00, # p_offset = point to XEN_ELFNOTE_PHYS32_ENTRY below\r
74 0x74, 0x00, 0x10, 0x00,\r
75 0x74, 0x00, 0x10, 0x00,\r
76 0x14, 0x00, 0x00, 0x00,\r
77 0x14, 0x00, 0x00, 0x00,\r
78 0x04, 0x00, 0x00, 0x00, # p_flags = Segment is readable\r
79 0x00, 0x00, 0x00, 0x00,\r
80\r
81 # XEN_ELFNOTE_PHYS32_ENTRY\r
82 0x04, 0x00, 0x00, 0x00, # name size\r
83 0x04, 0x00, 0x00, 0x00, # desc size\r
84 0x12, 0x00, 0x00, 0x00, # type = XEN_ELFNOTE_PHYS32_ENTRY\r
85 0x58, 0x65, 0x6e, 0x00, # name = "Xen"\r
86 0xd0, 0xff, 0x2f, 0x00, # desc: PVH entry point\r
87 0x00\r
88}\r
89\r
90!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
910x0000e000|0x00001000\r
92!endif\r
93!if $(FD_SIZE_IN_KB) == 4096\r
940x00040000|0x00001000\r
95!endif\r
96#NV_EVENT_LOG\r
97\r
98!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
990x0000f000|0x00001000\r
100!endif\r
101!if $(FD_SIZE_IN_KB) == 4096\r
1020x00041000|0x00001000\r
103!endif\r
104#NV_FTW_WORKING\r
105DATA = {\r
106 # EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature = gEdkiiWorkingBlockSignatureGuid =\r
107 # { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95 }}\r
108 0x2b, 0x29, 0x58, 0x9e, 0x68, 0x7c, 0x7d, 0x49,\r
109 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95,\r
110 # Crc:UINT32 #WorkingBlockValid:1, WorkingBlockInvalid:1, Reserved\r
111 0x2c, 0xaf, 0x2c, 0x64, 0xFE, 0xFF, 0xFF, 0xFF,\r
112 # WriteQueueSize: UINT64\r
113 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
114}\r
115\r
116!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)\r
1170x00010000|0x00010000\r
118!endif\r
119!if $(FD_SIZE_IN_KB) == 4096\r
1200x00042000|0x00042000\r
121!endif\r
122#NV_FTW_SPARE\r
123\r
75e85e33
AP
124\r
125$(VARS_SIZE)|$(FVMAIN_SIZE)\r
126FV = FVMAIN_COMPACT\r
127\r
128$(SECFV_OFFSET)|$(SECFV_SIZE)\r
129FV = SECFV\r
130\r
131#\r
132# Build the variable store and the firmware code as separate flash device\r
133# images.\r
134#\r
135[FD.OVMF_VARS]\r
136BaseAddress = $(FW_BASE_ADDRESS)\r
137Size = $(VARS_SIZE)\r
138ErasePolarity = 1\r
139BlockSize = $(BLOCK_SIZE)\r
140NumBlocks = $(VARS_BLOCKS)\r
141\r
142!include VarStore.fdf.inc\r
143\r
144[FD.OVMF_CODE]\r
145BaseAddress = $(CODE_BASE_ADDRESS)\r
146Size = $(CODE_SIZE)\r
147ErasePolarity = 1\r
148BlockSize = $(BLOCK_SIZE)\r
149NumBlocks = $(CODE_BLOCKS)\r
150\r
1510x00000000|$(FVMAIN_SIZE)\r
152FV = FVMAIN_COMPACT\r
153\r
154$(FVMAIN_SIZE)|$(SECFV_SIZE)\r
155FV = SECFV\r
156\r
157################################################################################\r
158\r
159[FD.MEMFD]\r
160BaseAddress = $(MEMFD_BASE_ADDRESS)\r
161Size = 0xB00000\r
162ErasePolarity = 1\r
163BlockSize = 0x10000\r
164NumBlocks = 0xB0\r
165\r
1660x000000|0x006000\r
167gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize\r
168\r
1690x006000|0x001000\r
170gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageSize\r
171\r
1720x007000|0x001000\r
173gEfiMdePkgTokenSpaceGuid.PcdGuidedExtractHandlerTableAddress|gUefiOvmfPkgTokenSpaceGuid.PcdGuidedExtractHandlerTableSize\r
174\r
93314ae5
AP
1750x008000|0x001000\r
176# Used by XenResetVector to communicate with XenPlatformPei\r
177gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtr|gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtrSize\r
178\r
75e85e33
AP
1790x010000|0x010000\r
180gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize\r
181\r
1820x020000|0x0E0000\r
183gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize\r
184FV = PEIFV\r
185\r
1860x100000|0xA00000\r
187gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize\r
188FV = DXEFV\r
189\r
190################################################################################\r
191\r
192[FV.SECFV]\r
193FvNameGuid = 763BED0D-DE9F-48F5-81F1-3E90E1B1A015\r
194BlockSize = 0x1000\r
195FvAlignment = 16\r
196ERASE_POLARITY = 1\r
197MEMORY_MAPPED = TRUE\r
198STICKY_WRITE = TRUE\r
199LOCK_CAP = TRUE\r
200LOCK_STATUS = TRUE\r
201WRITE_DISABLED_CAP = TRUE\r
202WRITE_ENABLED_CAP = TRUE\r
203WRITE_STATUS = TRUE\r
204WRITE_LOCK_CAP = TRUE\r
205WRITE_LOCK_STATUS = TRUE\r
206READ_DISABLED_CAP = TRUE\r
207READ_ENABLED_CAP = TRUE\r
208READ_STATUS = TRUE\r
209READ_LOCK_CAP = TRUE\r
210READ_LOCK_STATUS = TRUE\r
211\r
212#\r
213# SEC Phase modules\r
214#\r
215# The code in this FV handles the initial firmware startup, and\r
216# decompresses the PEI and DXE FVs which handles the rest of the boot sequence.\r
217#\r
218INF OvmfPkg/Sec/SecMain.inf\r
219\r
c05de360 220INF RuleOverride=RESET_VECTOR OvmfPkg/XenResetVector/XenResetVector.inf\r
75e85e33
AP
221\r
222################################################################################\r
223[FV.PEIFV]\r
224FvNameGuid = 6938079B-B503-4E3D-9D24-B28337A25806\r
225BlockSize = 0x10000\r
226FvAlignment = 16\r
227ERASE_POLARITY = 1\r
228MEMORY_MAPPED = TRUE\r
229STICKY_WRITE = TRUE\r
230LOCK_CAP = TRUE\r
231LOCK_STATUS = TRUE\r
232WRITE_DISABLED_CAP = TRUE\r
233WRITE_ENABLED_CAP = TRUE\r
234WRITE_STATUS = TRUE\r
235WRITE_LOCK_CAP = TRUE\r
236WRITE_LOCK_STATUS = TRUE\r
237READ_DISABLED_CAP = TRUE\r
238READ_ENABLED_CAP = TRUE\r
239READ_STATUS = TRUE\r
240READ_LOCK_CAP = TRUE\r
241READ_LOCK_STATUS = TRUE\r
242\r
243APRIORI PEI {\r
244 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
245}\r
246\r
247#\r
248# PEI Phase modules\r
249#\r
250INF MdeModulePkg/Core/Pei/PeiMain.inf\r
251INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
252INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf\r
253INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf\r
3b96221f 254INF OvmfPkg/XenPlatformPei/XenPlatformPei.inf\r
75e85e33
AP
255INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
256INF UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf\r
257INF UefiCpuPkg/CpuMpPei/CpuMpPei.inf\r
258\r
259################################################################################\r
260\r
261[FV.DXEFV]\r
262FvForceRebase = FALSE\r
263FvNameGuid = 7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1\r
264BlockSize = 0x10000\r
265FvAlignment = 16\r
266ERASE_POLARITY = 1\r
267MEMORY_MAPPED = TRUE\r
268STICKY_WRITE = TRUE\r
269LOCK_CAP = TRUE\r
270LOCK_STATUS = TRUE\r
271WRITE_DISABLED_CAP = TRUE\r
272WRITE_ENABLED_CAP = TRUE\r
273WRITE_STATUS = TRUE\r
274WRITE_LOCK_CAP = TRUE\r
275WRITE_LOCK_STATUS = TRUE\r
276READ_DISABLED_CAP = TRUE\r
277READ_ENABLED_CAP = TRUE\r
278READ_STATUS = TRUE\r
279READ_LOCK_CAP = TRUE\r
280READ_LOCK_STATUS = TRUE\r
281\r
282APRIORI DXE {\r
283 INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
284 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
285 INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf\r
286 INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf\r
287}\r
288\r
289#\r
290# DXE Phase modules\r
291#\r
292INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
293\r
294INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
295INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf\r
296INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
297\r
298INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
299INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
300INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
d668c8bc 301INF OvmfPkg/XenTimerDxe/XenTimerDxe.inf\r
75e85e33
AP
302INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
303INF UefiCpuPkg/CpuDxe/CpuDxe.inf\r
75e85e33
AP
304INF OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf\r
305INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
306INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
307INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
308INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf\r
309INF MdeModulePkg/Universal/Metronome/Metronome.inf\r
1237517b 310INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
75e85e33 311\r
833cd3e0 312INF OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf\r
75e85e33
AP
313INF OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf\r
314INF OvmfPkg/XenBusDxe/XenBusDxe.inf\r
315INF OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf\r
05480e2f 316INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf\r
75e85e33
AP
317\r
318INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
319INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
320INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
321INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
322INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
323INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
324INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
325INF MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf\r
326INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
327INF MdeModulePkg/Application/UiApp/UiApp.inf\r
328INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
329INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf\r
330INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
331INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
332INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf\r
333INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
334INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
335INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
336INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf\r
337INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf\r
338INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf\r
339INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf\r
340INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
341INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
342INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
343INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
344\r
345INF OvmfPkg/SioBusDxe/SioBusDxe.inf\r
46bb8120 346!if $(SOURCE_DEBUG_ENABLE) == FALSE\r
75e85e33
AP
347INF MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf\r
348!endif\r
349INF MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf\r
350\r
351INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
352INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf\r
353\r
354INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
355INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf\r
356INF RuleOverride=ACPITABLE OvmfPkg/AcpiTables/AcpiTables.inf\r
357INF MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf\r
358INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf\r
359INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf\r
360\r
361INF FatPkg/EnhancedFatDxe/Fat.inf\r
362INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf\r
363\r
364!if $(TOOL_CHAIN_TAG) != "XCODE5"\r
365INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf\r
ec41733c 366INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf\r
bcf181a3 367!endif\r
75e85e33
AP
368INF ShellPkg/Application/Shell/Shell.inf\r
369\r
370INF MdeModulePkg/Logo/LogoDxe.inf\r
371\r
372#\r
373# Network modules\r
374#\r
375!if $(E1000_ENABLE)\r
376 FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {\r
377 SECTION PE32 = Intel3.5/EFIX64/E3522X2.EFI\r
378 }\r
379!endif\r
380!include NetworkPkg/Network.fdf.inc\r
381\r
382#\r
383# Usb Support\r
384#\r
385INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
386INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
387INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
388INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
389INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
390INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
391\r
392!ifdef $(CSM_ENABLE)\r
393INF OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf\r
394INF OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf\r
395INF RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf\r
396!endif\r
397\r
398INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf\r
399INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf\r
400INF OvmfPkg/PlatformDxe/Platform.inf\r
401INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf\r
402INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf\r
403\r
404#\r
405# Variable driver stack (non-SMM)\r
406#\r
407INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf\r
408INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf\r
409INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
410INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
411\r
412################################################################################\r
413\r
414[FV.FVMAIN_COMPACT]\r
415FvNameGuid = 48DB5E17-707C-472D-91CD-1613E7EF51B0\r
416FvAlignment = 16\r
417ERASE_POLARITY = 1\r
418MEMORY_MAPPED = TRUE\r
419STICKY_WRITE = TRUE\r
420LOCK_CAP = TRUE\r
421LOCK_STATUS = TRUE\r
422WRITE_DISABLED_CAP = TRUE\r
423WRITE_ENABLED_CAP = TRUE\r
424WRITE_STATUS = TRUE\r
425WRITE_LOCK_CAP = TRUE\r
426WRITE_LOCK_STATUS = TRUE\r
427READ_DISABLED_CAP = TRUE\r
428READ_ENABLED_CAP = TRUE\r
429READ_STATUS = TRUE\r
430READ_LOCK_CAP = TRUE\r
431READ_LOCK_STATUS = TRUE\r
432\r
433FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {\r
434 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {\r
435 #\r
436 # These firmware volumes will have files placed in them uncompressed,\r
437 # and then both firmware volumes will be compressed in a single\r
438 # compression operation in order to achieve better overall compression.\r
439 #\r
440 SECTION FV_IMAGE = PEIFV\r
441 SECTION FV_IMAGE = DXEFV\r
442 }\r
443 }\r
444\r
799d88c1 445!include FvmainCompactScratchEnd.fdf.inc\r
75e85e33
AP
446\r
447################################################################################\r
448\r
449[Rule.Common.SEC]\r
450 FILE SEC = $(NAMED_GUID) {\r
451 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
452 UI STRING ="$(MODULE_NAME)" Optional\r
453 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
454 }\r
455\r
456[Rule.Common.PEI_CORE]\r
457 FILE PEI_CORE = $(NAMED_GUID) {\r
458 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi\r
459 UI STRING ="$(MODULE_NAME)" Optional\r
460 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
461 }\r
462\r
463[Rule.Common.PEIM]\r
464 FILE PEIM = $(NAMED_GUID) {\r
465 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
466 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi\r
467 UI STRING="$(MODULE_NAME)" Optional\r
468 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
469 }\r
470\r
471[Rule.Common.DXE_CORE]\r
472 FILE DXE_CORE = $(NAMED_GUID) {\r
473 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
474 UI STRING="$(MODULE_NAME)" Optional\r
475 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
476 }\r
477\r
478[Rule.Common.DXE_DRIVER]\r
479 FILE DRIVER = $(NAMED_GUID) {\r
480 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
481 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
482 UI STRING="$(MODULE_NAME)" Optional\r
483 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
484 RAW ACPI Optional |.acpi\r
485 RAW ASL Optional |.aml\r
486 }\r
487\r
488[Rule.Common.DXE_RUNTIME_DRIVER]\r
489 FILE DRIVER = $(NAMED_GUID) {\r
490 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
491 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
492 UI STRING="$(MODULE_NAME)" Optional\r
493 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
494 }\r
495\r
496[Rule.Common.UEFI_DRIVER]\r
497 FILE DRIVER = $(NAMED_GUID) {\r
498 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
499 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
500 UI STRING="$(MODULE_NAME)" Optional\r
501 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
502 }\r
503\r
504[Rule.Common.UEFI_DRIVER.BINARY]\r
505 FILE DRIVER = $(NAMED_GUID) {\r
506 DXE_DEPEX DXE_DEPEX Optional |.depex\r
507 PE32 PE32 |.efi\r
508 UI STRING="$(MODULE_NAME)" Optional\r
509 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
510 }\r
511\r
512[Rule.Common.UEFI_APPLICATION]\r
513 FILE APPLICATION = $(NAMED_GUID) {\r
514 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
515 UI STRING="$(MODULE_NAME)" Optional\r
516 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
517 }\r
518\r
519[Rule.Common.UEFI_APPLICATION.BINARY]\r
520 FILE APPLICATION = $(NAMED_GUID) {\r
521 PE32 PE32 |.efi\r
522 UI STRING="$(MODULE_NAME)" Optional\r
523 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
524 }\r
525\r
526[Rule.Common.USER_DEFINED.ACPITABLE]\r
527 FILE FREEFORM = $(NAMED_GUID) {\r
528 RAW ACPI |.acpi\r
529 RAW ASL |.aml\r
530 }\r
531\r
532[Rule.Common.USER_DEFINED.CSM]\r
533 FILE FREEFORM = $(NAMED_GUID) {\r
534 RAW BIN |.bin\r
535 }\r
536\r
537[Rule.Common.SEC.RESET_VECTOR]\r
538 FILE RAW = $(NAMED_GUID) {\r
539 RAW BIN Align = 16 |.bin\r
540 }\r