VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfXen.fdf@ 93492

Last change on this file since 93492 was 89983, checked in by vboxsync, 4 years ago

Devices/EFI: Merge edk-stable202105 and openssl 1.1.1j and make it build, bugref:4643

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette