## @file
#  Instance of I/O Library using compiler intrinsics.
#
#  I/O Library that uses compiler intrinsics to perform IN and OUT instructions
#  for IA-32 and x64.  On IPF, I/O port requests are translated into MMIO requests.
#  MMIO requests are forwarded directly to memory.  For EBC, I/O port requests
#  ASSERT().
#
#  Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
#  Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
#
#  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                      = BaseIoLibIntrinsic
  MODULE_UNI_FILE                = BaseIoLibIntrinsic.uni
  FILE_GUID                      = 926c9cd0-4bb8-479b-9ac4-8a2a23f85307
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = IoLib 


#
#  VALID_ARCHITECTURES           = IA32 X64 EBC IPF ARM AARCH64
#

[Sources]
  IoLibMmioBuffer.c
  BaseIoLibIntrinsicInternal.h
  IoHighLevel.c

[Sources.IA32]
  IoLibGcc.c    | GCC
  IoLibMsc.c    | MSFT
  IoLibIcc.c    | INTEL
  IoLib.c

[Sources.X64]
  IoLibGcc.c    | GCC
  IoLibMsc.c    | MSFT
  IoLibIcc.c    | INTEL
  IoLib.c

[Sources.EBC]
  IoLibEbc.c
  IoLib.c

[Sources.IPF]
  IoLibIpf.c

[Sources.ARM]
  IoLibArm.c

[Sources.AARCH64]
  IoLibArm.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  DebugLib
  BaseLib

[LibraryClasses.IPF]
  PcdLib

[Pcd.IPF]
  gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf  ## SOMETIMES_CONSUMES