## @file
#  Instance of Base Memory Library with some ARM ldm/stm assembly.
#
#  This is a copy of the MdePkg BaseMemoryLib with the CopyMem and
#  SetMem worker functions replaced with assembler that uses
#  ldm/stm.
#
#  Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
#  Portions copyright (c) 2010, 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                      = BaseMemoryLibStm
  FILE_GUID                      = 4D466AF3-2380-448D-A337-E4033F29F3F7
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = BaseMemoryLib


#
#  VALID_ARCHITECTURES           = ARM AARCH64
#


[Sources.Common]
  ScanMem64Wrapper.c
  ScanMem32Wrapper.c
  ScanMem16Wrapper.c
  ScanMem8Wrapper.c
  ZeroMemWrapper.c
  CompareMemWrapper.c
  SetMem64Wrapper.c
  SetMem32Wrapper.c
  SetMem16Wrapper.c
  SetMemWrapper.c
  CopyMemWrapper.c
  IsZeroBufferWrapper.c
  MemLibGeneric.c
  MemLibGuid.c
  MemLibInternals.h

[Sources.ARM]
  Arm/CopyMem.asm
  Arm/CopyMem.S
  Arm/SetMem.asm
  Arm/SetMem.S

[Sources.AARCH64]
  AArch64/CopyMem.c
  AArch64/SetMem.c

[Packages]
  MdePkg/MdePkg.dec
  ArmPkg/ArmPkg.dec

[LibraryClasses]
  DebugLib
  BaseLib

