]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
MdePkg/BaseMemoryLibOptDxe ARM|AARCH64: implement accelerated GUID functions
[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 - 2016, 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/ScanMem64.S
39 Ia32/ScanMem32.nasm
40 Ia32/ScanMem32.S
41 Ia32/ScanMem16.nasm
42 Ia32/ScanMem16.S
43 Ia32/ScanMem8.nasm
44 Ia32/ScanMem8.S
45 Ia32/CompareMem.nasm
46 Ia32/CompareMem.S
47 Ia32/ZeroMem.nasm
48 Ia32/ZeroMem.S
49 Ia32/SetMem64.nasm
50 Ia32/SetMem64.S
51 Ia32/SetMem32.nasm
52 Ia32/SetMem32.S
53 Ia32/SetMem16.nasm
54 Ia32/SetMem16.S
55 Ia32/SetMem.nasm
56 Ia32/SetMem.S
57 Ia32/CopyMem.nasm
58 Ia32/CopyMem.S
59 Ia32/ScanMem64.nasm
60 Ia32/ScanMem64.asm
61 Ia32/ScanMem32.nasm
62 Ia32/ScanMem32.asm
63 Ia32/ScanMem16.nasm
64 Ia32/ScanMem16.asm
65 Ia32/ScanMem8.nasm
66 Ia32/ScanMem8.asm
67 Ia32/CompareMem.nasm
68 Ia32/CompareMem.asm
69 Ia32/ZeroMem.nasm
70 Ia32/ZeroMem.asm
71 Ia32/SetMem64.nasm
72 Ia32/SetMem64.asm
73 Ia32/SetMem32.nasm
74 Ia32/SetMem32.asm
75 Ia32/SetMem16.nasm
76 Ia32/SetMem16.asm
77 Ia32/SetMem.nasm
78 Ia32/SetMem.asm
79 Ia32/CopyMem.nasm
80 Ia32/CopyMem.asm
81 Ia32/IsZeroBuffer.nasm
82 MemLibGuid.c
83
84 [Sources.X64]
85 X64/ScanMem64.nasm
86 X64/ScanMem64.asm
87 X64/ScanMem64.S
88 X64/ScanMem32.nasm
89 X64/ScanMem32.asm
90 X64/ScanMem32.S
91 X64/ScanMem16.nasm
92 X64/ScanMem16.asm
93 X64/ScanMem16.S
94 X64/ScanMem8.nasm
95 X64/ScanMem8.asm
96 X64/ScanMem8.S
97 X64/CompareMem.nasm
98 X64/CompareMem.asm
99 X64/CompareMem.S
100 X64/ZeroMem.nasm
101 X64/ZeroMem.asm
102 X64/ZeroMem.S
103 X64/SetMem64.nasm
104 X64/SetMem64.asm
105 X64/SetMem64.S
106 X64/SetMem32.nasm
107 X64/SetMem32.asm
108 X64/SetMem32.S
109 X64/SetMem16.nasm
110 X64/SetMem16.asm
111 X64/SetMem16.S
112 X64/SetMem.nasm
113 X64/SetMem.asm
114 X64/SetMem.S
115 X64/CopyMem.nasm
116 X64/CopyMem.asm
117 X64/CopyMem.S
118 X64/IsZeroBuffer.nasm
119 MemLibGuid.c
120
121 [Defines.ARM, Defines.AARCH64]
122 #
123 # The ARM implementations of this library may perform unaligned accesses, and
124 # may use DC ZVA instructions that are only allowed when the MMU and D-cache
125 # are on. Since SEC, PEI_CORE and PEIM modules may execute with the MMU off,
126 # omit them from the supported module types list for this library.
127 #
128 LIBRARY_CLASS = BaseMemoryLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_DRIVER UEFI_APPLICATION
129
130 [Sources.ARM]
131 Arm/ScanMem.S |GCC
132 Arm/SetMem.S |GCC
133 Arm/CopyMem.S |GCC
134 Arm/CompareMem.S |GCC
135 Arm/CompareGuid.S |GCC
136
137 Arm/ScanMem.asm |RVCT
138 Arm/SetMem.asm |RVCT
139 Arm/CopyMem.asm |RVCT
140 Arm/CompareMem.asm |RVCT
141 Arm/CompareGuid.asm |RVCT
142
143 [Sources.AARCH64]
144 AArch64/ScanMem.S
145 AArch64/SetMem.S
146 AArch64/CopyMem.S
147 AArch64/CompareMem.S
148 AArch64/CompareGuid.S
149
150 [Sources.ARM, Sources.AARCH64]
151 Arm/ScanMemGeneric.c
152 Arm/MemLibGuid.c
153
154 [Sources]
155 ScanMem64Wrapper.c
156 ScanMem32Wrapper.c
157 ScanMem16Wrapper.c
158 ScanMem8Wrapper.c
159 ZeroMemWrapper.c
160 CompareMemWrapper.c
161 SetMem64Wrapper.c
162 SetMem32Wrapper.c
163 SetMem16Wrapper.c
164 SetMemWrapper.c
165 CopyMemWrapper.c
166 IsZeroBufferWrapper.c
167
168 [Packages]
169 MdePkg/MdePkg.dec
170
171 [LibraryClasses]
172 DebugLib
173 BaseLib
174