#/** @file
# Instance of PCI Express Library using the 256 MB PCI Express MMIO window that 
# is safe for runtime use.
#
# PCI Express Library that uses the 256 MB PCI Express MMIO window to perform
#  PCI Configuration cycles. Layers on top of an I/O Library instance.  A table of 
#  PCI devices that are registered for for runtime access is maintained so the 
#  proper virtual address is used to perform the PCI Express Configuration cycle.
#
# Copyright (c) 2007 - 2008, 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                      = DxeRuntimePciExpressLib
  FILE_GUID                      = 54DCBCE5-92AD-41f5-AAAF-1170F16DA6A8
  MODULE_TYPE                    = DXE_RUNTIME_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = PciExpressLib|DXE_RUNTIME_DRIVER 
  CONSTRUCTOR                    = DxeRuntimePciExpressLibConstructor
  DESTRUCTOR                     = DxeRuntimePciExpressLibDestructor

#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources.common]
  PciExpressLib.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  BaseLib
  IoLib
  DebugLib
  PcdLib
  MemoryAllocationLib
  UefiBootServicesTableLib
  DxeServicesTableLib
  UefiRuntimeLib

[Pcd.common]
  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress

