blob: fc0cb9638baaf23496b4589b0c08207299a54358 [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301## @file
2# Base Library implementation.
3#
4# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
5# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
6# Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
7#
8# This program and the accompanying materials
9# are licensed and made available under the terms and conditions of the BSD License
10# which accompanies this distribution. The full text of the license may be found at
11# http://opensource.org/licenses/bsd-license.php.
12# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14#
15#
16##
17
18[Defines]
19 INF_VERSION = 0x00010005
20 BASE_NAME = BaseLib
21 MODULE_UNI_FILE = BaseLib.uni
22 FILE_GUID = 27d67720-ea68-48ae-93da-a3a074c90e30
23 MODULE_TYPE = BASE
24 VERSION_STRING = 1.0
25 LIBRARY_CLASS = BaseLib
26
27#
28# VALID_ARCHITECTURES = IA32 X64 IPF EBC ARM AARCH64
29#
30
31[Sources]
32 CheckSum.c
33 SwitchStack.c
34 SwapBytes64.c
35 SwapBytes32.c
36 SwapBytes16.c
37 LongJump.c
38 SetJump.c
39 RShiftU64.c
40 RRotU64.c
41 RRotU32.c
42 MultU64x64.c
43 MultU64x32.c
44 MultS64x64.c
45 ModU64x32.c
46 LShiftU64.c
47 LRotU64.c
48 LRotU32.c
49 LowBitSet64.c
50 LowBitSet32.c
51 HighBitSet64.c
52 HighBitSet32.c
53 GetPowerOfTwo64.c
54 GetPowerOfTwo32.c
55 DivU64x64Remainder.c
56 DivU64x32Remainder.c
57 DivU64x32.c
58 DivS64x64Remainder.c
59 ARShiftU64.c
60 BitField.c
61 CpuDeadLoop.c
62 Cpu.c
63 LinkedList.c
64 SafeString.c
65 String.c
66 FilePaths.c
67 BaseLibInternals.h
68
69[Sources.Ia32]
70 Ia32/Wbinvd.c | MSFT
71 Ia32/WriteMm7.c | MSFT
72 Ia32/WriteMm6.c | MSFT
73 Ia32/WriteMm5.c | MSFT
74 Ia32/WriteMm4.c | MSFT
75 Ia32/WriteMm3.c | MSFT
76 Ia32/WriteMm2.c | MSFT
77 Ia32/WriteMm1.c | MSFT
78 Ia32/WriteMm0.c | MSFT
79 Ia32/WriteLdtr.c | MSFT
80 Ia32/WriteIdtr.c | MSFT
81 Ia32/WriteGdtr.c | MSFT
82 Ia32/WriteDr7.c | MSFT
83 Ia32/WriteDr6.c | MSFT
84 Ia32/WriteDr5.c | MSFT
85 Ia32/WriteDr4.c | MSFT
86 Ia32/WriteDr3.c | MSFT
87 Ia32/WriteDr2.c | MSFT
88 Ia32/WriteDr1.c | MSFT
89 Ia32/WriteDr0.c | MSFT
90 Ia32/WriteCr4.c | MSFT
91 Ia32/WriteCr3.c | MSFT
92 Ia32/WriteCr2.c | MSFT
93 Ia32/WriteCr0.c | MSFT
94 Ia32/WriteMsr64.c | MSFT
95 Ia32/SwapBytes64.c | MSFT
96 Ia32/SetJump.c | MSFT
97 Ia32/RRotU64.c | MSFT
98 Ia32/RShiftU64.c | MSFT
99 Ia32/ReadPmc.c | MSFT
100 Ia32/ReadTsc.c | MSFT
101 Ia32/ReadLdtr.c | MSFT
102 Ia32/ReadIdtr.c | MSFT
103 Ia32/ReadGdtr.c | MSFT
104 Ia32/ReadTr.c | MSFT
105 Ia32/ReadSs.c | MSFT
106 Ia32/ReadGs.c | MSFT
107 Ia32/ReadFs.c | MSFT
108 Ia32/ReadEs.c | MSFT
109 Ia32/ReadDs.c | MSFT
110 Ia32/ReadCs.c | MSFT
111 Ia32/ReadMsr64.c | MSFT
112 Ia32/ReadMm7.c | MSFT
113 Ia32/ReadMm6.c | MSFT
114 Ia32/ReadMm5.c | MSFT
115 Ia32/ReadMm4.c | MSFT
116 Ia32/ReadMm3.c | MSFT
117 Ia32/ReadMm2.c | MSFT
118 Ia32/ReadMm1.c | MSFT
119 Ia32/ReadMm0.c | MSFT
120 Ia32/ReadEflags.c | MSFT
121 Ia32/ReadDr7.c | MSFT
122 Ia32/ReadDr6.c | MSFT
123 Ia32/ReadDr5.c | MSFT
124 Ia32/ReadDr4.c | MSFT
125 Ia32/ReadDr3.c | MSFT
126 Ia32/ReadDr2.c | MSFT
127 Ia32/ReadDr1.c | MSFT
128 Ia32/ReadDr0.c | MSFT
129 Ia32/ReadCr4.c | MSFT
130 Ia32/ReadCr3.c | MSFT
131 Ia32/ReadCr2.c | MSFT
132 Ia32/ReadCr0.c | MSFT
133 Ia32/Mwait.c | MSFT
134 Ia32/Monitor.c | MSFT
135 Ia32/ModU64x32.c | MSFT
136 Ia32/MultU64x64.c | MSFT
137 Ia32/MultU64x32.c | MSFT
138 Ia32/LShiftU64.c | MSFT
139 Ia32/LRotU64.c | MSFT
140 Ia32/LongJump.c | MSFT
141 Ia32/Invd.c | MSFT
142 Ia32/FxRestore.c | MSFT
143 Ia32/FxSave.c | MSFT
144 Ia32/FlushCacheLine.c | MSFT
145 Ia32/EnablePaging32.c | MSFT
146 Ia32/EnableInterrupts.c | MSFT
147 Ia32/EnableDisableInterrupts.c | MSFT
148 Ia32/DivU64x64Remainder.asm | MSFT
149 Ia32/DivU64x32Remainder.c | MSFT
150 Ia32/DivU64x32.c | MSFT
151 Ia32/DisablePaging32.c | MSFT
152 Ia32/DisableInterrupts.c | MSFT
153 Ia32/CpuPause.c | MSFT
154 Ia32/CpuIdEx.c | MSFT
155 Ia32/CpuId.c | MSFT
156 Ia32/CpuBreakpoint.c | MSFT
157 Ia32/ARShiftU64.c | MSFT
158 Ia32/Thunk16.asm | MSFT
159 Ia32/EnablePaging64.asm | MSFT
160 Ia32/EnableCache.c | MSFT
161 Ia32/DisableCache.c | MSFT
162
163 Ia32/Wbinvd.asm | INTEL
164 Ia32/WriteMm7.asm | INTEL
165 Ia32/WriteMm6.asm | INTEL
166 Ia32/WriteMm5.asm | INTEL
167 Ia32/WriteMm4.asm | INTEL
168 Ia32/WriteMm3.asm | INTEL
169 Ia32/WriteMm2.asm | INTEL
170 Ia32/WriteMm1.asm | INTEL
171 Ia32/WriteMm0.asm | INTEL
172 Ia32/WriteLdtr.asm | INTEL
173 Ia32/WriteIdtr.asm | INTEL
174 Ia32/WriteGdtr.asm | INTEL
175 Ia32/WriteDr7.asm | INTEL
176 Ia32/WriteDr6.asm | INTEL
177 Ia32/WriteDr5.asm | INTEL
178 Ia32/WriteDr4.asm | INTEL
179 Ia32/WriteDr3.asm | INTEL
180 Ia32/WriteDr2.asm | INTEL
181 Ia32/WriteDr1.asm | INTEL
182 Ia32/WriteDr0.asm | INTEL
183 Ia32/WriteCr4.asm | INTEL
184 Ia32/WriteCr3.asm | INTEL
185 Ia32/WriteCr2.asm | INTEL
186 Ia32/WriteCr0.asm | INTEL
187 Ia32/WriteMsr64.asm | INTEL
188 Ia32/SwapBytes64.asm | INTEL
189 Ia32/SetJump.asm | INTEL
190 Ia32/RRotU64.asm | INTEL
191 Ia32/RShiftU64.asm | INTEL
192 Ia32/ReadPmc.asm | INTEL
193 Ia32/ReadTsc.asm | INTEL
194 Ia32/ReadLdtr.asm | INTEL
195 Ia32/ReadIdtr.asm | INTEL
196 Ia32/ReadGdtr.asm | INTEL
197 Ia32/ReadTr.asm | INTEL
198 Ia32/ReadSs.asm | INTEL
199 Ia32/ReadGs.asm | INTEL
200 Ia32/ReadFs.asm | INTEL
201 Ia32/ReadEs.asm | INTEL
202 Ia32/ReadDs.asm | INTEL
203 Ia32/ReadCs.asm | INTEL
204 Ia32/ReadMsr64.asm | INTEL
205 Ia32/ReadMm7.asm | INTEL
206 Ia32/ReadMm6.asm | INTEL
207 Ia32/ReadMm5.asm | INTEL
208 Ia32/ReadMm4.asm | INTEL
209 Ia32/ReadMm3.asm | INTEL
210 Ia32/ReadMm2.asm | INTEL
211 Ia32/ReadMm1.asm | INTEL
212 Ia32/ReadMm0.asm | INTEL
213 Ia32/ReadEflags.asm | INTEL
214 Ia32/ReadDr7.asm | INTEL
215 Ia32/ReadDr6.asm | INTEL
216 Ia32/ReadDr5.asm | INTEL
217 Ia32/ReadDr4.asm | INTEL
218 Ia32/ReadDr3.asm | INTEL
219 Ia32/ReadDr2.asm | INTEL
220 Ia32/ReadDr1.asm | INTEL
221 Ia32/ReadDr0.asm | INTEL
222 Ia32/ReadCr4.asm | INTEL
223 Ia32/ReadCr3.asm | INTEL
224 Ia32/ReadCr2.asm | INTEL
225 Ia32/ReadCr0.asm | INTEL
226 Ia32/Mwait.asm | INTEL
227 Ia32/Monitor.asm | INTEL
228 Ia32/ModU64x32.asm | INTEL
229 Ia32/MultU64x64.asm | INTEL
230 Ia32/MultU64x32.asm | INTEL
231 Ia32/LShiftU64.asm | INTEL
232 Ia32/LRotU64.asm | INTEL
233 Ia32/LongJump.asm | INTEL
234 Ia32/Invd.asm | INTEL
235 Ia32/FxRestore.asm | INTEL
236 Ia32/FxSave.asm | INTEL
237 Ia32/FlushCacheLine.asm | INTEL
238 Ia32/EnablePaging32.asm | INTEL
239 Ia32/EnableInterrupts.asm | INTEL
240 Ia32/EnableDisableInterrupts.asm | INTEL
241 Ia32/DivU64x64Remainder.asm | INTEL
242 Ia32/DivU64x32Remainder.asm | INTEL
243 Ia32/DivU64x32.asm | INTEL
244 Ia32/DisablePaging32.asm | INTEL
245 Ia32/DisableInterrupts.asm | INTEL
246 Ia32/CpuPause.asm | INTEL
247 Ia32/CpuIdEx.asm | INTEL
248 Ia32/CpuId.asm | INTEL
249 Ia32/CpuBreakpoint.asm | INTEL
250 Ia32/ARShiftU64.asm | INTEL
251 Ia32/Thunk16.asm | INTEL
252 Ia32/EnablePaging64.asm | INTEL
253 Ia32/EnableCache.asm | INTEL
254 Ia32/DisableCache.asm | INTEL
255
256 Ia32/GccInline.c | GCC
257 Ia32/Thunk16.nasm | GCC
258 Ia32/EnableDisableInterrupts.S | GCC
259 Ia32/EnablePaging64.S | GCC
260 Ia32/DisablePaging32.S | GCC
261 Ia32/EnablePaging32.S | GCC
262 Ia32/Mwait.S | GCC
263 Ia32/Monitor.S | GCC
264 Ia32/CpuIdEx.S | GCC
265 Ia32/CpuId.S | GCC
266 Ia32/LongJump.S | GCC
267 Ia32/SetJump.S | GCC
268 Ia32/SwapBytes64.S | GCC
269 Ia32/DivU64x64Remainder.S | GCC
270 Ia32/DivU64x32Remainder.S | GCC
271 Ia32/ModU64x32.S | GCC
272 Ia32/DivU64x32.S | GCC
273 Ia32/MultU64x64.S | GCC
274 Ia32/MultU64x32.S | GCC
275 Ia32/RRotU64.S | GCC
276 Ia32/LRotU64.S | GCC
277 Ia32/ARShiftU64.S | GCC
278 Ia32/RShiftU64.S | GCC
279 Ia32/LShiftU64.S | GCC
280 Ia32/EnableCache.S | GCC
281 Ia32/DisableCache.S | GCC
282
283 Ia32/DivS64x64Remainder.c
284 Ia32/InternalSwitchStack.c | MSFT
285 Ia32/InternalSwitchStack.c | INTEL
286 Ia32/InternalSwitchStack.S | GCC
287 Ia32/Non-existing.c
288 Unaligned.c
289 X86WriteIdtr.c
290 X86WriteGdtr.c
291 X86Thunk.c
292 X86ReadIdtr.c
293 X86ReadGdtr.c
294 X86Msr.c
295 X86MemoryFence.c | MSFT
296 X86MemoryFence.c | INTEL
297 X86GetInterruptState.c
298 X86FxSave.c
299 X86FxRestore.c
300 X86EnablePaging64.c
301 X86EnablePaging32.c
302 X86DisablePaging64.c
303 X86DisablePaging32.c
304
305[Sources.X64]
306 X64/Thunk16.asm
307 X64/CpuPause.asm
308 X64/EnableDisableInterrupts.asm
309 X64/DisableInterrupts.asm
310 X64/EnableInterrupts.asm
311 X64/FlushCacheLine.asm
312 X64/Invd.asm
313 X64/Wbinvd.asm
314 X64/DisablePaging64.asm
315 X64/Mwait.asm
316 X64/Monitor.asm
317 X64/ReadPmc.asm
318 X64/ReadTsc.asm
319 X64/WriteMm7.asm
320 X64/WriteMm6.asm
321 X64/WriteMm5.asm
322 X64/WriteMm4.asm
323 X64/WriteMm3.asm
324 X64/WriteMm2.asm
325 X64/WriteMm1.asm
326 X64/WriteMm0.asm
327 X64/ReadMm7.asm
328 X64/ReadMm6.asm
329 X64/ReadMm5.asm
330 X64/ReadMm4.asm
331 X64/ReadMm3.asm
332 X64/ReadMm2.asm
333 X64/ReadMm1.asm
334 X64/ReadMm0.asm
335 X64/FxRestore.asm
336 X64/FxSave.asm
337 X64/WriteLdtr.asm
338 X64/ReadLdtr.asm
339 X64/WriteIdtr.asm
340 X64/ReadIdtr.asm
341 X64/WriteGdtr.asm
342 X64/ReadGdtr.asm
343 X64/ReadTr.asm
344 X64/ReadSs.asm
345 X64/ReadGs.asm
346 X64/ReadFs.asm
347 X64/ReadEs.asm
348 X64/ReadDs.asm
349 X64/ReadCs.asm
350 X64/WriteDr7.asm
351 X64/WriteDr6.asm
352 X64/WriteDr5.asm
353 X64/WriteDr4.asm
354 X64/WriteDr3.asm
355 X64/WriteDr2.asm
356 X64/WriteDr1.asm
357 X64/WriteDr0.asm
358 X64/ReadDr7.asm
359 X64/ReadDr6.asm
360 X64/ReadDr5.asm
361 X64/ReadDr4.asm
362 X64/ReadDr3.asm
363 X64/ReadDr2.asm
364 X64/ReadDr1.asm
365 X64/ReadDr0.asm
366 X64/WriteCr4.asm
367 X64/WriteCr3.asm
368 X64/WriteCr2.asm
369 X64/WriteCr0.asm
370 X64/ReadCr4.asm
371 X64/ReadCr3.asm
372 X64/ReadCr2.asm
373 X64/ReadCr0.asm
374 X64/ReadEflags.asm
375 X64/CpuIdEx.asm
376 X64/CpuId.asm
377 X64/LongJump.asm
378 X64/SetJump.asm
379 X64/SwitchStack.asm
380 X64/EnableCache.asm
381 X64/DisableCache.asm
382
383 X64/CpuBreakpoint.c | MSFT
384 X64/WriteMsr64.c | MSFT
385 X64/ReadMsr64.c | MSFT
386
387 X64/CpuBreakpoint.asm | INTEL
388 X64/WriteMsr64.asm | INTEL
389 X64/ReadMsr64.asm | INTEL
390
391 X64/Non-existing.c
392 Math64.c
393 Unaligned.c
394 X86WriteIdtr.c
395 X86WriteGdtr.c
396 X86Thunk.c
397 X86ReadIdtr.c
398 X86ReadGdtr.c
399 X86Msr.c
400 X86MemoryFence.c | MSFT
401 X86MemoryFence.c | INTEL
402 X86GetInterruptState.c
403 X86FxSave.c
404 X86FxRestore.c
405 X86EnablePaging64.c
406 X86EnablePaging32.c
407 X86DisablePaging64.c
408 X86DisablePaging32.c
409 X64/GccInline.c | GCC
410 X64/Thunk16.nasm | GCC
411 X64/SwitchStack.S | GCC
412 X64/SetJump.S | GCC
413 X64/LongJump.S | GCC
414 X64/EnableDisableInterrupts.S | GCC
415 X64/DisablePaging64.S | GCC
416 X64/CpuId.S | GCC
417 X64/CpuIdEx.S | GCC
418 X64/EnableCache.S | GCC
419 X64/DisableCache.S | GCC
420 ChkStkGcc.c | GCC
421
422[Sources.IPF]
423 Ipf/AccessGp.s
424 Ipf/ReadCpuid.s
425 Ipf/ExecFc.s
426 Ipf/AsmPalCall.s
427 Ipf/AccessPsr.s
428 Ipf/AccessPmr.s
429 Ipf/AccessKr.s
430 Ipf/AccessKr7.s
431 Ipf/AccessGcr.s
432 Ipf/AccessEicr.s
433 Ipf/AccessDbr.s
434 Ipf/AccessMsr.s | INTEL
435 Ipf/AccessMsr.s | GCC
436 Ipf/AccessMsrDb.s | MSFT
437 Ipf/InternalFlushCacheRange.s
438 Ipf/FlushCacheRange.c
439 Ipf/InternalSwitchStack.c
440 Ipf/GetInterruptState.s
441 Ipf/CpuPause.s
442 Ipf/CpuBreakpoint.c | INTEL
443 Ipf/CpuBreakpointMsc.c | MSFT
444 Ipf/AsmCpuMisc.s | GCC
445 Ipf/Unaligned.c
446 Ipf/SwitchStack.s
447 Ipf/LongJmp.s
448 Ipf/SetJmp.s
449 Ipf/ReadCr.s
450 Ipf/ReadAr.s
451 Ipf/Ia64gen.h
452 Ipf/Asm.h
453 Math64.c
454
455[Sources.EBC]
456 Ebc/CpuBreakpoint.c
457 Ebc/SetJumpLongJump.c
458 Ebc/SwitchStack.c
459 Unaligned.c
460 Math64.c
461
462[Sources.ARM]
463 Arm/InternalSwitchStack.c
464 Arm/Unaligned.c
465 Math64.c | RVCT
466
467 Arm/SwitchStack.asm | RVCT
468 Arm/SetJumpLongJump.asm | RVCT
469 Arm/DisableInterrupts.asm | RVCT
470 Arm/EnableInterrupts.asm | RVCT
471 Arm/GetInterruptsState.asm | RVCT
472 Arm/CpuPause.asm | RVCT
473 Arm/CpuBreakpoint.asm | RVCT
474 Arm/MemoryFence.asm | RVCT
475
476 Arm/Math64.S | GCC
477 Arm/SwitchStack.S | GCC
478 Arm/EnableInterrupts.S | GCC
479 Arm/DisableInterrupts.S | GCC
480 Arm/GetInterruptsState.S | GCC
481 Arm/SetJumpLongJump.S | GCC
482 Arm/CpuBreakpoint.S | GCC
483 Arm/MemoryFence.S | GCC
484
485[Sources.AARCH64]
486 Arm/InternalSwitchStack.c
487 Arm/Unaligned.c
488 Math64.c
489
490 AArch64/MemoryFence.S | GCC
491 AArch64/SwitchStack.S | GCC
492 AArch64/EnableInterrupts.S | GCC
493 AArch64/DisableInterrupts.S | GCC
494 AArch64/GetInterruptsState.S | GCC
495 AArch64/SetJumpLongJump.S | GCC
496 AArch64/CpuBreakpoint.S | GCC
497
498[Packages]
499 MdePkg/MdePkg.dec
500
501[LibraryClasses]
502 PcdLib
503 DebugLib
504 BaseMemoryLib
505
506[Pcd]
507 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength ## SOMETIMES_CONSUMES
508 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength ## SOMETIMES_CONSUMES
509 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength ## SOMETIMES_CONSUMES
510 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask ## SOMETIMES_CONSUMES
511
512[FeaturePcd]
513 gEfiMdePkgTokenSpaceGuid.PcdVerifyNodeInList ## CONSUMES