## @file
# PCI Library that layers on top of the PCI CFG2 PPI.
#
# This library produces the APIs from the PCI Library and implements
#  these APIs by calling into the EFI_PEI_PCI CFG2 PPI. One or more EFI_PEI_PCI CFG2
#  PPIs are typically produced by a chipset specific PEIM. This library only uses
#  the first PPI found, so this library instance should only be used platforms
#  with a single PCI segment.
#
# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = PeiPciLibPciCfg2
  MODULE_UNI_FILE                = PeiPciLibPciCfg2.uni
  FILE_GUID                      = FA3AD693-D58A-4619-960B-8EE85C914870
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = PciLib|PEIM SEC PEI_CORE

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC (EBC is for build only)
#

[Sources]
  PciLib.c


[Packages]
  MdePkg/MdePkg.dec


[LibraryClasses]
  PeiServicesTablePointerLib
  BaseLib
  DebugLib
  PeiServicesLib

[Ppis]
  gEfiPciCfg2PpiGuid                            ## CONSUMES

[Depex.common.PEIM]
  gEfiPciCfg2PpiGuid

