mirror of
https://github.com/acidanthera/audk.git
synced 2025-08-31 14:38:09 +02:00
In case PlatformBootManagerLib does not have PciLib dependency, we need to explicitly depend on UefiBootServicesTableLib. Otherwise UefiBootServicesTableLib may not be constructed before DxePciLibI440FxQ35, which uses a constructor-less PcdLib that directly accesses gBS. This can be viewed as a bug in the current implementation of BaseTools, namely GetModuleLibInstances. This function drops all constructor-less dependencies from the dependency resolution list to avoid dependency cycles, which at the same time causes issues like above. To properly fix the issue one should go over each library with constructors and for each its dependency without constructors add all the secondary dependencies that do have constructors. While doable, it may cause considerable performance issues and is thus not done in this patch. Signed-off-by: Vitaly Cheptsov <cheptsov@ispras.ru>
42 lines
1.2 KiB
INI
42 lines
1.2 KiB
INI
## @file
|
|
# An instance of the PCI Library that is based on both the PCI CF8 Library and
|
|
# the PCI Express Library.
|
|
#
|
|
# This PciLib instance caches the OVMF platform type (I440FX vs. Q35) in
|
|
# its entry point function, then delegates function calls to one of the
|
|
# PciCf8Lib or PciExpressLib "backends" as appropriate.
|
|
#
|
|
# Copyright (C) 2016, Red Hat, Inc.
|
|
#
|
|
# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = DxePciLibI440FxQ35
|
|
FILE_GUID = 5360bff6-3911-4495-ae3c-b02ff004b585
|
|
MODULE_TYPE = BASE
|
|
VERSION_STRING = 1.0
|
|
LIBRARY_CLASS = PciLib|DXE_DRIVER DXE_RUNTIME_DRIVER SMM_CORE DXE_SMM_DRIVER UEFI_DRIVER UEFI_APPLICATION
|
|
CONSTRUCTOR = InitializeConfigAccessMethod
|
|
|
|
# VALID_ARCHITECTURES = IA32 X64
|
|
|
|
[Sources]
|
|
PciLib.c
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
OvmfPkg/OvmfPkg.dec
|
|
|
|
[LibraryClasses]
|
|
PcdLib
|
|
PciCf8Lib
|
|
PciExpressLib
|
|
UefiBootServicesTableLib
|
|
|
|
[Pcd]
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId
|