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