2016-07-12 10:59:57 +02:00
|
|
|
#
|
|
|
|
# Copyright (c) 2011-2015, ARM Limited. All rights reserved.
|
|
|
|
# Copyright (c) 2014-2016, Linaro Limited. All rights reserved.
|
2017-11-29 11:14:59 +01:00
|
|
|
# Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.
|
2016-07-12 10:59:57 +02:00
|
|
|
#
|
2019-04-04 01:03:23 +02:00
|
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
2016-07-12 10:59:57 +02:00
|
|
|
#
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# FV Section
|
|
|
|
#
|
|
|
|
# [FV] section is used to define what components or modules are placed within a flash
|
|
|
|
# device file. This section also defines order the components and modules are positioned
|
|
|
|
# within the image. The [FV] section consists of define statements, set statements and
|
|
|
|
# module statements.
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
[FV.FvMain]
|
2016-07-12 11:08:52 +02:00
|
|
|
FvNameGuid = 64074afe-340a-4be6-94ba-91b5b4d0f71e
|
2016-07-12 10:59:57 +02:00
|
|
|
BlockSize = 0x40
|
|
|
|
NumBlocks = 0 # This FV gets compressed so make it just big enough
|
|
|
|
FvAlignment = 16 # FV alignment and FV attributes setting.
|
|
|
|
ERASE_POLARITY = 1
|
|
|
|
MEMORY_MAPPED = TRUE
|
|
|
|
STICKY_WRITE = TRUE
|
|
|
|
LOCK_CAP = TRUE
|
|
|
|
LOCK_STATUS = TRUE
|
|
|
|
WRITE_DISABLED_CAP = TRUE
|
|
|
|
WRITE_ENABLED_CAP = TRUE
|
|
|
|
WRITE_STATUS = TRUE
|
|
|
|
WRITE_LOCK_CAP = TRUE
|
|
|
|
WRITE_LOCK_STATUS = TRUE
|
|
|
|
READ_DISABLED_CAP = TRUE
|
|
|
|
READ_ENABLED_CAP = TRUE
|
|
|
|
READ_STATUS = TRUE
|
|
|
|
READ_LOCK_CAP = TRUE
|
|
|
|
READ_LOCK_STATUS = TRUE
|
|
|
|
|
|
|
|
INF MdeModulePkg/Core/Dxe/DxeMain.inf
|
|
|
|
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
|
2021-10-11 15:39:13 +02:00
|
|
|
INF OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.inf
|
2021-10-11 15:24:08 +02:00
|
|
|
INF EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf
|
2021-10-11 15:27:33 +02:00
|
|
|
INF OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf
|
2016-07-12 10:59:57 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# PI DXE Drivers producing Architectural Protocols (EFI Services)
|
|
|
|
#
|
|
|
|
INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
|
|
|
|
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
|
|
|
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
|
|
INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
|
|
|
!endif
|
|
|
|
INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
|
2017-07-03 15:46:18 +02:00
|
|
|
INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
|
2016-07-12 10:59:57 +02:00
|
|
|
INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
|
|
|
|
INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# Multiple Console IO support
|
|
|
|
#
|
|
|
|
INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
|
|
|
|
|
|
|
|
INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
|
|
|
|
INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
|
|
|
|
INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
|
|
|
|
|
|
|
|
#
|
2020-12-16 22:10:39 +01:00
|
|
|
# FAT filesystem + GPT/MBR partitioning + UDF filesystem + virtio-fs
|
2016-07-12 10:59:57 +02:00
|
|
|
#
|
|
|
|
INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
|
|
|
INF FatPkg/EnhancedFatDxe/Fat.inf
|
|
|
|
INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
2017-09-08 14:41:49 +02:00
|
|
|
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
2020-12-16 22:10:39 +01:00
|
|
|
INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
2016-07-12 10:59:57 +02:00
|
|
|
|
ArmVirtPkg/ArmVirtQemu*: enable minimal Status Code Routing in DXE
The EFI_RETURN_STATUS_EXTENDED_DATA feature from PI-1.7
(<https://mantis.uefi.org/mantis/view.php?id=1885>) enables platform code
to learn about boot option failures (loading and launching) via status
codes reported by the UEFI Boot Manager.
In commit 59541d41633c, we removed all status code support from
ArmVirtPkg. Reenable that support now, minimally, just to the extent so we
can benefit from the PI-1.7 feature mentioned above:
(1) Include the ReportStatusCodeRouterRuntimeDxe driver.
This driver produces two protocols, EFI_STATUS_CODE_PROTOCOL and
EFI_RSC_HANDLER_PROTOCOL. The former allows DXE phase modules and
runtime modules to report (produce) status codes. The latter allows
the same types of modules to register callbacks for status code
handling (consumption).
(Handler registration occurs only at boot time. Status codes are
delivered to each handler at runtime as well, unless the handler is
unregistered at ExitBootServices().)
(2) Resolve ReportStatusCodeLib to a non-Null instance, for DXE_DRIVER
modules only. This way DXE_DRIVER modules that use the
REPORT_STATUS_CODE_EX() macro and friends will reach
EFI_STATUS_CODE_PROTOCOL from point (1).
(3) Set PcdReportStatusCodePropertyMask to 3 (the default value is 0).
This causes the REPORT_STATUS_CODE_EX() macro and friends to let
Progress Codes (bit#0) and Error Codes (bit#1) through to point (1).
Debug Codes (bit#2) are filtered out.
(4) Include no driver, for now, that registers any status code handler via
EFI_RSC_HANDLER_PROTOCOL, from point (1). Status codes that reach
ReportStatusCodeRouterRuntimeDxe will be thrown away.
(5) Modify only the ArmVirtQemu* platforms. A status code handler will
be added to "ArmVirtPkg/Library/PlatformBootManagerLib" in the next patch,
and this library instance is not consumed by ArmVirtXen.
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Julien Grall <julien.grall@linaro.org>
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1515418
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2019-02-20 04:45:20 +01:00
|
|
|
#
|
|
|
|
# Status Code Routing
|
|
|
|
#
|
|
|
|
INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
|
|
|
|
|
2016-07-12 10:59:57 +02:00
|
|
|
#
|
|
|
|
# Platform Driver
|
|
|
|
#
|
|
|
|
INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
|
|
|
INF OvmfPkg/VirtioNetDxe/VirtioNet.inf
|
|
|
|
INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
|
|
|
INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
|
|
|
|
|
|
|
INF ShellPkg/Application/Shell/Shell.inf
|
2017-11-29 11:14:59 +01:00
|
|
|
INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
|
2020-07-22 22:54:33 +02:00
|
|
|
INF ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
|
2020-02-26 20:43:40 +01:00
|
|
|
INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
|
2016-07-12 10:59:57 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Bds
|
|
|
|
#
|
|
|
|
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
|
|
|
INF MdeModulePkg/Application/UiApp/UiApp.inf
|
2020-02-28 17:30:08 +01:00
|
|
|
INF OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
|
2016-07-12 10:59:57 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Networking stack
|
|
|
|
#
|
2019-05-16 10:18:09 +02:00
|
|
|
!include NetworkPkg/Network.fdf.inc
|
|
|
|
|
2016-07-12 10:59:57 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# SCSI Bus and Disk Driver
|
|
|
|
#
|
|
|
|
INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
|
|
|
|
|
2019-01-04 22:18:15 +01:00
|
|
|
#
|
|
|
|
# NVME Driver
|
|
|
|
#
|
|
|
|
INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
|
|
|
|
2016-07-12 10:59:57 +02:00
|
|
|
#
|
|
|
|
# SMBIOS Support
|
|
|
|
#
|
|
|
|
INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
|
|
|
|
INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# ACPI Support
|
|
|
|
#
|
2017-03-17 15:46:40 +01:00
|
|
|
INF ArmVirtPkg/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf
|
2017-05-03 00:38:15 +02:00
|
|
|
!if $(ARCH) == AARCH64
|
2016-07-12 10:59:57 +02:00
|
|
|
INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
|
2017-01-16 16:06:18 +01:00
|
|
|
INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
|
2021-12-10 15:41:57 +01:00
|
|
|
INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
|
2016-07-29 17:06:52 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# EBC support
|
|
|
|
#
|
|
|
|
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
2016-07-12 10:59:57 +02:00
|
|
|
!endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# PCI support
|
|
|
|
#
|
2016-08-21 18:53:34 +02:00
|
|
|
INF ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
|
2016-07-12 10:59:57 +02:00
|
|
|
INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
|
2021-01-19 02:13:02 +01:00
|
|
|
INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
|
2016-07-12 10:59:57 +02:00
|
|
|
INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
|
|
|
|
INF OvmfPkg/Virtio10Dxe/Virtio10.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# Video support
|
|
|
|
#
|
2018-06-13 09:29:36 +02:00
|
|
|
INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
2016-08-16 17:53:33 +02:00
|
|
|
INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
2016-07-12 10:59:57 +02:00
|
|
|
INF OvmfPkg/PlatformDxe/Platform.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# USB Support
|
|
|
|
#
|
|
|
|
INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
|
2017-09-11 17:27:31 +02:00
|
|
|
INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
2016-07-12 10:59:57 +02:00
|
|
|
|
2020-02-26 20:05:12 +01:00
|
|
|
#
|
|
|
|
# TPM2 support
|
|
|
|
#
|
|
|
|
!if $(TPM2_ENABLE) == TRUE
|
|
|
|
INF SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
|
2020-02-26 20:05:13 +01:00
|
|
|
!if $(TPM2_CONFIG_ENABLE) == TRUE
|
|
|
|
INF SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
|
|
|
|
!endif
|
2020-02-26 20:05:12 +01:00
|
|
|
!endif
|
|
|
|
|
2016-07-12 10:59:57 +02:00
|
|
|
#
|
|
|
|
# TianoCore logo (splash screen)
|
|
|
|
#
|
2016-09-26 08:49:40 +02:00
|
|
|
INF MdeModulePkg/Logo/LogoDxe.inf
|
2016-08-19 08:55:55 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Ramdisk support
|
|
|
|
#
|
|
|
|
INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
|