VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgX64.fdf@ 105670

最後變更 在這個檔案從105670是 105670,由 vboxsync 提交於 6 月 前

Devices/EFI/FirmwareNew: Merge edk2-stable-202405 and make it build on aarch64, bugref:4643

  • 屬性 svn:eol-style 設為 native
檔案大小: 18.9 KB
 
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#
7# SPDX-License-Identifier: BSD-2-Clause-Patent
8#
9##
10
11################################################################################
12
13[Defines]
14!include OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc
15
16#
17# Build the variable store and the firmware code as one unified flash device
18# image.
19#
20[FD.OVMF]
21BaseAddress = $(FW_BASE_ADDRESS)
22Size = $(FW_SIZE)
23ErasePolarity = 1
24BlockSize = $(BLOCK_SIZE)
25NumBlocks = $(FW_BLOCKS)
26
27!include OvmfPkg/Include/Fdf/VarStore.fdf.inc
28
29$(VARS_SIZE)|$(FVMAIN_SIZE)
30FV = FVMAIN_COMPACT
31
32$(SECFV_OFFSET)|$(SECFV_SIZE)
33FV = SECFV
34
35#
36# Build the variable store and the firmware code as separate flash device
37# images.
38#
39[FD.OVMF_VARS]
40BaseAddress = $(FW_BASE_ADDRESS)
41Size = $(VARS_SIZE)
42ErasePolarity = 1
43BlockSize = $(BLOCK_SIZE)
44NumBlocks = $(VARS_BLOCKS)
45
46!include OvmfPkg/Include/Fdf/VarStore.fdf.inc
47
48[FD.OVMF_CODE]
49BaseAddress = $(CODE_BASE_ADDRESS)
50Size = $(CODE_SIZE)
51ErasePolarity = 1
52BlockSize = $(BLOCK_SIZE)
53NumBlocks = $(CODE_BLOCKS)
54
550x00000000|$(FVMAIN_SIZE)
56FV = FVMAIN_COMPACT
57
58$(FVMAIN_SIZE)|$(SECFV_SIZE)
59FV = SECFV
60
61################################################################################
62
63[FD.MEMFD]
64BaseAddress = $(MEMFD_BASE_ADDRESS)
65Size = 0xF80000
66ErasePolarity = 1
67BlockSize = 0x10000
68NumBlocks = 0xF8
69
700x000000|0x006000
71gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize
72
730x006000|0x001000
74gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageSize
75
760x007000|0x001000
77gEfiMdePkgTokenSpaceGuid.PcdGuidedExtractHandlerTableAddress|gUefiOvmfPkgTokenSpaceGuid.PcdGuidedExtractHandlerTableSize
78
790x008000|0x001000
80gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbPageTableBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbPageTableSize
81
820x009000|0x002000
83gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbSize
84
850x00B000|0x001000
86gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaSize
87
880x00C000|0x001000
89gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupSize
90
910x00D000|0x001000
92gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsSize
93
940x00E000|0x001000
95gUefiOvmfPkgTokenSpaceGuid.PcdOvmfCpuidBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfCpuidSize
96
970x00F000|0x001000
98gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecSvsmCaaBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecSvsmCaaSize
99
1000x010000|0x001000
101gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecApicPageTableBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecApicPageTableSize
102
1030x011000|0x00F000
104gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize
105
1060x020000|0x0E0000
107gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize
108FV = PEIFV
109
1100x100000|0xE80000
111gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize
112FV = DXEFV
113
114##########################################################################################
115# Set the SEV-ES specific work area PCDs (used for all forms of SEV since the
116# the SEV STATUS MSR is now saved in the work area)
117#
118SET gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase = $(MEMFD_BASE_ADDRESS) + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaBase + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfConfidentialComputingWorkAreaHeader
119SET gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaSize = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaSize - gUefiOvmfPkgTokenSpaceGuid.PcdOvmfConfidentialComputingWorkAreaHeader
120##########################################################################################
121
122################################################################################
123
124[FV.SECFV]
125FvNameGuid = 763BED0D-DE9F-48F5-81F1-3E90E1B1A015
126BlockSize = 0x1000
127FvAlignment = 16
128ERASE_POLARITY = 1
129MEMORY_MAPPED = TRUE
130STICKY_WRITE = TRUE
131LOCK_CAP = TRUE
132LOCK_STATUS = TRUE
133WRITE_DISABLED_CAP = TRUE
134WRITE_ENABLED_CAP = TRUE
135WRITE_STATUS = TRUE
136WRITE_LOCK_CAP = TRUE
137WRITE_LOCK_STATUS = TRUE
138READ_DISABLED_CAP = TRUE
139READ_ENABLED_CAP = TRUE
140READ_STATUS = TRUE
141READ_LOCK_CAP = TRUE
142READ_LOCK_STATUS = TRUE
143
144#
145# SEC Phase modules
146#
147# The code in this FV handles the initial firmware startup, and
148# decompresses the PEI and DXE FVs which handles the rest of the boot sequence.
149#
150INF OvmfPkg/Sec/SecMain.inf
151
152INF RuleOverride=RESET_VECTOR OvmfPkg/ResetVector/ResetVector.inf
153
154################################################################################
155[FV.PEIFV]
156FvNameGuid = 6938079B-B503-4E3D-9D24-B28337A25806
157BlockSize = 0x10000
158FvAlignment = 16
159ERASE_POLARITY = 1
160MEMORY_MAPPED = TRUE
161STICKY_WRITE = TRUE
162LOCK_CAP = TRUE
163LOCK_STATUS = TRUE
164WRITE_DISABLED_CAP = TRUE
165WRITE_ENABLED_CAP = TRUE
166WRITE_STATUS = TRUE
167WRITE_LOCK_CAP = TRUE
168WRITE_LOCK_STATUS = TRUE
169READ_DISABLED_CAP = TRUE
170READ_ENABLED_CAP = TRUE
171READ_STATUS = TRUE
172READ_LOCK_CAP = TRUE
173READ_LOCK_STATUS = TRUE
174
175APRIORI PEI {
176 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
177}
178
179#
180# PEI Phase modules
181#
182INF MdeModulePkg/Core/Pei/PeiMain.inf
183INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
184INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
185INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
186INF OvmfPkg/PlatformPei/PlatformPei.inf
187INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
188INF UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
189!if $(SMM_REQUIRE) == TRUE
190INF MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
191INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
192INF OvmfPkg/SmmAccess/SmmAccessPei.inf
193!endif
194INF UefiCpuPkg/CpuMpPei/CpuMpPei.inf
195INF FILE_GUID = $(UP_CPU_PEI_GUID) UefiCpuPkg/CpuMpPei/CpuMpPei.inf
196
197!include OvmfPkg/Include/Fdf/OvmfTpmPei.fdf.inc
198
199################################################################################
200
201[FV.DXEFV]
202FvForceRebase = FALSE
203FvNameGuid = 7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1
204BlockSize = 0x10000
205FvAlignment = 16
206ERASE_POLARITY = 1
207MEMORY_MAPPED = TRUE
208STICKY_WRITE = TRUE
209LOCK_CAP = TRUE
210LOCK_STATUS = TRUE
211WRITE_DISABLED_CAP = TRUE
212WRITE_ENABLED_CAP = TRUE
213WRITE_STATUS = TRUE
214WRITE_LOCK_CAP = TRUE
215WRITE_LOCK_STATUS = TRUE
216READ_DISABLED_CAP = TRUE
217READ_ENABLED_CAP = TRUE
218READ_STATUS = TRUE
219READ_LOCK_CAP = TRUE
220READ_LOCK_STATUS = TRUE
221
222APRIORI DXE {
223 INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
224 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
225!ifndef $(VBOX)
226 # AmdSevDxe must be loaded before TdxDxe. Because in SEV guest AmdSevDxe
227 # driver performs a MemEncryptSevClearMmioPageEncMask() call against the
228 # PcdPciExpressBaseAddress range to mark it shared/unencrypted.
229 # Otherwise #VC handler terminates the guest for trying to do MMIO to an
230 # encrypted region (Since the range has not been marked shared/unencrypted).
231 INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf
232 INF OvmfPkg/TdxDxe/TdxDxe.inf
233!endif
234!if $(SMM_REQUIRE) == FALSE
235 INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
236!endif
237}
238
239#
240# DXE Phase modules
241#
242INF MdeModulePkg/Core/Dxe/DxeMain.inf
243
244INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
245INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
246INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
247
248INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
249INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
250INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
251INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
252
253INF UefiCpuPkg/CpuDxe/CpuDxe.inf
254INF FILE_GUID = $(UP_CPU_DXE_GUID) UefiCpuPkg/CpuDxe/CpuDxe.inf
255
256INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
257INF OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
258INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
259INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
260INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
261INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
262INF MdeModulePkg/Universal/Metronome/Metronome.inf
263INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
264
265INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
266INF OvmfPkg/Virtio10Dxe/Virtio10.inf
267!ifndef $(VBOX)
268INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
269!endif
270INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
271!ifndef $(VBOX)
272INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
273INF OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
274!endif
275!if $(PVSCSI_ENABLE) == TRUE
276INF OvmfPkg/PvScsiDxe/PvScsiDxe.inf
277!endif
278!if $(MPT_SCSI_ENABLE) == TRUE
279INF OvmfPkg/MptScsiDxe/MptScsiDxe.inf
280!endif
281!if $(LSI_SCSI_ENABLE) == TRUE
282INF OvmfPkg/LsiScsiDxe/LsiScsiDxe.inf
283!endif
284
285!if $(SECURE_BOOT_ENABLE) == TRUE
286 INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
287!endif
288
289INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
290INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
291INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
292INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
293INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
294INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
295INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
296INF MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
297INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
298INF MdeModulePkg/Application/UiApp/UiApp.inf
299INF OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
300INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
301INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
302INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
303INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
304INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
305INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
306INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
307INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
308INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
309INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
310INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
311INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
312INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
313INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
314
315INF OvmfPkg/SioBusDxe/SioBusDxe.inf
316!if $(SOURCE_DEBUG_ENABLE) == FALSE
317INF MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
318!endif
319INF MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
320
321INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
322INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
323
324!ifdef $(VBOX)
325INF VBoxPkg/VBoxVgaMiniPortDxe/VBoxVgaMiniPortDxe.inf
326INF VBoxPkg/VBoxVgaDxe/VBoxVgaDxe.inf
327INF VBoxPkg/VBoxFsDxe/VBoxHfs.inf
328INF VBoxPkg/VBoxSysTables/VBoxSysTables.inf
329INF VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
330INF VBoxPkg/VBoxApfsJmpStartDxe/VBoxApfsJmpStartDxe.inf
331INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
332!endif
333
334!ifndef $(VBOX)
335INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
336INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
337INF MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
338INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
339INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
340!else
341INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
342INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
343!endif
344
345INF FatPkg/EnhancedFatDxe/Fat.inf
346INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
347INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
348
349!ifndef $(VBOX)
350INF MdeModulePkg/Logo/LogoDxe.inf
351!else
352INF VBoxPkg/Logo/LogoDxe.inf
353!endif
354
355INF OvmfPkg/TdxDxe/TdxDxe.inf
356
357#
358# Hash2 Protocol producer
359#
360INF SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.inf
361
362#
363# Network modules
364#
365!if $(E1000_ENABLE)
366 FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {
367 SECTION PE32 = Intel3.5/EFIX64/E3522X2.EFI
368 }
369!endif
370!include NetworkPkg/Network.fdf.inc
371 INF OvmfPkg/VirtioNetDxe/VirtioNet.inf
372!ifdef $(VBOX)
373 INF VBoxPkg/E1kNetDxe/E1kNet.inf
374!endif
375
376#
377# Usb Support
378#
379INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
380INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
381INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
382INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
383INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
384INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
385
386!ifndef $(VBOX)
387INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
388INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
389INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
390!endif
391INF OvmfPkg/PlatformDxe/Platform.inf
392INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf
393!ifndef $(VBOX)
394INF OvmfPkg/VirtHstiDxe/VirtHstiDxe.inf
395!endif
396
397!if $(SMM_REQUIRE) == TRUE
398INF OvmfPkg/SmmAccess/SmmAccess2Dxe.inf
399INF OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf
400INF OvmfPkg/CpuS3DataDxe/CpuS3DataDxe.inf
401INF MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
402INF MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
403INF OvmfPkg/CpuHotplugSmm/CpuHotplugSmm.inf
404INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
405INF MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf
406INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
407
408#
409# Variable driver stack (SMM)
410#
411INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf
412INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
413INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf
414INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
415
416!else
417
418#
419# Variable driver stack (non-SMM)
420#
421INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
422INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf
423INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
424INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
425!endif
426
427#
428# EFI_CC_MEASUREMENT_PROTOCOL
429#
430!if $(CC_MEASUREMENT_ENABLE) == TRUE
431INF OvmfPkg/Tcg/TdTcg2Dxe/TdTcg2Dxe.inf
432!endif
433
434#
435# TPM support
436#
437!include OvmfPkg/Include/Fdf/OvmfTpmDxe.fdf.inc
438
439!include OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
440
441################################################################################
442
443[FV.FVMAIN_COMPACT]
444FvNameGuid = 48DB5E17-707C-472D-91CD-1613E7EF51B0
445FvAlignment = 16
446ERASE_POLARITY = 1
447MEMORY_MAPPED = TRUE
448STICKY_WRITE = TRUE
449LOCK_CAP = TRUE
450LOCK_STATUS = TRUE
451WRITE_DISABLED_CAP = TRUE
452WRITE_ENABLED_CAP = TRUE
453WRITE_STATUS = TRUE
454WRITE_LOCK_CAP = TRUE
455WRITE_LOCK_STATUS = TRUE
456READ_DISABLED_CAP = TRUE
457READ_ENABLED_CAP = TRUE
458READ_STATUS = TRUE
459READ_LOCK_CAP = TRUE
460READ_LOCK_STATUS = TRUE
461
462FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
463 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
464 #
465 # These firmware volumes will have files placed in them uncompressed,
466 # and then both firmware volumes will be compressed in a single
467 # compression operation in order to achieve better overall compression.
468 #
469 SECTION FV_IMAGE = PEIFV
470 SECTION FV_IMAGE = DXEFV
471 }
472 }
473
474!include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc
475
476################################################################################
477
478[Rule.Common.SEC]
479 FILE SEC = $(NAMED_GUID) {
480 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
481 UI STRING ="$(MODULE_NAME)" Optional
482 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
483 }
484
485[Rule.Common.PEI_CORE]
486 FILE PEI_CORE = $(NAMED_GUID) {
487 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
488 UI STRING ="$(MODULE_NAME)" Optional
489 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
490 }
491
492[Rule.Common.PEIM]
493 FILE PEIM = $(NAMED_GUID) {
494 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
495 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
496 UI STRING="$(MODULE_NAME)" Optional
497 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
498 }
499
500[Rule.Common.DXE_CORE]
501 FILE DXE_CORE = $(NAMED_GUID) {
502 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
503 UI STRING="$(MODULE_NAME)" Optional
504 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
505 }
506
507[Rule.Common.DXE_DRIVER]
508 FILE DRIVER = $(NAMED_GUID) {
509 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
510 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
511 UI STRING="$(MODULE_NAME)" Optional
512 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
513 RAW ACPI Optional |.acpi
514 RAW ASL Optional |.aml
515 }
516
517[Rule.Common.DXE_RUNTIME_DRIVER]
518 FILE DRIVER = $(NAMED_GUID) {
519 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
520 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
521 UI STRING="$(MODULE_NAME)" Optional
522 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
523 }
524
525[Rule.Common.UEFI_DRIVER]
526 FILE DRIVER = $(NAMED_GUID) {
527 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
528 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
529 UI STRING="$(MODULE_NAME)" Optional
530 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
531 }
532
533[Rule.Common.UEFI_DRIVER.BINARY]
534 FILE DRIVER = $(NAMED_GUID) {
535 DXE_DEPEX DXE_DEPEX Optional |.depex
536 PE32 PE32 |.efi
537 UI STRING="$(MODULE_NAME)" Optional
538 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
539 }
540
541[Rule.Common.UEFI_APPLICATION]
542 FILE APPLICATION = $(NAMED_GUID) {
543 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
544 UI STRING="$(MODULE_NAME)" Optional
545 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
546 }
547
548[Rule.Common.UEFI_APPLICATION.BINARY]
549 FILE APPLICATION = $(NAMED_GUID) {
550 PE32 PE32 |.efi
551 UI STRING="$(MODULE_NAME)" Optional
552 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
553 }
554
555[Rule.Common.SEC.RESET_VECTOR]
556 FILE RAW = $(NAMED_GUID) {
557 RAW BIN Align = 16 |.bin
558 }
559
560[Rule.Common.SMM_CORE]
561 FILE SMM_CORE = $(NAMED_GUID) {
562 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
563 UI STRING="$(MODULE_NAME)" Optional
564 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
565 }
566
567[Rule.Common.DXE_SMM_DRIVER]
568 FILE SMM = $(NAMED_GUID) {
569 SMM_DEPEX SMM_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
570 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
571 UI STRING="$(MODULE_NAME)" Optional
572 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
573 }
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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