| ## @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. All rights reserved.<BR> | |
| # Portions copyright (c) 2010, Apple Inc. 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 = 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 | |
| ArmPkg/ArmPkg.dec | |
| [LibraryClasses] | |
| DebugLib | |
| BaseLib | |