MdePkg/BaseMemoryLibOptDxe: add accelerated AARCH64 routines

This adds AARCH64 support to BaseMemoryLibOptDxe, based on the cortex-strings
library. All string routines are accelerated except ScanMem16, ScanMem32,
ScanMem64 and IsZeroBuffer, which can wait for another day. (Very few
occurrences exist in the codebase)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Ard Biesheuvel
2016-09-02 12:34:22 +01:00
parent a37f660599
commit c86cd1e175
5 changed files with 839 additions and 1 deletions

View File

@@ -27,7 +27,7 @@
#
# VALID_ARCHITECTURES = IA32 X64 ARM
# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64
#
[Sources]
@@ -127,6 +127,13 @@
Arm/CopyMem.asm |RVCT
Arm/CompareMem.asm |RVCT
[Sources.AARCH64]
AArch64/ScanMem.S
AArch64/SetMem.S
AArch64/CopyMem.S
AArch64/CompareMem.S
[Sources.ARM, Sources.AARCH64]
Arm/ScanMemGeneric.c
[Sources]