]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Library/BaseLib/BaseLib.msa
Updated BaseLib for THUNK functions and some CPU functions
[mirror_edk2.git] / MdePkg / Library / BaseLib / BaseLib.msa
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11 -->
12 <LibraryModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0 http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">
13 <MsaLibHeader>
14 <BaseName>BaseLib</BaseName>
15 <ModuleType>BASE</ModuleType>
16 <ComponentType>LIBRARY</ComponentType>
17 <Guid>27d67720-ea68-48ae-93da-a3a074c90e30</Guid>
18 <Version>0</Version>
19 <Abstract>Memory-only library functions with no library constructordestructor</Abstract>
20 <Description>FIX ME!</Description>
21 <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>
22 <License>
23 All rights reserved. This program and the accompanying materials
24 are licensed and made available under the terms and conditions of the BSD License
25 which accompanies this distribution. The full text of the license may be found at
26 http://opensource.org/licenses/bsd-license.php
27 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
28 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
29 </License>
30 <Specification>0</Specification>
31 <Created>2006-03-09 23:16</Created>
32 <Updated>2006-03-22 18:15</Updated>
33 </MsaLibHeader>
34 <LibraryClassDefinitions>
35 <LibraryClass Usage="ALWAYS_PRODUCED">BaseLib</LibraryClass>
36 <LibraryClass Usage="ALWAYS_CONSUMED">BaseMemoryLib</LibraryClass>
37 <LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>
38 <LibraryClass Usage="ALWAYS_CONSUMED">TimerLib</LibraryClass>
39 </LibraryClassDefinitions>
40 <SourceFiles>
41 <Filename>String.c</Filename>
42 <Filename>LinkedList.c</Filename>
43 <Filename>Synchronization.c</Filename>
44 <Filename>Cpu.c</Filename>
45 <Filename>CpuDeadLoop.c</Filename>
46 <Filename>BitField.c</Filename>
47 <Filename>ARShiftU64.c</Filename>
48 <Filename>DivS64x64Remainder.c</Filename>
49 <Filename>DivU64x32.c</Filename>
50 <Filename>DivU64x32Remainder.c</Filename>
51 <Filename>DivU64x64Remainder.c</Filename>
52 <Filename>GetPowerOfTwo32.c</Filename>
53 <Filename>GetPowerOfTwo64.c</Filename>
54 <Filename>HighBitSet32.c</Filename>
55 <Filename>HighBitSet64.c</Filename>
56 <Filename>LowBitSet32.c</Filename>
57 <Filename>LowBitSet64.c</Filename>
58 <Filename>LRotU32.c</Filename>
59 <Filename>LRotU64.c</Filename>
60 <Filename>LShiftU64.c</Filename>
61 <Filename>ModU64x32.c</Filename>
62 <Filename>MultS64x64.c</Filename>
63 <Filename>MultU64x32.c</Filename>
64 <Filename>MultU64x64.c</Filename>
65 <Filename>RRotU32.c</Filename>
66 <Filename>RRotU64.c</Filename>
67 <Filename>RShiftU64.c</Filename>
68 <Filename>SwapBytes16.c</Filename>
69 <Filename>SwapBytes32.c</Filename>
70 <Filename>SwapBytes64.c</Filename>
71 <Arch ArchType="IA32">
72 <Filename>x86LowLevel.c</Filename>
73 <Filename>x86Thunk.c</Filename>
74 <Filename>Unaligned.c</Filename>
75 <Filename>Ia32/Non-existing.c</Filename>
76 <Filename>Ia32/LShiftU64.asm</Filename>
77 <Filename>Ia32/RShiftU64.asm</Filename>
78 <Filename>Ia32/ARShiftU64.asm</Filename>
79 <Filename>Ia32/LRotU64.asm</Filename>
80 <Filename>Ia32/RRotU64.asm</Filename>
81 <Filename>Ia32/MultU64x32.asm</Filename>
82 <Filename>Ia32/MultU64x64.asm</Filename>
83 <Filename>Ia32/DivU64x32.asm</Filename>
84 <Filename>Ia32/ModU64x32.asm</Filename>
85 <Filename>Ia32/DivU64x32Remainder.asm</Filename>
86 <Filename>Ia32/DivU64x64Remainder.asm</Filename>
87 <Filename>Ia32/DivS64x64Remainder.c</Filename>
88 <Filename>Ia32/SwapBytes64.asm</Filename>
89 <Filename>Ia32/SetJump.asm</Filename>
90 <Filename>Ia32/LongJump.asm</Filename>
91 <Filename>Ia32/SwitchStack.c</Filename>
92 <Filename>Ia32/CpuId.asm</Filename>
93 <Filename>Ia32/ReadEflags.asm</Filename>
94 <Filename>Ia32/ReadMsr64.asm</Filename>
95 <Filename>Ia32/WriteMsr32.asm</Filename>
96 <Filename>Ia32/WriteMsr64.asm</Filename>
97 <Filename>Ia32/ReadCr0.asm</Filename>
98 <Filename>Ia32/ReadCr2.asm</Filename>
99 <Filename>Ia32/ReadCr3.asm</Filename>
100 <Filename>Ia32/ReadCr4.asm</Filename>
101 <Filename>Ia32/WriteCr0.asm</Filename>
102 <Filename>Ia32/WriteCr2.asm</Filename>
103 <Filename>Ia32/WriteCr3.asm</Filename>
104 <Filename>Ia32/WriteCr4.asm</Filename>
105 <Filename>Ia32/ReadDr0.asm</Filename>
106 <Filename>Ia32/ReadDr1.asm</Filename>
107 <Filename>Ia32/ReadDr2.asm</Filename>
108 <Filename>Ia32/ReadDr3.asm</Filename>
109 <Filename>Ia32/ReadDr4.asm</Filename>
110 <Filename>Ia32/ReadDr5.asm</Filename>
111 <Filename>Ia32/ReadDr6.asm</Filename>
112 <Filename>Ia32/ReadDr7.asm</Filename>
113 <Filename>Ia32/WriteDr0.asm</Filename>
114 <Filename>Ia32/WriteDr1.asm</Filename>
115 <Filename>Ia32/WriteDr2.asm</Filename>
116 <Filename>Ia32/WriteDr3.asm</Filename>
117 <Filename>Ia32/WriteDr4.asm</Filename>
118 <Filename>Ia32/WriteDr5.asm</Filename>
119 <Filename>Ia32/WriteDr6.asm</Filename>
120 <Filename>Ia32/WriteDr7.asm</Filename>
121 <Filename>Ia32/ReadCs.asm</Filename>
122 <Filename>Ia32/ReadDs.asm</Filename>
123 <Filename>Ia32/ReadEs.asm</Filename>
124 <Filename>Ia32/ReadFs.asm</Filename>
125 <Filename>Ia32/ReadGs.asm</Filename>
126 <Filename>Ia32/ReadSs.asm</Filename>
127 <Filename>Ia32/ReadTr.asm</Filename>
128 <Filename>Ia32/ReadGdtr.asm</Filename>
129 <Filename>Ia32/WriteGdtr.asm</Filename>
130 <Filename>Ia32/ReadIdtr.asm</Filename>
131 <Filename>Ia32/WriteIdtr.asm</Filename>
132 <Filename>Ia32/ReadLdtr.asm</Filename>
133 <Filename>Ia32/WriteLdtr.asm</Filename>
134 <Filename>Ia32/FxSave.asm</Filename>
135 <Filename>Ia32/FxRestore.asm</Filename>
136 <Filename>Ia32/ReadMm0.asm</Filename>
137 <Filename>Ia32/ReadMm1.asm</Filename>
138 <Filename>Ia32/ReadMm2.asm</Filename>
139 <Filename>Ia32/ReadMm3.asm</Filename>
140 <Filename>Ia32/ReadMm4.asm</Filename>
141 <Filename>Ia32/ReadMm5.asm</Filename>
142 <Filename>Ia32/ReadMm6.asm</Filename>
143 <Filename>Ia32/ReadMm7.asm</Filename>
144 <Filename>Ia32/WriteMm0.asm</Filename>
145 <Filename>Ia32/WriteMm1.asm</Filename>
146 <Filename>Ia32/WriteMm2.asm</Filename>
147 <Filename>Ia32/WriteMm3.asm</Filename>
148 <Filename>Ia32/WriteMm4.asm</Filename>
149 <Filename>Ia32/WriteMm5.asm</Filename>
150 <Filename>Ia32/WriteMm6.asm</Filename>
151 <Filename>Ia32/WriteMm7.asm</Filename>
152 <Filename>Ia32/ReadTsc.asm</Filename>
153 <Filename>Ia32/ReadPmc.asm</Filename>
154 <Filename>Ia32/Monitor.asm</Filename>
155 <Filename>Ia32/Mwait.asm</Filename>
156 <Filename>Ia32/EnablePaging32.asm</Filename>
157 <Filename>Ia32/DisablePaging32.asm</Filename>
158 <Filename>Ia32/EnablePaging64.asm</Filename>
159 <Filename>Ia32/Wbinvd.asm</Filename>
160 <Filename>Ia32/Invd.asm</Filename>
161 <Filename>Ia32/FlushCacheLine.asm</Filename>
162 <Filename>Ia32/InterlockedIncrement.asm</Filename>
163 <Filename>Ia32/InterlockedDecrement.asm</Filename>
164 <Filename>Ia32/InterlockedCompareExchange32.asm</Filename>
165 <Filename>Ia32/InterlockedCompareExchange64.asm</Filename>
166 <Filename>Ia32/EnableInterrupts.asm</Filename>
167 <Filename>Ia32/DisableInterrupts.asm</Filename>
168 <Filename>Ia32/EnableDisableInterrupts.asm</Filename>
169 <Filename>Ia32/CpuSleep.asm</Filename>
170 <Filename>Ia32/CpuPause.asm</Filename>
171 <Filename>Ia32/CpuBreakpoint.asm</Filename>
172 <Filename>Ia32/CpuFlushTlb.asm</Filename>
173 <Filename>Ia32/Thunk16.asm</Filename>
174 </Arch>
175 <Arch ArchType="X64">
176 <Filename>x86LowLevel.c</Filename>
177 <Filename>x86Thunk.c</Filename>
178 <Filename>Unaligned.c</Filename>
179 <Filename>Math64.c</Filename>
180 <Filename>x64/Non-existing.c</Filename>
181 <Filename>x64/SwitchStack.asm</Filename>
182 <Filename>x64/SetJump.asm</Filename>
183 <Filename>x64/LongJump.asm</Filename>
184 <Filename>x64/CpuId.asm</Filename>
185 <Filename>x64/ReadEflags.asm</Filename>
186 <Filename>x64/ReadMsr32.asm</Filename>
187 <Filename>x64/ReadMsr64.asm</Filename>
188 <Filename>x64/WriteMsr32.asm</Filename>
189 <Filename>x64/WriteMsr64.asm</Filename>
190 <Filename>x64/ReadCr0.asm</Filename>
191 <Filename>x64/ReadCr2.asm</Filename>
192 <Filename>x64/ReadCr3.asm</Filename>
193 <Filename>x64/ReadCr4.asm</Filename>
194 <Filename>x64/WriteCr0.asm</Filename>
195 <Filename>x64/WriteCr2.asm</Filename>
196 <Filename>x64/WriteCr3.asm</Filename>
197 <Filename>x64/WriteCr4.asm</Filename>
198 <Filename>x64/ReadDr0.asm</Filename>
199 <Filename>x64/ReadDr1.asm</Filename>
200 <Filename>x64/ReadDr2.asm</Filename>
201 <Filename>x64/ReadDr3.asm</Filename>
202 <Filename>x64/ReadDr4.asm</Filename>
203 <Filename>x64/ReadDr5.asm</Filename>
204 <Filename>x64/ReadDr6.asm</Filename>
205 <Filename>x64/ReadDr7.asm</Filename>
206 <Filename>x64/WriteDr0.asm</Filename>
207 <Filename>x64/WriteDr1.asm</Filename>
208 <Filename>x64/WriteDr2.asm</Filename>
209 <Filename>x64/WriteDr3.asm</Filename>
210 <Filename>x64/WriteDr4.asm</Filename>
211 <Filename>x64/WriteDr5.asm</Filename>
212 <Filename>x64/WriteDr6.asm</Filename>
213 <Filename>x64/WriteDr7.asm</Filename>
214 <Filename>x64/ReadCs.asm</Filename>
215 <Filename>x64/ReadDs.asm</Filename>
216 <Filename>x64/ReadEs.asm</Filename>
217 <Filename>x64/ReadFs.asm</Filename>
218 <Filename>x64/ReadGs.asm</Filename>
219 <Filename>x64/ReadSs.asm</Filename>
220 <Filename>x64/ReadTr.asm</Filename>
221 <Filename>x64/ReadGdtr.asm</Filename>
222 <Filename>x64/WriteGdtr.asm</Filename>
223 <Filename>x64/ReadIdtr.asm</Filename>
224 <Filename>x64/WriteIdtr.asm</Filename>
225 <Filename>x64/ReadLdtr.asm</Filename>
226 <Filename>x64/WriteLdtr.asm</Filename>
227 <Filename>x64/FxSave.asm</Filename>
228 <Filename>x64/FxRestore.asm</Filename>
229 <Filename>x64/ReadMm0.asm</Filename>
230 <Filename>x64/ReadMm1.asm</Filename>
231 <Filename>x64/ReadMm2.asm</Filename>
232 <Filename>x64/ReadMm3.asm</Filename>
233 <Filename>x64/ReadMm4.asm</Filename>
234 <Filename>x64/ReadMm5.asm</Filename>
235 <Filename>x64/ReadMm6.asm</Filename>
236 <Filename>x64/ReadMm7.asm</Filename>
237 <Filename>x64/WriteMm0.asm</Filename>
238 <Filename>x64/WriteMm1.asm</Filename>
239 <Filename>x64/WriteMm2.asm</Filename>
240 <Filename>x64/WriteMm3.asm</Filename>
241 <Filename>x64/WriteMm4.asm</Filename>
242 <Filename>x64/WriteMm5.asm</Filename>
243 <Filename>x64/WriteMm6.asm</Filename>
244 <Filename>x64/WriteMm7.asm</Filename>
245 <Filename>x64/ReadTsc.asm</Filename>
246 <Filename>x64/ReadPmc.asm</Filename>
247 <Filename>x64/Monitor.asm</Filename>
248 <Filename>x64/Mwait.asm</Filename>
249 <Filename>x64/DisablePaging64.asm</Filename>
250 <Filename>x64/Wbinvd.asm</Filename>
251 <Filename>x64/Invd.asm</Filename>
252 <Filename>x64/FlushCacheLine.asm</Filename>
253 <Filename>x64/InterlockedIncrement.asm</Filename>
254 <Filename>x64/InterlockedDecrement.asm</Filename>
255 <Filename>x64/InterlockedCompareExchange32.asm</Filename>
256 <Filename>x64/InterlockedCompareExchange64.asm</Filename>
257 <Filename>x64/EnableInterrupts.asm</Filename>
258 <Filename>x64/DisableInterrupts.asm</Filename>
259 <Filename>x64/EnableDisableInterrupts.asm</Filename>
260 <Filename>x64/CpuSleep.asm</Filename>
261 <Filename>x64/CpuPause.asm</Filename>
262 <Filename>x64/CpuBreakpoint.asm</Filename>
263 <Filename>x64/CpuFlushTlb.asm</Filename>
264 <Filename>x64/Thunk16.asm</Filename>
265 </Arch>
266 <Arch ArchType="IPF">
267 <Filename>Math64.c</Filename>
268 <Filename>Ipf/setjmp.s</Filename>
269 <Filename>Ipf/SwitchStack.s</Filename>
270 <Filename>Ipf/Unaligned.c</Filename>
271 <Filename>Ipf/CpuBreakpoint.c</Filename>
272 <Filename>Ipf/InterlockedCompareExchange32.s</Filename>
273 <Filename>Ipf/InterlockedCompareExchange64.s</Filename>
274 <Filename>Ipf/Synchronization.c</Filename>
275 <Filename>Ipf/CpuPause.s</Filename>
276 </Arch>
277 <Arch ArchType="EBC">
278 <Filename>Math64.c</Filename>
279 <Filename>SwitchStack.c</Filename>
280 <Filename>SetJumpLongJump.c</Filename>
281 <Filename>Unaligned.c</Filename>
282 <Filename>Ebc/CpuBreakpoint.c</Filename>
283 <Filename>Ebc/Synchronization.c</Filename>
284 </Arch>
285 </SourceFiles>
286 <Includes>
287 <PackageName>MdePkg</PackageName>
288 </Includes>
289 <PCDs>
290 <PcdData ItemType="FIXED_AT_BUILD">
291 <C_Name>PcdMaximumUnicodeStringLength</C_Name>
292 <Token>0x00000001</Token>
293 <DatumType>UINT32</DatumType>
294 </PcdData>
295 <PcdData ItemType="FIXED_AT_BUILD">
296 <C_Name>PcdMaximumAsciiStringLength</C_Name>
297 <Token>0x00000002</Token>
298 <DatumType>UINT32</DatumType>
299 </PcdData>
300 <PcdData ItemType="FIXED_AT_BUILD">
301 <C_Name>PcdMaximumLinkedListLength</C_Name>
302 <Token>0x00000003</Token>
303 <DatumType>UINT32</DatumType>
304 </PcdData>
305 <PcdData ItemType="FIXED_AT_BUILD">
306 <C_Name>PcdSpinLockTimeout</C_Name>
307 <Token>0x00000004</Token>
308 <DatumType>UINT32</DatumType>
309 </PcdData>
310 </PCDs>
311 </LibraryModuleSurfaceArea>