VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/Microvm/MicrovmX64.fdf@ 107675

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

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

  • 屬性 svn:eol-style 設為 native
檔案大小: 15.0 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.MICROVM]
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
37[FD.MEMFD]
38BaseAddress = $(MEMFD_BASE_ADDRESS)
39Size = 0xD00000
40ErasePolarity = 1
41BlockSize = 0x10000
42NumBlocks = 0xD0
43
440x000000|0x006000
45gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize
46
470x006000|0x001000
48gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageSize
49
500x007000|0x001000
51gEfiMdePkgTokenSpaceGuid.PcdGuidedExtractHandlerTableAddress|gUefiOvmfPkgTokenSpaceGuid.PcdGuidedExtractHandlerTableSize
52
530x008000|0x001000
54gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbPageTableBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbPageTableSize
55
560x009000|0x002000
57gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbSize
58
590x00B000|0x001000
60gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaSize
61
620x00C000|0x001000
63gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupSize
64
650x00D000|0x001000
66gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecApicPageTableBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecApicPageTableSize
67
680x010000|0x010000
69gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize
70
710x020000|0x0E0000
72gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize
73FV = PEIFV
74
750x100000|0xC00000
76gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize
77FV = DXEFV
78
79##########################################################################################
80# Set the SEV-ES specific work area PCDs
81#
82SET gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase = $(MEMFD_BASE_ADDRESS) + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaBase + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfConfidentialComputingWorkAreaHeader
83SET gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaSize = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaSize - gUefiOvmfPkgTokenSpaceGuid.PcdOvmfConfidentialComputingWorkAreaHeader
84##########################################################################################
85
86################################################################################
87
88[FV.SECFV]
89FvNameGuid = 763BED0D-DE9F-48F5-81F1-3E90E1B1A015
90BlockSize = 0x1000
91FvAlignment = 16
92ERASE_POLARITY = 1
93MEMORY_MAPPED = TRUE
94STICKY_WRITE = TRUE
95LOCK_CAP = TRUE
96LOCK_STATUS = TRUE
97WRITE_DISABLED_CAP = TRUE
98WRITE_ENABLED_CAP = TRUE
99WRITE_STATUS = TRUE
100WRITE_LOCK_CAP = TRUE
101WRITE_LOCK_STATUS = TRUE
102READ_DISABLED_CAP = TRUE
103READ_ENABLED_CAP = TRUE
104READ_STATUS = TRUE
105READ_LOCK_CAP = TRUE
106READ_LOCK_STATUS = TRUE
107
108#
109# SEC Phase modules
110#
111# The code in this FV handles the initial firmware startup, and
112# decompresses the PEI and DXE FVs which handles the rest of the boot sequence.
113#
114INF OvmfPkg/Sec/SecMain.inf
115
116INF RuleOverride=RESET_VECTOR OvmfPkg/ResetVector/ResetVector.inf
117
118################################################################################
119[FV.PEIFV]
120FvNameGuid = 6938079B-B503-4E3D-9D24-B28337A25806
121BlockSize = 0x10000
122FvAlignment = 16
123ERASE_POLARITY = 1
124MEMORY_MAPPED = TRUE
125STICKY_WRITE = TRUE
126LOCK_CAP = TRUE
127LOCK_STATUS = TRUE
128WRITE_DISABLED_CAP = TRUE
129WRITE_ENABLED_CAP = TRUE
130WRITE_STATUS = TRUE
131WRITE_LOCK_CAP = TRUE
132WRITE_LOCK_STATUS = TRUE
133READ_DISABLED_CAP = TRUE
134READ_ENABLED_CAP = TRUE
135READ_STATUS = TRUE
136READ_LOCK_CAP = TRUE
137READ_LOCK_STATUS = TRUE
138
139APRIORI PEI {
140 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
141}
142
143#
144# PEI Phase modules
145#
146INF MdeModulePkg/Core/Pei/PeiMain.inf
147INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
148INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
149INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
150INF OvmfPkg/PlatformPei/PlatformPei.inf
151INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
152INF UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
153INF UefiCpuPkg/CpuMpPei/CpuMpPei.inf
154
155################################################################################
156
157[FV.DXEFV]
158FvForceRebase = FALSE
159FvNameGuid = 7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1
160BlockSize = 0x10000
161FvAlignment = 16
162ERASE_POLARITY = 1
163MEMORY_MAPPED = TRUE
164STICKY_WRITE = TRUE
165LOCK_CAP = TRUE
166LOCK_STATUS = TRUE
167WRITE_DISABLED_CAP = TRUE
168WRITE_ENABLED_CAP = TRUE
169WRITE_STATUS = TRUE
170WRITE_LOCK_CAP = TRUE
171WRITE_LOCK_STATUS = TRUE
172READ_DISABLED_CAP = TRUE
173READ_ENABLED_CAP = TRUE
174READ_STATUS = TRUE
175READ_LOCK_CAP = TRUE
176READ_LOCK_STATUS = TRUE
177
178APRIORI DXE {
179 INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
180 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
181}
182
183#
184# DXE Phase modules
185#
186INF MdeModulePkg/Core/Dxe/DxeMain.inf
187
188INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
189INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
190INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
191
192INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
193INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
194INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
195INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
196INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
197INF UefiCpuPkg/CpuDxe/CpuDxe.inf
198INF OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
199INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
200INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
201INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
202INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
203INF MdeModulePkg/Universal/Metronome/Metronome.inf
204INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
205
206INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
207INF OvmfPkg/Virtio10Dxe/Virtio10.inf
208INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
209INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
210INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
211INF OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
212
213!if $(SECURE_BOOT_ENABLE) == TRUE
214 INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
215!endif
216
217INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
218INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
219INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
220INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
221INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
222INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
223INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
224INF MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
225INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
226INF MdeModulePkg/Application/UiApp/UiApp.inf
227INF OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
228INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
229INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
230INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
231INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
232INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
233INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
234INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
235INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
236INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
237INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
238INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
239INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
240INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
241INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
242
243!if $(SOURCE_DEBUG_ENABLE) == FALSE
244INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
245!endif
246
247INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
248INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
249
250INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
251INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
252INF MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
253INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
254INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
255
256INF FatPkg/EnhancedFatDxe/Fat.inf
257INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
258INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
259
260INF EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf
261INF OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.inf
262
263INF MdeModulePkg/Logo/LogoDxe.inf
264
265#
266# Network modules
267#
268!if $(E1000_ENABLE)
269 FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {
270 SECTION PE32 = Intel3.5/EFIX64/E3522X2.EFI
271 }
272!endif
273!include NetworkPkg/Network.fdf.inc
274 INF OvmfPkg/VirtioNetDxe/VirtioNet.inf
275
276#
277# Usb Support
278#
279INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
280INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
281INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
282INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
283INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
284INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
285
286INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
287
288INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
289INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
290INF OvmfPkg/PlatformDxe/Platform.inf
291INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf
292
293#
294# Variable driver stack (non-SMM)
295#
296INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
297INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf
298INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
299INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
300
301!include OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
302
303################################################################################
304
305[FV.FVMAIN_COMPACT]
306FvNameGuid = 48DB5E17-707C-472D-91CD-1613E7EF51B0
307FvAlignment = 16
308ERASE_POLARITY = 1
309MEMORY_MAPPED = TRUE
310STICKY_WRITE = TRUE
311LOCK_CAP = TRUE
312LOCK_STATUS = TRUE
313WRITE_DISABLED_CAP = TRUE
314WRITE_ENABLED_CAP = TRUE
315WRITE_STATUS = TRUE
316WRITE_LOCK_CAP = TRUE
317WRITE_LOCK_STATUS = TRUE
318READ_DISABLED_CAP = TRUE
319READ_ENABLED_CAP = TRUE
320READ_STATUS = TRUE
321READ_LOCK_CAP = TRUE
322READ_LOCK_STATUS = TRUE
323
324FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
325 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
326 #
327 # These firmware volumes will have files placed in them uncompressed,
328 # and then both firmware volumes will be compressed in a single
329 # compression operation in order to achieve better overall compression.
330 #
331 SECTION FV_IMAGE = PEIFV
332 SECTION FV_IMAGE = DXEFV
333 }
334 }
335
336!include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc
337
338################################################################################
339
340[Rule.Common.SEC]
341 FILE SEC = $(NAMED_GUID) {
342 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
343 UI STRING ="$(MODULE_NAME)" Optional
344 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
345 }
346
347[Rule.Common.PEI_CORE]
348 FILE PEI_CORE = $(NAMED_GUID) {
349 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
350 UI STRING ="$(MODULE_NAME)" Optional
351 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
352 }
353
354[Rule.Common.PEIM]
355 FILE PEIM = $(NAMED_GUID) {
356 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
357 PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
358 UI STRING="$(MODULE_NAME)" Optional
359 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
360 }
361
362[Rule.Common.DXE_CORE]
363 FILE DXE_CORE = $(NAMED_GUID) {
364 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
365 UI STRING="$(MODULE_NAME)" Optional
366 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
367 }
368
369[Rule.Common.DXE_DRIVER]
370 FILE DRIVER = $(NAMED_GUID) {
371 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
372 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
373 UI STRING="$(MODULE_NAME)" Optional
374 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
375 RAW ACPI Optional |.acpi
376 RAW ASL Optional |.aml
377 }
378
379[Rule.Common.DXE_RUNTIME_DRIVER]
380 FILE DRIVER = $(NAMED_GUID) {
381 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
382 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
383 UI STRING="$(MODULE_NAME)" Optional
384 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
385 }
386
387[Rule.Common.UEFI_DRIVER]
388 FILE DRIVER = $(NAMED_GUID) {
389 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
390 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
391 UI STRING="$(MODULE_NAME)" Optional
392 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
393 }
394
395[Rule.Common.UEFI_DRIVER.BINARY]
396 FILE DRIVER = $(NAMED_GUID) {
397 DXE_DEPEX DXE_DEPEX Optional |.depex
398 PE32 PE32 |.efi
399 UI STRING="$(MODULE_NAME)" Optional
400 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
401 }
402
403[Rule.Common.UEFI_APPLICATION]
404 FILE APPLICATION = $(NAMED_GUID) {
405 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
406 UI STRING="$(MODULE_NAME)" Optional
407 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
408 }
409
410[Rule.Common.UEFI_APPLICATION.BINARY]
411 FILE APPLICATION = $(NAMED_GUID) {
412 PE32 PE32 |.efi
413 UI STRING="$(MODULE_NAME)" Optional
414 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
415 }
416
417[Rule.Common.SEC.RESET_VECTOR]
418 FILE RAW = $(NAMED_GUID) {
419 RAW BIN Align = 16 |.bin
420 }
421
422[Rule.Common.SMM_CORE]
423 FILE SMM_CORE = $(NAMED_GUID) {
424 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
425 UI STRING="$(MODULE_NAME)" Optional
426 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
427 }
428
429[Rule.Common.DXE_SMM_DRIVER]
430 FILE SMM = $(NAMED_GUID) {
431 SMM_DEPEX SMM_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
432 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
433 UI STRING="$(MODULE_NAME)" Optional
434 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
435 }
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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