## @file
#  Instance of Cache Maintenance Library using Base Library services.
#
#  Cache Maintenance Library that uses Base Library services to maintain caches.
#  This library assumes there are no chipset dependencies required to maintain caches.
#
#  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
#  Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = BaseCacheMaintenanceLib
  MODULE_UNI_FILE                = BaseCacheMaintenanceLib.uni
  FILE_GUID                      = 123dd843-57c9-4158-8418-ce68b3944ce7
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.1
  LIBRARY_CLASS                  = CacheMaintenanceLib


#
#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64
#

[Sources.IA32]
  X86Cache.c

[Sources.X64]
  X86Cache.c

[Sources.EBC]
  EbcCache.c

[Sources.ARM]
  ArmCache.c

[Sources.AARCH64]
  ArmCache.c

[Sources.RISCV64]
  RiscVCache.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  BaseLib
  DebugLib

