## @file
# Component description file for Cpu Io SMM Io Library.
#
# I/O Library implementation that uses the CPU I/O Protocol for I/O
#  and MMIO operations.
# 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                      = SmmIoLibSmmCpuIo2
  FILE_GUID                      = DEEEA15E-4A77-4513-BA75-71D26FEF78A1
  MODULE_TYPE                    = DXE_SMM_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = IoLib|DXE_SMM_DRIVER SMM_CORE
  PI_SPECIFICATION_VERSION       = 0x0001000A

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  IoLibMmioBuffer.c
  SmmCpuIoLibInternal.h
  IoHighLevel.c
  IoLib.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  BaseLib
  DebugLib
  SmmServicesTableLib

[Protocols]
  gEfiSmmCpuIo2ProtocolGuid                         ## CONSUMES

[Depex]
  gEfiSmmCpuIo2ProtocolGuid
