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