## @file
#  Instance of CPU Library for various architecture.
#
#  CPU Library implemented using ASM functions for IA32, X64, AARCH64,
#  PAL CALLs for IPF, and empty functions for EBC.
#
#  Copyright (c) 2007 - 2022, 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>
#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
#  Portions Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[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 AARCH64 RISCV64 LOONGARCH64
#

[Sources.IA32, Sources.X64]
  X86BaseCpuLib.c

[Sources.IA32]
  Ia32/CpuSleep.c | MSFT
  Ia32/CpuSleep.nasm| INTEL
  Ia32/CpuSleepGcc.c | GCC
  X86CpuFlushTlb.c

  Ia32/InitializeFpu.nasm

[Sources.X64]
  X86CpuFlushTlb.c
  X64/CpuSleep.nasm

  X64/InitializeFpu.nasm

[Sources.EBC]
  Ebc/CpuSleepFlushTlb.c

[Sources.AARCH64]
  AArch64/CpuFlushTlb.S   | GCC
  AArch64/CpuSleep.S      | GCC
  AArch64/CpuFlushTlb.asm | MSFT
  AArch64/CpuSleep.asm    | MSFT

[Sources.RISCV64]
  RiscV/Cpu.S             | GCC
  RiscV/InitializeFpu.S   | GCC

[Sources.LOONGARCH64]
  LoongArch/CpuFlushTlb.S   | GCC
  LoongArch/CpuSleep.S      | GCC
  LoongArch/InitializeFpu.S | GCC
  LoongArch/EnableFpu.S     | GCC
  LoongArch/DisableFpu.S    | GCC

[Packages]
  MdePkg/MdePkg.dec


