## @file
#  Base Library implementation.
#
#  Copyright (c) 2007 - 2010, 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                      = BaseLib
  FILE_GUID                      = 27d67720-ea68-48ae-93da-a3a074c90e30
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = BaseLib 

#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC ARM
#

[Sources]
  SwapBytes32.c
  SwapBytes16.c
  LongJump.c
  SetJump.c
  RShiftU64.c
  MultU64x32.c
  LShiftU64.c
  DivU64x32Remainder.c
  DivU64x32.c
  BitField.c
  CpuDeadLoop.c
  Cpu.c
  String.c
  BaseLibInternals.h

[Sources.Ia32]
  Ia32/Wbinvd.c | MSFT 
  Ia32/WriteLdtr.c | MSFT 
  Ia32/WriteIdtr.c | MSFT 
  Ia32/WriteGdtr.c | MSFT 
  Ia32/WriteDr7.c | MSFT 
  Ia32/WriteDr6.c | MSFT 
  Ia32/WriteDr5.c | MSFT 
  Ia32/WriteDr4.c | MSFT 
  Ia32/WriteDr3.c | MSFT 
  Ia32/WriteDr2.c | MSFT 
  Ia32/WriteDr1.c | MSFT 
  Ia32/WriteDr0.c | MSFT 
  Ia32/WriteCr4.c | MSFT 
  Ia32/WriteCr3.c | MSFT 
  Ia32/WriteCr2.c | MSFT 
  Ia32/WriteCr0.c | MSFT 
  Ia32/WriteMsr64.c | MSFT 
  Ia32/SetJump.c | MSFT 
  Ia32/RShiftU64.c | MSFT 
  Ia32/ReadTsc.c | MSFT 
  Ia32/ReadLdtr.c | MSFT 
  Ia32/ReadIdtr.c | MSFT 
  Ia32/ReadGdtr.c | MSFT 
  Ia32/ReadTr.c | MSFT 
  Ia32/ReadSs.c | MSFT 
  Ia32/ReadGs.c | MSFT 
  Ia32/ReadFs.c | MSFT 
  Ia32/ReadEs.c | MSFT 
  Ia32/ReadDs.c | MSFT 
  Ia32/ReadCs.c | MSFT 
  Ia32/ReadMsr64.c | MSFT 
  Ia32/ReadEflags.c | MSFT 
  Ia32/ReadDr7.c | MSFT 
  Ia32/ReadDr6.c | MSFT 
  Ia32/ReadDr5.c | MSFT 
  Ia32/ReadDr4.c | MSFT 
  Ia32/ReadDr3.c | MSFT 
  Ia32/ReadDr2.c | MSFT 
  Ia32/ReadDr1.c | MSFT 
  Ia32/ReadDr0.c | MSFT 
  Ia32/ReadCr4.c | MSFT 
  Ia32/ReadCr3.c | MSFT 
  Ia32/ReadCr2.c | MSFT 
  Ia32/ReadCr0.c | MSFT 
  Ia32/MultU64x32.c | MSFT 
  Ia32/LShiftU64.c | MSFT 
  Ia32/LongJump.c | MSFT 
  Ia32/Invd.c | MSFT 
  Ia32/FxRestore.c | MSFT 
  Ia32/FxSave.c | MSFT 
  Ia32/FlushCacheLine.c | MSFT 
  Ia32/EnableInterrupts.c | MSFT 
  Ia32/EnableDisableInterrupts.c | MSFT 
  Ia32/DivU64x32Remainder.c | MSFT 
  Ia32/DivU64x32.c | MSFT 
  Ia32/DisableInterrupts.c | MSFT 
  Ia32/CpuPause.c | MSFT 
  Ia32/CpuIdEx.c | MSFT 
  Ia32/CpuId.c | MSFT 
  Ia32/CpuBreakpoint.c | MSFT 
  Ia32/EnableCache.c | MSFT
  Ia32/DisableCache.c | MSFT

  Ia32/Wbinvd.asm | INTEL 
  Ia32/WriteLdtr.asm | INTEL 
  Ia32/WriteIdtr.asm | INTEL 
  Ia32/WriteGdtr.asm | INTEL 
  Ia32/WriteDr7.asm | INTEL 
  Ia32/WriteDr6.asm | INTEL 
  Ia32/WriteDr5.asm | INTEL 
  Ia32/WriteDr4.asm | INTEL 
  Ia32/WriteDr3.asm | INTEL 
  Ia32/WriteDr2.asm | INTEL 
  Ia32/WriteDr1.asm | INTEL 
  Ia32/WriteDr0.asm | INTEL 
  Ia32/WriteCr4.asm | INTEL 
  Ia32/WriteCr3.asm | INTEL 
  Ia32/WriteCr2.asm | INTEL 
  Ia32/WriteCr0.asm | INTEL 
  Ia32/WriteMsr64.asm | INTEL 
  Ia32/SetJump.asm | INTEL 
  Ia32/RShiftU64.asm | INTEL 
  Ia32/ReadTsc.asm | INTEL 
  Ia32/ReadLdtr.asm | INTEL 
  Ia32/ReadIdtr.asm | INTEL 
  Ia32/ReadGdtr.asm | INTEL 
  Ia32/ReadTr.asm | INTEL 
  Ia32/ReadSs.asm | INTEL 
  Ia32/ReadGs.asm | INTEL 
  Ia32/ReadFs.asm | INTEL 
  Ia32/ReadEs.asm | INTEL 
  Ia32/ReadDs.asm | INTEL 
  Ia32/ReadCs.asm | INTEL 
  Ia32/ReadMsr64.asm | INTEL 
  Ia32/ReadEflags.asm | INTEL 
  Ia32/ReadDr7.asm | INTEL 
  Ia32/ReadDr6.asm | INTEL 
  Ia32/ReadDr5.asm | INTEL 
  Ia32/ReadDr4.asm | INTEL 
  Ia32/ReadDr3.asm | INTEL 
  Ia32/ReadDr2.asm | INTEL 
  Ia32/ReadDr1.asm | INTEL 
  Ia32/ReadDr0.asm | INTEL 
  Ia32/ReadCr4.asm | INTEL 
  Ia32/ReadCr3.asm | INTEL 
  Ia32/ReadCr2.asm | INTEL 
  Ia32/ReadCr0.asm | INTEL 
  Ia32/MultU64x32.asm | INTEL 
  Ia32/LShiftU64.asm | INTEL 
  Ia32/LongJump.asm | INTEL 
  Ia32/Invd.asm | INTEL 
  Ia32/FxRestore.asm | INTEL 
  Ia32/FxSave.asm | INTEL 
  Ia32/FlushCacheLine.asm | INTEL 
  Ia32/EnableInterrupts.asm | INTEL 
  Ia32/EnableDisableInterrupts.asm | INTEL 
  Ia32/DivU64x32Remainder.asm | INTEL 
  Ia32/DivU64x32.asm | INTEL 
  Ia32/DisableInterrupts.asm | INTEL 
  Ia32/CpuPause.asm | INTEL 
  Ia32/CpuIdEx.asm | INTEL 
  Ia32/CpuId.asm | INTEL 
  Ia32/CpuBreakpoint.asm | INTEL 
  Ia32/EnableCache.asm | INTEL
  Ia32/DisableCache.asm | INTEL

  Ia32/GccInline.c | GCC
  Ia32/EnableDisableInterrupts.S | GCC 
  Ia32/CpuIdEx.S | GCC 
  Ia32/CpuId.S | GCC 
  Ia32/LongJump.S | GCC 
  Ia32/SetJump.S | GCC 
  Ia32/DivU64x32Remainder.S | GCC 
  Ia32/DivU64x32.S | GCC 
  Ia32/MultU64x32.S | GCC 
  Ia32/RShiftU64.S | GCC 
  Ia32/LShiftU64.S | GCC 
  Ia32/EnableCache.S | GCC
  Ia32/DisableCache.S | GCC

  Ia32/Non-existing.c
  Unaligned.c
  X86WriteIdtr.c
  X86WriteGdtr.c
  X86ReadIdtr.c
  X86ReadGdtr.c
  X86Msr.c
  X86MemoryFence.c | MSFT
  X86MemoryFence.c | INTEL
  X86GetInterruptState.c
  X86FxSave.c
  X86FxRestore.c

