X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ArmPkg%2FLibrary%2FBaseMemoryLibVstm%2FBaseMemoryLibVstm.inf;fp=ArmPkg%2FLibrary%2FBaseMemoryLibVstm%2FBaseMemoryLibVstm.inf;h=7725eb8b45e5435b4736a6f6801f8ac7b007b88f;hb=d39eb83cc5ce2147264e2ea3566c4dbf7eb9888d;hp=0000000000000000000000000000000000000000;hpb=d02b28d736c19b9a59690008e56c63e839fcf28f;p=mirror_edk2.git diff --git a/ArmPkg/Library/BaseMemoryLibVstm/BaseMemoryLibVstm.inf b/ArmPkg/Library/BaseMemoryLibVstm/BaseMemoryLibVstm.inf new file mode 100755 index 0000000000..7725eb8b45 --- /dev/null +++ b/ArmPkg/Library/BaseMemoryLibVstm/BaseMemoryLibVstm.inf @@ -0,0 +1,69 @@ +## @file +# Instance of Base Memory Library with some ARM vldm/vstm assembly. +# +# This is a copy of the MdePkg BaseMemoryLib with the CopyMem and +# SetMem worker functions replaced with assembler that uses +# vldm/vstm (part of NEON SIMD, optional in ARMv7-A). +# +# Note: You need to enable NEON in SEC to use this library +# // Enable NEON register in case folks want to use them for optimizations (CopyMem) +# mrc p15, 0, r0, c1, c0, 2 +# orr r0, r0, #0x00f00000 // Enable VPF access (V* instructions) +# mcr p15, 0, r0, c1, c0, 2 +# mov r0, #0x40000000 // Set EN bit in FPEXC +# msr FPEXC,r0 +# +# Copyright (c) 2007 - 2010, Intel Corporation. +# Portions Copyright (c) 2010, Apple, Inc. All rights reserved. +# +# All rights reserved. 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 = BaseMemoryLibVstm + FILE_GUID = 09EE1E8D-7A2E-4573-8117-68A18569C1F5 + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = BaseMemoryLib + + +# +# VALID_ARCHITECTURES = ARM +# + +[Sources.ARM] + ScanMem64Wrapper.c + ScanMem32Wrapper.c + ScanMem16Wrapper.c + ScanMem8Wrapper.c + ZeroMemWrapper.c + CompareMemWrapper.c + SetMem64Wrapper.c + SetMem32Wrapper.c + SetMem16Wrapper.c + SetMemWrapper.c + CopyMemWrapper.c + MemLibGeneric.c + MemLibGuid.c + MemLibInternals.h + Arm/CopyMem.asm + Arm/CopyMem.S + Arm/SetMem.asm + Arm/SetMem.S + + +[Packages] + MdePkg/MdePkg.dec + +[LibraryClasses] + DebugLib + BaseLib +