## @file
#  Instance of CPU Library for various architecture.
#
#  CPU Library implemented using ASM functions for IA32, X64, ARM, AARCH64,
#  PAL CALLs for IPF, and empty functions for EBC.
#
#  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
#  Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
#  Portions copyright (c) 2011 - 2013, ARM Ltd. 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                      = BaseCpuLib
  MODULE_UNI_FILE                = BaseCpuLib.uni
  FILE_GUID                      = 4FBD2538-249C-4b50-8F4A-A9E66609CBF6
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = CpuLib


#
#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64
#

[Sources.IA32]
  Ia32/CpuSleep.c | MSFT
  Ia32/CpuFlushTlb.c | MSFT

  Ia32/CpuSleep.nasm| INTEL
  Ia32/CpuFlushTlb.nasm| INTEL

  Ia32/CpuSleepGcc.c | GCC
  Ia32/CpuFlushTlbGcc.c | GCC

[Sources.X64]
  X64/CpuFlushTlb.nasm
  X64/CpuSleep.nasm

  X64/CpuSleep.nasm| GCC
  X64/CpuSleep.S | GCC
  X64/CpuFlushTlb.nasm| GCC
  X64/CpuFlushTlb.S | GCC

[Sources.EBC]
  Ebc/CpuSleepFlushTlb.c

[Sources.ARM]
  Arm/CpuFlushTlb.asm | RVCT
  Arm/CpuSleep.asm    | RVCT
  Arm/CpuFlushTlb.asm | MSFT
  Arm/CpuSleep.asm    | MSFT
  Arm/CpuFlushTlb.S   | GCC
  Arm/CpuSleep.S      | GCC

[Sources.AARCH64]
  AArch64/CpuFlushTlb.S   | GCC
  AArch64/CpuSleep.S      | GCC
  AArch64/CpuFlushTlb.asm | MSFT
  AArch64/CpuSleep.asm    | MSFT

[Packages]
  MdePkg/MdePkg.dec


