Moved SetMemN API to a separate file to eliminate unnecessary inclusion of InternalMemSetMem64 and InternalMemSetMem32 APIs in driver binary. When the compiler linking the Object files it may not remove all the unused from NASM OBJs. This change is to reorganize the C files to minimize the impact of the NASM behavior resulting is code size reduction. Signed-off-by: Ashraf Ali <ashraf.ali.s@intel.com>
110 lines
2.6 KiB
INI
110 lines
2.6 KiB
INI
## @file
|
|
# Instance of Base Memory Library 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 - 2018, Intel Corporation. All rights reserved.<BR>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = BaseMemoryLibOptDxe
|
|
MODULE_UNI_FILE = BaseMemoryLibOptDxe.uni
|
|
FILE_GUID = 02BD55C2-AB1D-4b75-B0FD-9A63AE09B31D
|
|
MODULE_TYPE = BASE
|
|
VERSION_STRING = 1.0
|
|
LIBRARY_CLASS = BaseMemoryLib
|
|
|
|
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64
|
|
#
|
|
|
|
[Sources]
|
|
MemLibInternals.h
|
|
|
|
[Sources.Ia32]
|
|
Ia32/ScanMem64.nasm
|
|
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.nasm
|
|
X64/ScanMem32.nasm
|
|
X64/ScanMem16.nasm
|
|
X64/ScanMem8.nasm
|
|
X64/CompareMem.nasm
|
|
X64/ZeroMem.nasm
|
|
X64/SetMem64.nasm
|
|
X64/SetMem32.nasm
|
|
X64/SetMem16.nasm
|
|
X64/SetMem.nasm
|
|
X64/CopyMem.nasm
|
|
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
|
|
|
|
[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
|
|
ScanMem8Wrapper.c
|
|
ZeroMemWrapper.c
|
|
CompareMemWrapper.c
|
|
SetMemNWrapper.c
|
|
SetMem64Wrapper.c
|
|
SetMem32Wrapper.c
|
|
SetMem16Wrapper.c
|
|
SetMemWrapper.c
|
|
CopyMemWrapper.c
|
|
IsZeroBufferWrapper.c
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
|
|
[LibraryClasses]
|
|
DebugLib
|
|
BaseLib
|
|
|