MdePkg/BaseMemoryLibOptDxe: add accelerated ARM routines
authorArd Biesheuvel <>
Tue, 6 Sep 2016 14:06:38 +0000 (15:06 +0100)
committerArd Biesheuvel <>
Tue, 13 Sep 2016 15:28:15 +0000 (16:28 +0100)
MdePkg/BaseMemoryLibOptDxe: add accelerated ARM routines

This adds ARM support to BaseMemoryLibOptDxe, partially based on the
cortex-strings library (ScanMem) and the existing CopyMem() implementation
from BaseMemoryLibStm in ArmPkg.

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 <>
Reviewed-by: Liming Gao <>
MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareMem.S [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareMem.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptDxe/Arm/CopyMem.S [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptDxe/Arm/CopyMem.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptDxe/Arm/ScanMem.S [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptDxe/Arm/ScanMem.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptDxe/Arm/ScanMemGeneric.c [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptDxe/Arm/SetMem.S [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptDxe/Arm/SetMem.asm [new file with mode: 0644]