2019-08-13 13:30:46 +02:00
|
|
|
## @file
|
|
|
|
# EFI/Framework Open Virtual Machine Firmware (OVMF) platform
|
|
|
|
#
|
2023-03-01 07:09:50 +01:00
|
|
|
# Copyright (c) 2006 - 2023, Intel Corporation. All rights reserved.<BR>
|
2019-08-13 13:30:46 +02:00
|
|
|
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
|
|
|
# Copyright (c) 2019, Citrix Systems, Inc.
|
2020-11-09 07:45:14 +01:00
|
|
|
# Copyright (c) Microsoft Corporation.
|
2019-08-13 13:30:46 +02:00
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
#
|
|
|
|
##
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# Defines Section - statements that will be processed to create a Makefile.
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
[Defines]
|
|
|
|
PLATFORM_NAME = Ovmf
|
|
|
|
PLATFORM_GUID = e3aa4fbe-9459-482d-bd40-d3f3b5f89d6e
|
|
|
|
PLATFORM_VERSION = 0.1
|
|
|
|
DSC_SPECIFICATION = 0x00010005
|
|
|
|
OUTPUT_DIRECTORY = Build/OvmfXen
|
|
|
|
SUPPORTED_ARCHITECTURES = X64
|
|
|
|
BUILD_TARGETS = NOOPT|DEBUG|RELEASE
|
|
|
|
SKUID_IDENTIFIER = DEFAULT
|
|
|
|
FLASH_DEFINITION = OvmfPkg/OvmfXen.fdf
|
|
|
|
|
|
|
|
#
|
|
|
|
# Defines for default states. These can be changed on the command line.
|
|
|
|
# -D FLAG=VALUE
|
|
|
|
#
|
2019-09-20 20:45:07 +02:00
|
|
|
DEFINE SOURCE_DEBUG_ENABLE = FALSE
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Network definition
|
|
|
|
#
|
|
|
|
DEFINE NETWORK_TLS_ENABLE = FALSE
|
|
|
|
DEFINE NETWORK_IP6_ENABLE = FALSE
|
|
|
|
DEFINE NETWORK_HTTP_BOOT_ENABLE = FALSE
|
|
|
|
DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
|
2020-11-12 06:55:55 +01:00
|
|
|
DEFINE NETWORK_ISCSI_ENABLE = TRUE
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
!include NetworkPkg/NetworkDefines.dsc.inc
|
|
|
|
|
|
|
|
#
|
|
|
|
# Flash size selection. Setting FD_SIZE_IN_KB on the command line directly to
|
|
|
|
# one of the supported values, in place of any of the convenience macros, is
|
|
|
|
# permitted.
|
|
|
|
#
|
|
|
|
!ifdef $(FD_SIZE_1MB)
|
|
|
|
DEFINE FD_SIZE_IN_KB = 1024
|
|
|
|
!else
|
|
|
|
!ifdef $(FD_SIZE_2MB)
|
|
|
|
DEFINE FD_SIZE_IN_KB = 2048
|
|
|
|
!else
|
|
|
|
!ifdef $(FD_SIZE_4MB)
|
|
|
|
DEFINE FD_SIZE_IN_KB = 4096
|
|
|
|
!else
|
|
|
|
DEFINE FD_SIZE_IN_KB = 2048
|
|
|
|
!endif
|
|
|
|
!endif
|
|
|
|
!endif
|
|
|
|
|
2023-04-14 10:33:22 +02:00
|
|
|
!include OvmfPkg/Include/Dsc/OvmfPkg.dsc.inc
|
|
|
|
|
2019-08-13 13:30:46 +02:00
|
|
|
[BuildOptions]
|
|
|
|
GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
|
|
|
|
INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
|
|
|
|
MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
|
|
|
|
!if $(TOOL_CHAIN_TAG) != "XCODE5"
|
|
|
|
GCC:*_*_*_CC_FLAGS = -mno-mmx -mno-sse
|
|
|
|
!endif
|
2019-09-20 20:45:07 +02:00
|
|
|
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
2019-08-13 13:30:46 +02:00
|
|
|
MSFT:*_*_X64_GENFW_FLAGS = --keepexceptiontable
|
|
|
|
GCC:*_*_X64_GENFW_FLAGS = --keepexceptiontable
|
|
|
|
INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable
|
|
|
|
!endif
|
2021-03-24 12:58:19 +01:00
|
|
|
RELEASE_*_*_GENFW_FLAGS = --zero
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Disable deprecated APIs.
|
|
|
|
#
|
|
|
|
MSFT:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
|
|
|
|
INTEL:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES
|
|
|
|
GCC:*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
|
|
|
|
|
2020-11-12 06:55:55 +01:00
|
|
|
!include NetworkPkg/NetworkBuildOptions.dsc.inc
|
|
|
|
|
2019-08-13 13:30:46 +02:00
|
|
|
[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
|
|
|
|
GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
|
2020-03-29 15:21:58 +02:00
|
|
|
XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
|
|
|
|
XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
|
|
|
|
CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
# Force PE/COFF sections to be aligned at 4KB boundaries to support page level
|
|
|
|
# protection of DXE_SMM_DRIVER/SMM_CORE modules
|
|
|
|
[BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]
|
|
|
|
GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
|
2020-03-29 15:21:58 +02:00
|
|
|
XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
|
|
|
|
XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
|
|
|
|
CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# SKU Identification section - list of all SKU IDs supported by this Platform.
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
[SkuIds]
|
|
|
|
0|DEFAULT
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# Library Class section - list of all Library Classes needed by this Platform.
|
|
|
|
#
|
|
|
|
################################################################################
|
2021-03-12 06:28:57 +01:00
|
|
|
|
|
|
|
!include MdePkg/MdeLibs.dsc.inc
|
|
|
|
|
2019-08-13 13:30:46 +02:00
|
|
|
[LibraryClasses]
|
|
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
2019-08-13 13:30:53 +02:00
|
|
|
TimerLib|MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf
|
2020-04-17 17:37:50 +02:00
|
|
|
ResetSystemLib|OvmfPkg/Library/ResetSystemLib/BaseResetSystemLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
|
|
|
BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
|
|
|
|
BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
|
|
|
|
SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
|
|
|
|
BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
|
|
|
|
SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
|
|
|
|
CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
|
|
|
|
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
|
2024-07-18 10:30:45 +02:00
|
|
|
PeCoffLib2|MdePkg/Library/BasePeCoffLib2/BasePeCoffLib2.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
|
|
|
|
UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
|
|
|
|
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
|
|
|
|
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
|
|
|
SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
|
|
|
|
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
|
|
|
|
BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
|
|
|
|
FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
|
|
|
|
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
|
|
|
|
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
|
|
|
|
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
|
|
|
|
PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
|
|
|
|
PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
|
|
|
|
PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
|
|
|
|
PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
|
|
|
|
PciCapLib|OvmfPkg/Library/BasePciCapLib/BasePciCapLib.inf
|
|
|
|
PciCapPciSegmentLib|OvmfPkg/Library/BasePciCapPciSegmentLib/BasePciCapPciSegmentLib.inf
|
|
|
|
PciCapPciIoLib|OvmfPkg/Library/UefiPciCapPciIoLib/UefiPciCapPciIoLib.inf
|
2022-04-19 02:26:26 +02:00
|
|
|
CcProbeLib|MdePkg/Library/CcProbeLibNull/CcProbeLibNull.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicSev.inf
|
|
|
|
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
|
|
|
|
SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
|
|
|
|
MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
|
2021-04-01 15:47:29 +02:00
|
|
|
MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf
|
2023-05-10 07:46:15 +02:00
|
|
|
CpuPageTableLib|UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
|
|
|
|
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
|
|
|
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
|
|
|
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
|
|
|
|
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
|
|
|
|
DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
|
|
|
|
NvVarsFileLib|OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf
|
|
|
|
FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
|
|
|
|
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
|
|
|
|
UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
|
|
|
|
SerializeVariablesLib|OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.inf
|
|
|
|
QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf
|
2020-03-05 22:21:15 +01:00
|
|
|
QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf
|
2021-01-07 19:48:16 +01:00
|
|
|
MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptSevLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf
|
|
|
|
CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
|
|
|
|
FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
|
2021-09-22 14:49:05 +02:00
|
|
|
MemEncryptTdxLib|OvmfPkg/Library/BaseMemEncryptTdxLib/BaseMemEncryptTdxLib.inf
|
Ovmf/HardwareInfoLib: Create Pei lib to parse directly from fw-cfg
Define the HardwareInfoLib API and create the PeiHardwareInfoLib
which implements it, specifically for Pei usage, supporting
only static accesses to parse data directly from a fw-cfg file.
All list-like APIs are implemented as unsupported and only a
fw-cfg wrapper to read hardware info elements is provided.
The Hardware Info library is intended to describe non-discoverable
hardware information and share that from the host to the guest in Ovmf
platforms. The QEMU fw-cfg extension for this library provides a first
variation to parse hardware info by reading it directly from a fw-cfg
file. This library offers a wrapper function to the plain
QmeuFwCfgReadBytes which, specifically, parses header-data pairs out
of the binary values in the file. For this purpose, the approach is
incremental, reading the file block by block and outputting the values
only for a specific known hardware type (e.g. PCI host bridges). One
element is returned in each call until the end of the file is reached.
Considering fw-cfg as the first means to transport hardware info from
the host to the guest, this wrapping library offers the possibility
to statically, and in steps, read a specific type of hardware info
elements out of the file. This method reads one hardware element of a
specific type at a time, without the need to pre-allocate memory and
read the whole file or dynamically allocate memory for each new
element found.
As a usage example, the static approach followed by this library
enables early UEFI stages to use and read hardware information
supplied by the host. For instance, in early times of the PEI stage,
hardware information can be parsed out from a fw-cfg file prescinding
from memory services, that may not yet be available, and avoiding
dynamic memory allocations.
Cc: Alexander Graf <graf@amazon.de>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Nicolas Ojeda Leon <ncoleon@amazon.com>
2022-01-19 10:49:15 +01:00
|
|
|
PeiHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/PeiHardwareInfoLib.inf
|
Ovmf/HardwareInfoLib: Add Dxe lib to dynamically parse heterogenous data
Following the Hardware Info library, create the DxeHardwareInfoLib
which implements the whole API capable of parsing heterogeneous hardware
information. The list-like API grants callers a flexible and common
pattern to retrieve the data. Moreover, the initial source is a BLOB
which generalizes the host-to-guest transmission mechanism.
The Hardware Info library main objective is to provide a way to
describe non-discoverable hardware so that the host can share the
available resources with the guest in Ovmf platforms. This change
features and embraces the main idea behind the library by providing
an API that parses a BLOB into a linked list to retrieve hardware
data from any source. Additionally, list-like APIs are provided so
that the hardware info list can be traversed conveniently.
Similarly, the capability is provided to filter results by specific
hardware types. However, heterogeneous elements can be added to the
list, increasing the flexibility. This way, a single source, for
example a fw-cfg file, can be used to describe several instances of
multiple types of hardware.
This part of the Hardware Info library makes use of dynamic memory
and is intended for stages in which memory services are available.
A motivation example is the PciHostBridgeLib. This library, part
of the PCI driver populates the list of PCI root bridges during DXE
stage for future steps to discover the resources under them. The
hardware info library can be used to obtain the detailed description
of available host bridges, for instance in the form of a fw-cfg file,
and parse that information into a dynmaic list that allows, first to
verify consistency of the data, and second discover the resources
availabe for each root bridge.
Cc: Alexander Graf <graf@amazon.de>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Nicolas Ojeda Leon <ncoleon@amazon.com>
2022-01-19 15:12:30 +01:00
|
|
|
DxeHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/DxeHardwareInfoLib.inf
|
2023-11-03 16:29:42 +01:00
|
|
|
ImagePropertiesRecordLib|MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
|
2019-09-20 20:45:07 +02:00
|
|
|
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
2024-07-18 10:30:45 +02:00
|
|
|
UefiImageExtraActionLib|SourceLevelDebugPkg/Library/UefiImageExtraActionLibDebug/UefiImageExtraActionLibDebug.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
|
|
|
|
!else
|
2024-07-18 10:30:45 +02:00
|
|
|
UefiImageExtraActionLib|MdePkg/Library/BaseUefiImageExtraActionLibNull/BaseUefiImageExtraActionLibNull.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
|
|
|
|
!endif
|
|
|
|
|
|
|
|
LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
|
|
|
|
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
|
|
|
|
|
|
|
|
IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
|
|
|
!if $(NETWORK_TLS_ENABLE) == TRUE
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
|
|
|
!else
|
|
|
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
|
|
!endif
|
2023-08-11 16:33:02 +02:00
|
|
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
|
|
|
|
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
|
2020-11-09 07:45:14 +01:00
|
|
|
VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
|
|
|
|
VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
|
2022-04-08 22:05:38 +02:00
|
|
|
VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Network libraries
|
|
|
|
#
|
|
|
|
!include NetworkPkg/NetworkLibs.dsc.inc
|
|
|
|
|
|
|
|
!if $(NETWORK_TLS_ENABLE) == TRUE
|
|
|
|
TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
|
|
|
|
!endif
|
|
|
|
|
|
|
|
ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
|
|
|
|
ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
|
|
|
|
S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
|
|
|
|
SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
|
|
|
|
OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
|
|
|
|
XenHypercallLib|OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf
|
2019-08-13 13:30:57 +02:00
|
|
|
XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
|
2019-08-13 13:31:17 +02:00
|
|
|
XenIoMmioLib|OvmfPkg/Library/XenIoMmioLib/XenIoMmioLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeTcg2PhysicalPresenceLib.inf
|
|
|
|
TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
|
2019-08-13 13:31:19 +02:00
|
|
|
RealTimeClockLib|OvmfPkg/Library/XenRealTimeClockLib/XenRealTimeClockLib.inf
|
2021-01-08 15:08:53 +01:00
|
|
|
TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
|
2020-04-23 11:53:58 +02:00
|
|
|
!ifdef $(DEBUG_ON_HYPERVISOR_CONSOLE)
|
|
|
|
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPortNocheck.inf
|
|
|
|
!else
|
2020-04-23 11:53:54 +02:00
|
|
|
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
|
2020-04-23 11:53:58 +02:00
|
|
|
!endif
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
[LibraryClasses.common]
|
2024-03-08 16:31:54 +01:00
|
|
|
AmdSvsmLib|UefiCpuPkg/Library/AmdSvsmLibNull/AmdSvsmLibNull.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
2022-11-07 07:30:26 +01:00
|
|
|
CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
|
2021-07-16 10:04:11 +02:00
|
|
|
TdxLib|MdePkg/Library/TdxLib/TdxLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
[LibraryClasses.common.SEC]
|
|
|
|
QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf
|
2020-04-23 11:53:58 +02:00
|
|
|
!ifndef $(DEBUG_ON_HYPERVISOR_CONSOLE)
|
2019-08-13 13:30:46 +02:00
|
|
|
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
|
2020-04-23 11:53:58 +02:00
|
|
|
!endif
|
2019-08-13 13:30:46 +02:00
|
|
|
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
|
|
|
|
ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
|
2019-09-20 20:45:07 +02:00
|
|
|
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
2019-08-13 13:30:46 +02:00
|
|
|
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
|
|
|
|
!endif
|
|
|
|
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
|
|
|
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
|
|
|
|
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
|
|
|
|
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
|
|
|
|
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
|
2021-12-10 20:05:52 +01:00
|
|
|
MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/SecMemEncryptSevLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
[LibraryClasses.common.PEI_CORE]
|
|
|
|
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
|
|
|
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
|
|
|
|
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
|
|
|
|
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
|
|
|
|
PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
|
|
|
|
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
|
|
|
|
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
|
2024-07-18 10:30:45 +02:00
|
|
|
PeCoffLib2|MdePkg/Library/BasePeCoffLib2/BasePeCoffLib2.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
[LibraryClasses.common.PEIM]
|
|
|
|
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
|
|
|
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
|
|
|
|
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
|
|
|
|
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
|
|
|
|
PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
|
|
|
|
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
|
|
|
|
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
|
2024-07-18 10:30:45 +02:00
|
|
|
PeCoffLib2|MdePkg/Library/BasePeCoffLib2/BasePeCoffLib2.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
ResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
|
|
|
|
ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
|
2019-09-20 20:45:07 +02:00
|
|
|
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
2019-08-13 13:30:46 +02:00
|
|
|
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
|
|
|
|
!endif
|
|
|
|
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf
|
|
|
|
MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf
|
|
|
|
QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/PeiQemuFwCfgS3LibFwCfg.inf
|
|
|
|
PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
|
|
|
|
QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgPeiLib.inf
|
2021-01-07 19:48:16 +01:00
|
|
|
MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
[LibraryClasses.common.DXE_CORE]
|
|
|
|
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
|
|
|
|
DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
|
|
|
|
MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
|
|
|
|
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
|
|
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
|
2019-09-20 20:45:07 +02:00
|
|
|
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
2019-08-13 13:30:46 +02:00
|
|
|
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
|
|
|
|
!endif
|
|
|
|
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
|
|
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
|
|
|
|
|
|
[LibraryClasses.common.DXE_RUNTIME_DRIVER]
|
|
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
OvmfPkg/ResetSystemLib: introduce the DxeResetSystemLib instance
The BaseResetSystemLib instance is not suitable for OS runtime, because
its ResetShutdown() implementation calls PciRead16 (OVMF_HOSTBRIDGE_DID).
On q35, this boils down to a memory-mapped config space access -- but we
never ask the OS to map MMCONFIG for runtime.
There are at least three alternatives to approach this:
(1) Investigate "MdePkg/Library/DxeRuntimePciExpressLib", which offers
some kind of runtime mapping for MMCONFIG.
(2) Consume PciCf8Lib directly, rather than PciLib, in ResetSystemLib.
Then we'll read OVMF_HOSTBRIDGE_DID from the config space with IO port
accesses on q35 too, not just on i440fx. IO ports don't depend on page
tables.
(3) In the lib constructor, cache "mAcpiPmBaseAddress" based on
"PcdOvmfHostBridgePciDevId" (which is set by PlatformPei). Then the
host bridge type will be known at runtime without PCI config space
accesses.
This patch follows approach (3), in order to mirror AcpiTimerLib.
Notes:
* This patch is best viewed with "git show --find-copies-harder -C43".
* PCDs are not usable in the DXE_CORE, as the PCD PPI is gone, and the PCD
protocol is not available yet. (The DXE_CORE does consume ResetSystemLib
in practice, when OVMF is built with -D SOURCE_DEBUG_ENABLE.)
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Julien Grall <julien@xen.org>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Rebecca Cran <rebecca@bsdio.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2675
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20200417153751.7110-7-lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
[lersek@redhat.com: move third Note (with repro info) to BZ comment]
2020-04-17 17:37:51 +02:00
|
|
|
ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
|
|
DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
|
|
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
|
|
ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
|
|
|
|
UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
|
|
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
|
|
|
|
PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
|
|
QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
|
2020-11-09 07:45:14 +01:00
|
|
|
VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
[LibraryClasses.common.UEFI_DRIVER]
|
|
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
OvmfPkg/ResetSystemLib: introduce the DxeResetSystemLib instance
The BaseResetSystemLib instance is not suitable for OS runtime, because
its ResetShutdown() implementation calls PciRead16 (OVMF_HOSTBRIDGE_DID).
On q35, this boils down to a memory-mapped config space access -- but we
never ask the OS to map MMCONFIG for runtime.
There are at least three alternatives to approach this:
(1) Investigate "MdePkg/Library/DxeRuntimePciExpressLib", which offers
some kind of runtime mapping for MMCONFIG.
(2) Consume PciCf8Lib directly, rather than PciLib, in ResetSystemLib.
Then we'll read OVMF_HOSTBRIDGE_DID from the config space with IO port
accesses on q35 too, not just on i440fx. IO ports don't depend on page
tables.
(3) In the lib constructor, cache "mAcpiPmBaseAddress" based on
"PcdOvmfHostBridgePciDevId" (which is set by PlatformPei). Then the
host bridge type will be known at runtime without PCI config space
accesses.
This patch follows approach (3), in order to mirror AcpiTimerLib.
Notes:
* This patch is best viewed with "git show --find-copies-harder -C43".
* PCDs are not usable in the DXE_CORE, as the PCD PPI is gone, and the PCD
protocol is not available yet. (The DXE_CORE does consume ResetSystemLib
in practice, when OVMF is built with -D SOURCE_DEBUG_ENABLE.)
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Julien Grall <julien@xen.org>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Rebecca Cran <rebecca@bsdio.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2675
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20200417153751.7110-7-lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
[lersek@redhat.com: move third Note (with repro info) to BZ comment]
2020-04-17 17:37:51 +02:00
|
|
|
ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
|
|
DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
|
|
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
|
|
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
|
|
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
|
|
|
|
PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
|
|
|
|
|
|
[LibraryClasses.common.DXE_DRIVER]
|
2023-06-06 11:21:37 +02:00
|
|
|
AcpiPlatformLib|OvmfPkg/Library/AcpiPlatformLib/DxeAcpiPlatformLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
OvmfPkg/ResetSystemLib: introduce the DxeResetSystemLib instance
The BaseResetSystemLib instance is not suitable for OS runtime, because
its ResetShutdown() implementation calls PciRead16 (OVMF_HOSTBRIDGE_DID).
On q35, this boils down to a memory-mapped config space access -- but we
never ask the OS to map MMCONFIG for runtime.
There are at least three alternatives to approach this:
(1) Investigate "MdePkg/Library/DxeRuntimePciExpressLib", which offers
some kind of runtime mapping for MMCONFIG.
(2) Consume PciCf8Lib directly, rather than PciLib, in ResetSystemLib.
Then we'll read OVMF_HOSTBRIDGE_DID from the config space with IO port
accesses on q35 too, not just on i440fx. IO ports don't depend on page
tables.
(3) In the lib constructor, cache "mAcpiPmBaseAddress" based on
"PcdOvmfHostBridgePciDevId" (which is set by PlatformPei). Then the
host bridge type will be known at runtime without PCI config space
accesses.
This patch follows approach (3), in order to mirror AcpiTimerLib.
Notes:
* This patch is best viewed with "git show --find-copies-harder -C43".
* PCDs are not usable in the DXE_CORE, as the PCD PPI is gone, and the PCD
protocol is not available yet. (The DXE_CORE does consume ResetSystemLib
in practice, when OVMF is built with -D SOURCE_DEBUG_ENABLE.)
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Julien Grall <julien@xen.org>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Rebecca Cran <rebecca@bsdio.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2675
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20200417153751.7110-7-lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
[lersek@redhat.com: move third Note (with repro info) to BZ comment]
2020-04-17 17:37:51 +02:00
|
|
|
ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
|
|
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
|
|
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
|
|
|
|
PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
|
|
|
|
PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf
|
|
|
|
QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
|
|
|
|
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
|
|
|
|
LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxDxeLib.inf
|
2019-09-20 20:45:07 +02:00
|
|
|
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
2019-08-13 13:30:46 +02:00
|
|
|
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
|
|
|
|
!endif
|
|
|
|
PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
|
|
MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
|
2022-12-09 11:20:27 +01:00
|
|
|
NestedInterruptTplLib|OvmfPkg/Library/NestedInterruptTplLib/NestedInterruptTplLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
|
|
|
|
|
|
|
|
[LibraryClasses.common.UEFI_APPLICATION]
|
|
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
OvmfPkg/ResetSystemLib: introduce the DxeResetSystemLib instance
The BaseResetSystemLib instance is not suitable for OS runtime, because
its ResetShutdown() implementation calls PciRead16 (OVMF_HOSTBRIDGE_DID).
On q35, this boils down to a memory-mapped config space access -- but we
never ask the OS to map MMCONFIG for runtime.
There are at least three alternatives to approach this:
(1) Investigate "MdePkg/Library/DxeRuntimePciExpressLib", which offers
some kind of runtime mapping for MMCONFIG.
(2) Consume PciCf8Lib directly, rather than PciLib, in ResetSystemLib.
Then we'll read OVMF_HOSTBRIDGE_DID from the config space with IO port
accesses on q35 too, not just on i440fx. IO ports don't depend on page
tables.
(3) In the lib constructor, cache "mAcpiPmBaseAddress" based on
"PcdOvmfHostBridgePciDevId" (which is set by PlatformPei). Then the
host bridge type will be known at runtime without PCI config space
accesses.
This patch follows approach (3), in order to mirror AcpiTimerLib.
Notes:
* This patch is best viewed with "git show --find-copies-harder -C43".
* PCDs are not usable in the DXE_CORE, as the PCD PPI is gone, and the PCD
protocol is not available yet. (The DXE_CORE does consume ResetSystemLib
in practice, when OVMF is built with -D SOURCE_DEBUG_ENABLE.)
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Julien Grall <julien@xen.org>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Rebecca Cran <rebecca@bsdio.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2675
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20200417153751.7110-7-lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
[lersek@redhat.com: move third Note (with repro info) to BZ comment]
2020-04-17 17:37:51 +02:00
|
|
|
ResetSystemLib|OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
|
|
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
|
|
PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# Pcd Section - list of all EDK II PCD Entries defined by this Platform.
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
[PcdsFeatureFlag]
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
|
|
|
|
|
|
|
|
[PcdsFixedAtBuild]
|
2021-05-26 22:14:22 +02:00
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE
|
2019-08-13 13:30:46 +02:00
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10
|
OvmfPkg: disable list length checks in NOOPT and DEBUG builds
In NOOPT and DEBUG builds, if "PcdMaximumLinkedListLength" is nonzero,
then several LIST_ENTRY *node* APIs in BaseLib compare the *full* list
length against the PCD.
This turns the time complexity of node-level APIs from constant to linear,
and that of full-list manipulations from linear to quadratic.
As an example, consider the EFI_SHELL_FILE_INFO list, which is a data
structure that's widely used in the UEFI shell. I randomly extracted 5000
files from "/usr/include" on my laptop, spanning 1095 subdirectories out
of 1538, and then ran "DIR -R" in the UEFI shell on this tree. These are
the wall-clock times:
PcdMaximumLinkedListLength PcdMaximumLinkedListLength
=1,000,000 =0
-------------------------- ---------------------------
FAT 4 min 31 s 18 s
virtio-fs 5 min 13 s 1 min 33 s
Checking list lengths against an arbitrary maximum (default: 1,000,000)
seems useless even in NOOPT and DEBUG builds, while the cost is
significant; so set the PCD to 0.
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Julien Grall <julien@xen.org>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Peter Grehan <grehan@freebsd.org>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Rebecca Cran <rebecca@bsdio.com>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3152
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Message-Id: <20210113085453.10168-10-lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2021-01-13 09:54:52 +01:00
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|0
|
2019-08-13 13:30:46 +02:00
|
|
|
!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
|
|
|
|
!if $(NETWORK_TLS_ENABLE) == FALSE
|
|
|
|
# match PcdFlashNvStorageVariableSize purely for convenience
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0xe000
|
|
|
|
!endif
|
|
|
|
!endif
|
|
|
|
!if $(FD_SIZE_IN_KB) == 4096
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x8400
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x8400
|
|
|
|
!if $(NETWORK_TLS_ENABLE) == FALSE
|
|
|
|
# match PcdFlashNvStorageVariableSize purely for convenience
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x40000
|
|
|
|
!endif
|
|
|
|
!endif
|
|
|
|
!if $(NETWORK_TLS_ENABLE) == TRUE
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x80000
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize|0x40000
|
|
|
|
!endif
|
|
|
|
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
|
2020-06-10 04:56:34 +02:00
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|TRUE
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
|
|
|
|
|
|
|
|
# DEBUG_INIT 0x00000001 // Initialization
|
|
|
|
# DEBUG_WARN 0x00000002 // Warnings
|
|
|
|
# DEBUG_LOAD 0x00000004 // Load events
|
|
|
|
# DEBUG_FS 0x00000008 // EFI File system
|
|
|
|
# DEBUG_POOL 0x00000010 // Alloc & Free (pool)
|
|
|
|
# DEBUG_PAGE 0x00000020 // Alloc & Free (page)
|
|
|
|
# DEBUG_INFO 0x00000040 // Informational debug messages
|
|
|
|
# DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
|
|
|
|
# DEBUG_VARIABLE 0x00000100 // Variable
|
|
|
|
# DEBUG_BM 0x00000400 // Boot Manager
|
|
|
|
# DEBUG_BLKIO 0x00001000 // BlkIo Driver
|
|
|
|
# DEBUG_NET 0x00004000 // SNP Driver
|
|
|
|
# DEBUG_UNDI 0x00010000 // UNDI Driver
|
|
|
|
# DEBUG_LOADFILE 0x00020000 // LoadFile
|
|
|
|
# DEBUG_EVENT 0x00080000 // Event messages
|
|
|
|
# DEBUG_GCD 0x00100000 // Global Coherency Database changes
|
|
|
|
# DEBUG_CACHE 0x00200000 // Memory range cachability changes
|
|
|
|
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
|
|
|
# // significantly impact boot performance
|
|
|
|
# DEBUG_ERROR 0x80000000 // Error
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
|
|
|
|
2019-09-20 20:45:07 +02:00
|
|
|
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
2019-08-13 13:30:46 +02:00
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
|
|
|
!else
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
|
|
|
|
!endif
|
|
|
|
|
|
|
|
# This PCD is used to set the base address of the PCI express hierarchy. It
|
|
|
|
# is only consulted when OVMF runs on Q35. In that case it is programmed into
|
|
|
|
# the PCIEXBAR register.
|
|
|
|
#
|
|
|
|
# On Q35 machine types that QEMU intends to support in the long term, QEMU
|
|
|
|
# never lets the RAM below 4 GB exceed 2816 MB.
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xB0000000
|
|
|
|
|
2019-09-20 20:45:07 +02:00
|
|
|
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
2019-08-13 13:30:46 +02:00
|
|
|
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
|
|
|
|
!endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Network Pcds
|
|
|
|
#
|
|
|
|
!include NetworkPkg/NetworkPcds.dsc.inc
|
|
|
|
|
2020-04-23 11:53:58 +02:00
|
|
|
!ifdef $(DEBUG_ON_HYPERVISOR_CONSOLE)
|
|
|
|
## Set Xen's debug IO port for PlatformDebugLibIoPort
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdDebugIoPort|0xe9
|
|
|
|
!endif
|
|
|
|
|
2019-08-13 13:30:46 +02:00
|
|
|
# Point to the MdeModulePkg/Application/UiApp/UiApp.inf
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
|
|
|
|
|
2021-01-13 04:42:15 +01:00
|
|
|
# We populate DXE IPL tables with 1G pages preferably on Xen
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE
|
|
|
|
|
2023-08-22 03:52:14 +02:00
|
|
|
#
|
|
|
|
# PcdFirstTimeWakeUpAPsBySipi determines whether to employ
|
|
|
|
# SIPI instead of the INIT-SIPI-SIPI sequence during APs
|
|
|
|
# initialization. Deactivate this parameter to preserve
|
|
|
|
# the original execution of INIT-SIPI-SIPI.
|
|
|
|
#
|
|
|
|
gUefiCpuPkgTokenSpaceGuid.PcdFirstTimeWakeUpAPsBySipi|FALSE
|
|
|
|
|
2019-08-13 13:30:46 +02:00
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
[PcdsDynamicDefault]
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
2021-12-09 12:28:01 +01:00
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
|
2019-08-13 13:30:46 +02:00
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
|
2022-01-21 14:00:53 +01:00
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|1280
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|800
|
2022-04-22 14:41:19 +02:00
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|0
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|0
|
2019-08-13 13:30:46 +02:00
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE
|
2022-01-29 17:26:14 +01:00
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdVideoResolutionSource|0
|
2019-08-13 13:30:46 +02:00
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdPciIoBase|0x0
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdPciIoSize|0x0
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x800000000
|
|
|
|
|
2021-04-12 15:30:03 +02:00
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000
|
2019-08-13 13:30:46 +02:00
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
|
|
|
|
|
|
|
|
# Set video resolution for text setup.
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
|
|
|
|
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
|
|
|
|
|
|
|
|
# Noexec settings for DXE.
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE
|
|
|
|
|
|
|
|
# Set memory encryption mask
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask|0x0
|
|
|
|
|
2021-12-08 13:54:26 +01:00
|
|
|
# Set Tdx shared bit mask
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0
|
|
|
|
|
2019-08-13 13:30:46 +02:00
|
|
|
gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# Components Section - list of all EDK II Modules needed by this Platform.
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
[Components]
|
2019-08-13 13:30:47 +02:00
|
|
|
OvmfPkg/XenResetVector/XenResetVector.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# SEC Phase modules
|
|
|
|
#
|
|
|
|
OvmfPkg/Sec/SecMain.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# PEI Phase modules
|
|
|
|
#
|
|
|
|
MdeModulePkg/Core/Pei/PeiMain.inf
|
|
|
|
MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
|
|
}
|
|
|
|
MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
|
|
}
|
|
|
|
MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
|
|
}
|
|
|
|
MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
|
|
|
|
|
2019-08-13 13:30:48 +02:00
|
|
|
OvmfPkg/XenPlatformPei/XenPlatformPei.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
|
|
|
|
UefiCpuPkg/CpuMpPei/CpuMpPei.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# DXE Phase modules
|
|
|
|
#
|
|
|
|
MdeModulePkg/Core/Dxe/DxeMain.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
|
|
|
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
|
|
}
|
|
|
|
|
|
|
|
MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
|
|
|
|
MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
|
|
|
|
MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
|
|
}
|
|
|
|
|
|
|
|
MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
|
|
|
|
|
|
|
MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
|
|
|
|
|
|
|
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
2021-10-25 04:20:31 +02:00
|
|
|
OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
|
|
|
UefiCpuPkg/CpuDxe/CpuDxe.inf
|
|
|
|
OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
|
|
|
|
MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
|
|
|
|
<LibraryClasses>
|
2021-05-26 22:14:34 +02:00
|
|
|
PciHostBridgeLib|OvmfPkg/Library/PciHostBridgeLibScan/PciHostBridgeLibScan.inf
|
2021-01-19 02:12:52 +01:00
|
|
|
PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
NULL|OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.inf
|
|
|
|
}
|
|
|
|
MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
|
|
}
|
|
|
|
MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
|
|
|
|
MdeModulePkg/Universal/Metronome/Metronome.inf
|
2019-08-13 13:31:19 +02:00
|
|
|
EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
|
OvmfPkg: unplug CsmSupportLib from BdsDxe
CsmSupportLib is effectively a hack. It produces the following protocols:
- Legacy Bios Platform,
- Legacy Interrupt,
- Legacy Region2.
(Note that the "OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.inf" file contains
an error where it claims that "Legacy Bios Platform" is "consumed" -- it
is not; the lib instance produces that protocol).
At the same time, the library instance consumes
gEfiLegacyBiosProtocolGuid.
This *seemingly* creates a circular dependency with LegacyBiosDxe, because
that driver has the exact opposite protocol usage patterns. The solution
is that LegacyBiosDxe has a DEPEX on the protocols produced by
CsmSupportLib, while CsmSupportLib consumes the Legacy Bios Protocol from
LegacyBiosDxe only in the member functions of the protocols it produces.
Therefore, once BdsDxe is dispatched, and the CsmSupportLib constructor
exposes those three protocols, LegacyBiosDxe can also be started by the
DXE dispatcher, and then the protocols from CsmSupportLib become
functional.
But the main reason why CsmSupportLib is a hack is that it should be a
normal platform DXE driver (called e.g. "CsmSupportDxe"), and not a NULL
class library that's randomly hooked into BdsDxe.
Given that we have removed LegacyBiosDxe earlier (so there is no DEPEX we
need to satisfy now, conceptually), unhook CsmSupportLib from BdsDxe.
--*--
Note that in the BhyveX64 platform, the pathname
"OvmfPkg/Bhyve/Csm/CsmSupportLib/CsmSupportLib.inf" is bogus, and has
always been, since commit 656419f922c0 ("Add BhyvePkg, to support the
bhyve hypervisor", 2020-07-31).
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Corvin Köhne <corvink@freebsd.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Rebecca Cran <rebecca@bsdio.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20231110235820.644381-22-lersek@redhat.com>
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Corvin Köhne <corvink@FreeBSD.org>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
2023-11-11 00:58:04 +01:00
|
|
|
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
MdeModulePkg/Logo/LogoDxe.inf
|
|
|
|
MdeModulePkg/Application/UiApp/UiApp.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
|
|
|
|
NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
|
|
|
|
NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
|
|
|
|
}
|
2021-09-06 16:02:42 +02:00
|
|
|
OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|OvmfPkg/Library/BlobVerifierLibNull/BlobVerifierLibNull.inf
|
|
|
|
}
|
2019-08-13 13:31:17 +02:00
|
|
|
OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf
|
|
|
|
OvmfPkg/XenBusDxe/XenBusDxe.inf
|
|
|
|
OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf
|
2019-08-13 13:31:15 +02:00
|
|
|
MdeModulePkg/Universal/SerialDxe/SerialDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
SerialPortLib|OvmfPkg/Library/XenConsoleSerialPortLib/XenConsoleSerialPortLib.inf
|
|
|
|
}
|
2019-08-13 13:30:46 +02:00
|
|
|
MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
|
|
|
|
MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
|
|
|
|
MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|
|
|
|
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
|
|
|
MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
|
|
|
|
MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
|
|
}
|
|
|
|
MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
|
|
|
MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
|
|
}
|
|
|
|
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
|
|
|
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
|
|
|
MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
|
|
|
|
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
|
|
|
FatPkg/EnhancedFatDxe/Fat.inf
|
|
|
|
MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
|
|
|
MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
|
|
|
|
MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
|
2023-06-01 19:27:39 +02:00
|
|
|
MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
|
|
|
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
|
|
|
MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
|
|
|
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
|
|
|
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
|
|
|
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
|
|
|
|
|
|
|
OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
|
|
|
OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# ISA Support
|
|
|
|
#
|
|
|
|
OvmfPkg/SioBusDxe/SioBusDxe.inf
|
|
|
|
MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
|
|
|
|
MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# SMBIOS Support
|
|
|
|
#
|
|
|
|
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
|
|
|
|
}
|
2021-05-26 22:14:44 +02:00
|
|
|
OvmfPkg/SmbiosPlatformDxe/XenSmbiosPlatformDxe.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# ACPI Support
|
|
|
|
#
|
|
|
|
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
|
2021-05-26 22:14:14 +02:00
|
|
|
OvmfPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf
|
2019-08-13 13:30:46 +02:00
|
|
|
MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
|
|
|
|
MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
|
|
|
|
MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
|
|
|
|
|
2024-05-09 07:56:24 +02:00
|
|
|
#
|
|
|
|
# Hash2 Protocol producer
|
|
|
|
#
|
|
|
|
SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.inf
|
|
|
|
|
2019-08-13 13:30:46 +02:00
|
|
|
#
|
|
|
|
# Network Support
|
|
|
|
#
|
|
|
|
!include NetworkPkg/NetworkComponents.dsc.inc
|
|
|
|
|
|
|
|
!if $(NETWORK_TLS_ENABLE) == TRUE
|
|
|
|
NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|OvmfPkg/Library/TlsAuthConfigLib/TlsAuthConfigLib.inf
|
|
|
|
}
|
|
|
|
!endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Usb Support
|
|
|
|
#
|
|
|
|
MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
|
|
|
|
MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
|
|
|
|
MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
|
|
|
|
MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
|
|
|
|
MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
|
|
|
|
MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
|
|
|
|
|
|
|
ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
|
|
|
|
<PcdsFixedAtBuild>
|
|
|
|
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
|
|
|
}
|
2020-07-22 22:54:34 +02:00
|
|
|
ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
|
|
|
|
<PcdsFixedAtBuild>
|
|
|
|
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
|
|
|
}
|
2023-10-30 21:31:11 +01:00
|
|
|
ShellPkg/DynamicCommand/VariablePolicyDynamicCommand/VariablePolicyDynamicCommand.inf {
|
|
|
|
<PcdsFixedAtBuild>
|
|
|
|
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
|
|
|
}
|
2020-02-26 20:43:41 +01:00
|
|
|
OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
|
|
|
|
<PcdsFixedAtBuild>
|
|
|
|
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
|
|
|
}
|
2019-08-13 13:30:46 +02:00
|
|
|
ShellPkg/Application/Shell/Shell.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
|
|
|
|
NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
|
|
|
|
NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
|
|
|
|
NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
|
|
|
|
NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
|
|
|
|
NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
|
|
|
|
NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
|
|
|
|
NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
|
|
|
|
!if $(NETWORK_IP6_ENABLE) == TRUE
|
|
|
|
NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
|
|
|
|
!endif
|
|
|
|
HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
|
|
|
|
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
|
|
|
BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
|
|
|
|
|
|
|
|
<PcdsFixedAtBuild>
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
|
|
|
|
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
|
|
|
|
}
|
|
|
|
|
|
|
|
OvmfPkg/PlatformDxe/Platform.inf
|
2021-12-09 04:27:41 +01:00
|
|
|
OvmfPkg/AmdSevDxe/AmdSevDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
|
|
|
|
}
|
2019-08-13 13:30:46 +02:00
|
|
|
OvmfPkg/IoMmuDxe/IoMmuDxe.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# Variable driver stack (non-SMM)
|
|
|
|
#
|
|
|
|
OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
|
|
|
|
OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
PlatformFvbLib|OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.inf
|
|
|
|
}
|
|
|
|
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
|
|
|
|
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
|
|
|
|
}
|