X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdePkg%2FLibrary%2FBaseMemoryLibOptDxe%2FBaseMemoryLibOptDxe.inf;h=3f756647e10e2efba4fc365717f2120bbce46dfa;hb=decaac5d0d4a5ae348035a33e820ffd902103383;hp=69e3f27ce4066364c7644691deb28e31d11903f2;hpb=a9064cd1cdee63668a8b07a472669983ba767afb;p=mirror_edk2.git
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
index 69e3f27ce4..3f756647e1 100644
--- a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
+++ b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
@@ -1,10 +1,10 @@
## @file
# Instance of Base Memory Library optimized for use in DXE phase.
#
-# Base Memory Library that is optimized for use in DXE phase.
+# 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 - 2018, 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
@@ -23,11 +23,11 @@
FILE_GUID = 02BD55C2-AB1D-4b75-B0FD-9A63AE09B31D
MODULE_TYPE = BASE
VERSION_STRING = 1.0
- LIBRARY_CLASS = BaseMemoryLib
+ LIBRARY_CLASS = BaseMemoryLib
#
-# VALID_ARCHITECTURES = IA32 X64
+# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64
#
[Sources]
@@ -36,64 +36,100 @@
[Sources.Ia32]
Ia32/ScanMem64.nasm
Ia32/ScanMem64.S
+ Ia32/ScanMem32.nasm
Ia32/ScanMem32.S
+ Ia32/ScanMem16.nasm
Ia32/ScanMem16.S
+ Ia32/ScanMem8.nasm
Ia32/ScanMem8.S
+ Ia32/CompareMem.nasm
Ia32/CompareMem.S
+ Ia32/ZeroMem.nasm
Ia32/ZeroMem.S
+ Ia32/SetMem64.nasm
Ia32/SetMem64.S
+ Ia32/SetMem32.nasm
Ia32/SetMem32.S
+ Ia32/SetMem16.nasm
Ia32/SetMem16.S
+ Ia32/SetMem.nasm
Ia32/SetMem.S
+ Ia32/CopyMem.nasm
Ia32/CopyMem.S
Ia32/ScanMem64.nasm
- Ia32/ScanMem64.asm
- Ia32/ScanMem32.asm
- Ia32/ScanMem16.asm
- Ia32/ScanMem8.asm
- Ia32/CompareMem.asm
- Ia32/ZeroMem.asm
- Ia32/SetMem64.asm
- Ia32/SetMem32.asm
- Ia32/SetMem16.asm
- Ia32/SetMem.asm
- 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/ScanMem32.nasm
+ Ia32/ScanMem16.nasm
+ Ia32/ScanMem8.nasm
+ Ia32/CompareMem.nasm
+ Ia32/ZeroMem.nasm
+ Ia32/SetMem64.nasm
+ Ia32/SetMem32.nasm
+ Ia32/SetMem16.nasm
+ Ia32/SetMem.nasm
+ Ia32/CopyMem.nasm
+ Ia32/IsZeroBuffer.nasm
MemLibGuid.c
[Sources.X64]
- X64/ScanMem64.asm
+ X64/ScanMem64.nasm
X64/ScanMem64.S
- X64/ScanMem32.asm
+ X64/ScanMem32.nasm
X64/ScanMem32.S
- X64/ScanMem16.asm
+ X64/ScanMem16.nasm
X64/ScanMem16.S
- X64/ScanMem8.asm
+ X64/ScanMem8.nasm
X64/ScanMem8.S
- X64/CompareMem.asm
+ X64/CompareMem.nasm
X64/CompareMem.S
- X64/ZeroMem.asm
+ X64/ZeroMem.nasm
X64/ZeroMem.S
- X64/SetMem64.asm
+ X64/SetMem64.nasm
X64/SetMem64.S
- X64/SetMem32.asm
+ X64/SetMem32.nasm
X64/SetMem32.S
- X64/SetMem16.asm
+ X64/SetMem16.nasm
X64/SetMem16.S
- X64/SetMem.asm
+ X64/SetMem.nasm
X64/SetMem.S
- X64/CopyMem.asm
+ X64/CopyMem.nasm
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
@@ -105,7 +141,7 @@
SetMem16Wrapper.c
SetMemWrapper.c
CopyMemWrapper.c
- MemLibGuid.c
+ IsZeroBufferWrapper.c
[Packages]
MdePkg/MdePkg.dec