## @file
# Instance of PEI Services Table Pointer Library using IDT for the table pointer.
#
# PEI Services Table Pointer Library implementation that retrieves a pointer to the PEI
# Services Table from the IDT on IA-32 and x64.
#
# Copyright (c) 2006 - 2014, Intel Corporation. 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                      = PeiServicesTablePointerLibIdt
  MODULE_UNI_FILE                = PeiServicesTablePointerLibIdt.uni
  FILE_GUID                      = DED3F743-CE2C-4ba6-92A2-FFCE2A6D72D9
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = PeiServicesTablePointerLib|PEIM PEI_CORE SEC


#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Packages]
  MdePkg/MdePkg.dec

[Sources]
  PeiServicesTablePointer.c


[LibraryClasses]
  DebugLib
  BaseLib
  BaseMemoryLib
