X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FLibrary%2FBaseMemoryLibOptDxe%2FBaseMemoryLibOptDxe.inf;h=bc5ec2f2531052eccab5d59f21a5f9e9f4fda0de;hp=1e05d05dffcd52f589a78fe28b635a9fa42cfbe0;hb=217b3ac093d2c1ae2ce066984a9c4302331c07c2;hpb=874eb39c8ed958ed7a9ed7ebad1657e472ec0784
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
index 1e05d05dff..bc5ec2f253 100644
--- a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
+++ b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
@@ -4,7 +4,7 @@
# Base Memory Library that is optimized for use in DXE phase.
# Uses REP, MMX, XMM registers as required for best performance.
#
-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -27,7 +27,7 @@
#
-# VALID_ARCHITECTURES = IA32 X64
+# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64
#
[Sources]
@@ -78,17 +78,7 @@
Ia32/SetMem.asm
Ia32/CopyMem.nasm
Ia32/CopyMem.asm
- ScanMem64Wrapper.c
- ScanMem32Wrapper.c
- ScanMem16Wrapper.c
- ScanMem8Wrapper.c
- ZeroMemWrapper.c
- CompareMemWrapper.c
- SetMem64Wrapper.c
- SetMem32Wrapper.c
- SetMem16Wrapper.c
- SetMemWrapper.c
- CopyMemWrapper.c
+ Ia32/IsZeroBuffer.nasm
MemLibGuid.c
[Sources.X64]
@@ -119,10 +109,49 @@
X64/SetMem16.nasm
X64/SetMem16.asm
X64/SetMem16.S
+ X64/SetMem.nasm
X64/SetMem.asm
X64/SetMem.S
+ X64/CopyMem.nasm
X64/CopyMem.asm
X64/CopyMem.S
+ X64/IsZeroBuffer.nasm
+ MemLibGuid.c
+
+[Defines.ARM, Defines.AARCH64]
+ #
+ # The ARM implementations of this library may perform unaligned accesses, and
+ # may use DC ZVA instructions that are only allowed when the MMU and D-cache
+ # are on. Since SEC, PEI_CORE and PEIM modules may execute with the MMU off,
+ # omit them from the supported module types list for this library.
+ #
+ LIBRARY_CLASS = BaseMemoryLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_DRIVER UEFI_APPLICATION
+
+[Sources.ARM]
+ Arm/ScanMem.S |GCC
+ Arm/SetMem.S |GCC
+ Arm/CopyMem.S |GCC
+ Arm/CompareMem.S |GCC
+ Arm/CompareGuid.S |GCC
+
+ Arm/ScanMem.asm |RVCT
+ Arm/SetMem.asm |RVCT
+ Arm/CopyMem.asm |RVCT
+ Arm/CompareMem.asm |RVCT
+ Arm/CompareGuid.asm |RVCT
+
+[Sources.AARCH64]
+ AArch64/ScanMem.S
+ AArch64/SetMem.S
+ AArch64/CopyMem.S
+ AArch64/CompareMem.S
+ AArch64/CompareGuid.S
+
+[Sources.ARM, Sources.AARCH64]
+ Arm/ScanMemGeneric.c
+ Arm/MemLibGuid.c
+
+[Sources]
ScanMem64Wrapper.c
ScanMem32Wrapper.c
ScanMem16Wrapper.c
@@ -134,7 +163,7 @@
SetMem16Wrapper.c
SetMemWrapper.c
CopyMemWrapper.c
- MemLibGuid.c
+ IsZeroBufferWrapper.c
[Packages]
MdePkg/MdePkg.dec