## @file
# PCI Library that layers on top of the SMM PCI Root Bridge I/O Protocol.
#
# This library produces the APIs from the PCI Library and implements these APIs
#  by calling into the PCI Root Bridge I/O Protocol. The PCI Root Bridge I/O Protocol is
#  typically produced by a chipset specific DXE driver.
#  This library binds to the first PCI Root Bridge I/O Protocol in the platform. As a result,
#  it should only be used on platforms that contain a single PCI root bridge.
#
# Copyright (c) 2009 - 2010, Intel Corporation.
#
#  All rights reserved. This program and the accompanying materials
#  are licensed and made available under the terms and conditions of the BSD License
#  which accompanies this distribution. The full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.php
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
#
#

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = SmmPciLibPciRootBridgeIo
  FILE_GUID                      = F6994CBA-2351-4ebc-A2DA-20BAC2FE2CF3
  MODULE_TYPE                    = DXE_SMM_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = PciLib|DXE_SMM_DRIVER SMM_CORE
  PI_SPECIFICATION_VERSION       = 0x0001000A
  CONSTRUCTOR                    = PciLibConstructor

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  PciLib.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  BaseLib
  SmmServicesTableLib
  DebugLib

[Protocols]
  gEfiSmmPciRootBridgeIoProtocolGuid               ## CONSUMES
  
[Depex]
  gEfiSmmPciRootBridgeIoProtocolGuid
