]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
MdePkg/BaseMemoryLibOptDxe: Remove .S files for IA32 and X64 arch
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLibOptDxe / BaseMemoryLibOptDxe.inf
1 ## @file
2 # Instance of Base Memory Library optimized for use in DXE phase.
3 #
4 # Base Memory Library that is optimized for use in DXE phase.
5 # Uses REP, MMX, XMM registers as required for best performance.
6 #
7 # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
8 #
9 # This program and the accompanying materials
10 # are licensed and made available under the terms and conditions of the BSD License
11 # which accompanies this distribution. The full text of the license may be found at
12 # http://opensource.org/licenses/bsd-license.php.
13 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #
16 #
17 ##
18
19 [Defines]
20 INF_VERSION = 0x00010005
21 BASE_NAME = BaseMemoryLibOptDxe
22 MODULE_UNI_FILE = BaseMemoryLibOptDxe.uni
23 FILE_GUID = 02BD55C2-AB1D-4b75-B0FD-9A63AE09B31D
24 MODULE_TYPE = BASE
25 VERSION_STRING = 1.0
26 LIBRARY_CLASS = BaseMemoryLib
27
28
29 #
30 # VALID_ARCHITECTURES = IA32 X64 ARM AARCH64
31 #
32
33 [Sources]
34 MemLibInternals.h
35
36 [Sources.Ia32]
37 Ia32/ScanMem64.nasm
38 Ia32/ScanMem32.nasm
39 Ia32/ScanMem16.nasm
40 Ia32/ScanMem8.nasm
41 Ia32/CompareMem.nasm
42 Ia32/ZeroMem.nasm
43 Ia32/SetMem64.nasm
44 Ia32/SetMem32.nasm
45 Ia32/SetMem16.nasm
46 Ia32/SetMem.nasm
47 Ia32/CopyMem.nasm
48 Ia32/ScanMem64.nasm
49 Ia32/ScanMem32.nasm
50 Ia32/ScanMem16.nasm
51 Ia32/ScanMem8.nasm
52 Ia32/CompareMem.nasm
53 Ia32/ZeroMem.nasm
54 Ia32/SetMem64.nasm
55 Ia32/SetMem32.nasm
56 Ia32/SetMem16.nasm
57 Ia32/SetMem.nasm
58 Ia32/CopyMem.nasm
59 Ia32/IsZeroBuffer.nasm
60 MemLibGuid.c
61
62 [Sources.X64]
63 X64/ScanMem64.nasm
64 X64/ScanMem32.nasm
65 X64/ScanMem16.nasm
66 X64/ScanMem8.nasm
67 X64/CompareMem.nasm
68 X64/ZeroMem.nasm
69 X64/SetMem64.nasm
70 X64/SetMem32.nasm
71 X64/SetMem16.nasm
72 X64/SetMem.nasm
73 X64/CopyMem.nasm
74 X64/IsZeroBuffer.nasm
75 MemLibGuid.c
76
77 [Defines.ARM, Defines.AARCH64]
78 #
79 # The ARM implementations of this library may perform unaligned accesses, and
80 # may use DC ZVA instructions that are only allowed when the MMU and D-cache
81 # are on. Since SEC, PEI_CORE and PEIM modules may execute with the MMU off,
82 # omit them from the supported module types list for this library.
83 #
84 LIBRARY_CLASS = BaseMemoryLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_DRIVER UEFI_APPLICATION
85
86 [Sources.ARM]
87 Arm/ScanMem.S |GCC
88 Arm/SetMem.S |GCC
89 Arm/CopyMem.S |GCC
90 Arm/CompareMem.S |GCC
91 Arm/CompareGuid.S |GCC
92
93 Arm/ScanMem.asm |RVCT
94 Arm/SetMem.asm |RVCT
95 Arm/CopyMem.asm |RVCT
96 Arm/CompareMem.asm |RVCT
97 Arm/CompareGuid.asm |RVCT
98
99 [Sources.AARCH64]
100 AArch64/ScanMem.S
101 AArch64/SetMem.S
102 AArch64/CopyMem.S
103 AArch64/CompareMem.S
104 AArch64/CompareGuid.S
105
106 [Sources.ARM, Sources.AARCH64]
107 Arm/ScanMemGeneric.c
108 Arm/MemLibGuid.c
109
110 [Sources]
111 ScanMem64Wrapper.c
112 ScanMem32Wrapper.c
113 ScanMem16Wrapper.c
114 ScanMem8Wrapper.c
115 ZeroMemWrapper.c
116 CompareMemWrapper.c
117 SetMem64Wrapper.c
118 SetMem32Wrapper.c
119 SetMem16Wrapper.c
120 SetMemWrapper.c
121 CopyMemWrapper.c
122 IsZeroBufferWrapper.c
123
124 [Packages]
125 MdePkg/MdePkg.dec
126
127 [LibraryClasses]
128 DebugLib
129 BaseLib
130