[Sources.X64]
  X64/CpuPause.asm
  X64/EnableDisableInterrupts.asm
  X64/DisableInterrupts.asm
  X64/EnableInterrupts.asm
  X64/FlushCacheLine.asm
  X64/Invd.asm
  X64/Wbinvd.asm
  X64/ReadTsc.asm
  X64/FxRestore.asm
  X64/FxSave.asm
  X64/WriteLdtr.asm
  X64/ReadLdtr.asm
  X64/WriteIdtr.asm
  X64/ReadIdtr.asm
  X64/WriteGdtr.asm
  X64/ReadGdtr.asm
  X64/ReadTr.asm
  X64/ReadSs.asm
  X64/ReadGs.asm
  X64/ReadFs.asm
  X64/ReadEs.asm
  X64/ReadDs.asm
  X64/ReadCs.asm
  X64/WriteDr7.asm
  X64/WriteDr6.asm
  X64/WriteDr5.asm
  X64/WriteDr4.asm
  X64/WriteDr3.asm
  X64/WriteDr2.asm
  X64/WriteDr1.asm
  X64/WriteDr0.asm
  X64/ReadDr7.asm
  X64/ReadDr6.asm
  X64/ReadDr5.asm
  X64/ReadDr4.asm
  X64/ReadDr3.asm
  X64/ReadDr2.asm
  X64/ReadDr1.asm
  X64/ReadDr0.asm
  X64/WriteCr4.asm
  X64/WriteCr3.asm
  X64/WriteCr2.asm
  X64/WriteCr0.asm
  X64/ReadCr4.asm
  X64/ReadCr3.asm
  X64/ReadCr2.asm
  X64/ReadCr0.asm
  X64/ReadEflags.asm
  X64/CpuIdEx.asm
  X64/CpuId.asm
  X64/LongJump.asm
  X64/SetJump.asm
  X64/EnableCache.asm
  X64/DisableCache.asm

  X64/CpuBreakpoint.c | MSFT 
  X64/WriteMsr64.c | MSFT 
  X64/ReadMsr64.c | MSFT 

  X64/CpuBreakpoint.asm | INTEL 
  X64/WriteMsr64.asm | INTEL 
  X64/ReadMsr64.asm | INTEL 

  X64/Non-existing.c
  Math64.c
  Unaligned.c
  X86WriteIdtr.c
  X86WriteGdtr.c
  X86ReadIdtr.c
  X86ReadGdtr.c
  X86Msr.c
  X86MemoryFence.c | MSFT
  X86MemoryFence.c | INTEL
  X86GetInterruptState.c
  X86FxSave.c
  X86FxRestore.c
  X64/GccInline.c | GCC
  X64/SetJump.S | GCC 
  X64/LongJump.S | GCC 
  X64/EnableDisableInterrupts.S | GCC 
  X64/CpuId.S | GCC 
  X64/CpuIdEx.S | GCC 
  X64/EnableCache.S | GCC
  X64/DisableCache.S | GCC

[Packages]
  StmPkg/StmPkg.dec

[LibraryClasses]
  PcdLib
  DebugLib
  BaseMemoryLib

[Pcd]
  gEfiStmPkgTokenSpaceGuid.PcdMaximumAsciiStringLength    ## CONSUMES
  gEfiStmPkgTokenSpaceGuid.PcdMaximumUnicodeStringLength  ## CONSUMES
