Updated to support compiler intrinsics properly. I had to comment out some of the...
[mirror_edk2.git] / MdePkg / Library / BaseLib / BaseLib.inf
CommitLineData
e1f414b6 1#/** @file\r
2# Component description file for Base Library\r
3#\r
4# Base Library implementation.\r
5# Copyright (c) 2007 - 2007, Intel Corporation.\r
6#\r
7# All rights reserved. This program and the accompanying materials\r
8# are licensed and made available under the terms and conditions of the BSD License\r
9# which accompanies this distribution. The full text of the license may be found at\r
10# http://opensource.org/licenses/bsd-license.php\r
11# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13#\r
14#\r
15#**/\r
16\r
17################################################################################\r
18#\r
19# Defines Section - statements that will be processed to create a Makefile.\r
20#\r
21################################################################################\r
22[Defines]\r
23 INF_VERSION = 0x00010005\r
24 BASE_NAME = BaseLib\r
25 FILE_GUID = 27d67720-ea68-48ae-93da-a3a074c90e30\r
26 MODULE_TYPE = BASE\r
27 VERSION_STRING = 1.0\r
28 LIBRARY_CLASS = BaseLib \r
29 EDK_RELEASE_VERSION = 0x00020000\r
30 EFI_SPECIFICATION_VERSION = 0x00020000\r
31\r
32\r
33#\r
34# The following information is for reference only and not required by the build tools.\r
35#\r
36# VALID_ARCHITECTURES = IA32 X64 IPF EBC\r
37#\r
38\r
39################################################################################\r
40#\r
41# Sources Section - list of files that are required for the build to succeed.\r
42#\r
43################################################################################\r
44\r
45[Sources.common]\r
46 CheckSum.c\r
47 SwitchStack.c\r
48 SwapBytes64.c\r
49 SwapBytes32.c\r
50 SwapBytes16.c\r
51 LongJump.c\r
52 SetJump.c\r
53 RShiftU64.c\r
54 RRotU64.c\r
55 RRotU32.c\r
56 MultU64x64.c\r
57 MultU64x32.c\r
58 MultS64x64.c\r
59 ModU64x32.c\r
60 LShiftU64.c\r
61 LRotU64.c\r
62 LRotU32.c\r
63 LowBitSet64.c\r
64 LowBitSet32.c\r
65 HighBitSet64.c\r
66 HighBitSet32.c\r
67 GetPowerOfTwo64.c\r
68 GetPowerOfTwo32.c\r
69 DivU64x64Remainder.c\r
70 DivU64x32Remainder.c\r
71 DivU64x32.c\r
72 DivS64x64Remainder.c\r
73 ARShiftU64.c\r
74 BitField.c\r
75 CpuDeadLoop.c\r
76 Cpu.c\r
77 LinkedList.c\r
78 String.c\r
79 BaseLibInternals.h\r
80 CommonHeader.h\r
81\r
82[Sources.Ia32]\r
83 Ia32/Wbinvd.c\r
84 Ia32/WriteMm7.c\r
85 Ia32/WriteMm6.c\r
86 Ia32/WriteMm5.c\r
87 Ia32/WriteMm4.c\r
88 Ia32/WriteMm3.c\r
89 Ia32/WriteMm2.c\r
90 Ia32/WriteMm1.c\r
91 Ia32/WriteMm0.c\r
92 Ia32/WriteLdtr.c\r
93 Ia32/WriteIdtr.c\r
94 Ia32/WriteGdtr.c\r
95 Ia32/WriteDr7.c\r
96 Ia32/WriteDr6.c\r
97 Ia32/WriteDr5.c\r
98 Ia32/WriteDr4.c\r
99 Ia32/WriteDr3.c\r
100 Ia32/WriteDr2.c\r
101 Ia32/WriteDr1.c\r
102 Ia32/WriteDr0.c\r
103 Ia32/WriteCr4.c\r
104 Ia32/WriteCr3.c\r
105 Ia32/WriteCr2.c\r
106 Ia32/WriteCr0.c\r
107 Ia32/WriteMsr64.c\r
108 Ia32/Thunk16.asm\r
109 Ia32/SwapBytes64.c\r
110 Ia32/SetJump.c\r
111 Ia32/RRotU64.c\r
112 Ia32/RShiftU64.c\r
113 Ia32/ReadPmc.c\r
114 Ia32/ReadTsc.c\r
115 Ia32/ReadLdtr.c\r
116 Ia32/ReadIdtr.c\r
117 Ia32/ReadGdtr.c\r
118 Ia32/ReadTr.c\r
119 Ia32/ReadSs.c\r
120 Ia32/ReadGs.c\r
121 Ia32/ReadFs.c\r
122 Ia32/ReadEs.c\r
123 Ia32/ReadDs.c\r
124 Ia32/ReadCs.c\r
125 Ia32/ReadMsr64.c\r
126 Ia32/ReadMm7.c\r
127 Ia32/ReadMm6.c\r
128 Ia32/ReadMm5.c\r
129 Ia32/ReadMm4.c\r
130 Ia32/ReadMm3.c\r
131 Ia32/ReadMm2.c\r
132 Ia32/ReadMm1.c\r
133 Ia32/ReadMm0.c\r
134 Ia32/ReadEflags.c\r
135 Ia32/ReadDr7.c\r
136 Ia32/ReadDr6.c\r
137 Ia32/ReadDr5.c\r
138 Ia32/ReadDr4.c\r
139 Ia32/ReadDr3.c\r
140 Ia32/ReadDr2.c\r
141 Ia32/ReadDr1.c\r
142 Ia32/ReadDr0.c\r
143 Ia32/ReadCr4.c\r
144 Ia32/ReadCr3.c\r
145 Ia32/ReadCr2.c\r
146 Ia32/ReadCr0.c\r
147 Ia32/Mwait.c\r
148 Ia32/Monitor.c\r
149 Ia32/ModU64x32.c\r
150 Ia32/MultU64x64.c\r
151 Ia32/MultU64x32.c\r
152 Ia32/LShiftU64.c\r
153 Ia32/LRotU64.c\r
154 Ia32/LongJump.c\r
155 Ia32/Invd.c\r
156 Ia32/InterlockedCompareExchange64.c\r
157 Ia32/InterlockedCompareExchange32.c\r
158 Ia32/InterlockedDecrement.c\r
159 Ia32/InterlockedIncrement.c\r
160 Ia32/FxRestore.c\r
161 Ia32/FxSave.c\r
162 Ia32/FlushCacheLine.c\r
163 Ia32/EnablePaging64.asm\r
164 Ia32/EnablePaging32.c\r
165 Ia32/EnableInterrupts.c\r
166 Ia32/EnableDisableInterrupts.c\r
167 Ia32/DivU64x64Remainder.c\r
168 Ia32/DivU64x32Remainder.c\r
169 Ia32/DivU64x32.c\r
170 Ia32/DisablePaging32.c\r
171 Ia32/DisableInterrupts.c\r
172 Ia32/CpuPause.c\r
173 Ia32/CpuIdEx.c\r
174 Ia32/CpuId.c\r
175 Ia32/CpuSleep.c\r
176 Ia32/CpuFlushTlb.c\r
177 Ia32/CpuBreakpoint.c\r
178 Ia32/ARShiftU64.c\r
179 Ia32/Thunk16.S\r
180 Ia32/CpuFlushTlb.S\r
181 Ia32/CpuBreakpoint.S\r
182 Ia32/CpuPause.S\r
183 Ia32/CpuSleep.S\r
184 Ia32/EnableDisableInterrupts.S\r
185 Ia32/DisableInterrupts.S\r
186 Ia32/EnableInterrupts.S\r
187 Ia32/InterlockedCompareExchange64.S\r
188 Ia32/InterlockedCompareExchange32.S\r
189 Ia32/InterlockedDecrement.S\r
190 Ia32/InterlockedIncrement.S\r
191 Ia32/FlushCacheLine.S\r
192 Ia32/Invd.S\r
193 Ia32/Wbinvd.S\r
194 Ia32/EnablePaging64.S\r
195 Ia32/DisablePaging32.S\r
196 Ia32/EnablePaging32.S\r
197 Ia32/Mwait.S\r
198 Ia32/Monitor.S\r
199 Ia32/ReadPmc.S\r
200 Ia32/ReadTsc.S\r
201 Ia32/WriteMm7.S\r
202 Ia32/WriteMm6.S\r
203 Ia32/WriteMm5.S\r
204 Ia32/WriteMm4.S\r
205 Ia32/WriteMm3.S\r
206 Ia32/WriteMm2.S\r
207 Ia32/WriteMm1.S\r
208 Ia32/WriteMm0.S\r
209 Ia32/ReadMm7.S\r
210 Ia32/ReadMm6.S\r
211 Ia32/ReadMm5.S\r
212 Ia32/ReadMm4.S\r
213 Ia32/ReadMm3.S\r
214 Ia32/ReadMm2.S\r
215 Ia32/ReadMm1.S\r
216 Ia32/ReadMm0.S\r
217 Ia32/FxRestore.S\r
218 Ia32/FxSave.S\r
219 Ia32/WriteLdtr.S\r
220 Ia32/ReadLdtr.S\r
221 Ia32/WriteIdtr.S\r
222 Ia32/ReadIdtr.S\r
223 Ia32/WriteGdtr.S\r
224 Ia32/ReadGdtr.S\r
225 Ia32/ReadTr.S\r
226 Ia32/ReadSs.S\r
227 Ia32/ReadGs.S\r
228 Ia32/ReadFs.S\r
229 Ia32/ReadEs.S\r
230 Ia32/ReadDs.S\r
231 Ia32/ReadCs.S\r
232 Ia32/WriteDr7.S\r
233 Ia32/WriteDr6.S\r
234 Ia32/WriteDr5.S\r
235 Ia32/WriteDr4.S\r
236 Ia32/WriteDr3.S\r
237 Ia32/WriteDr2.S\r
238 Ia32/WriteDr1.S\r
239 Ia32/WriteDr0.S\r
240 Ia32/ReadDr7.S\r
241 Ia32/ReadDr6.S\r
242 Ia32/ReadDr5.S\r
243 Ia32/ReadDr4.S\r
244 Ia32/ReadDr3.S\r
245 Ia32/ReadDr2.S\r
246 Ia32/ReadDr1.S\r
247 Ia32/ReadDr0.S\r
248 Ia32/WriteCr4.S\r
249 Ia32/WriteCr3.S\r
250 Ia32/WriteCr2.S\r
251 Ia32/WriteCr0.S\r
252 Ia32/ReadCr4.S\r
253 Ia32/ReadCr3.S\r
254 Ia32/ReadCr2.S\r
255 Ia32/ReadCr0.S\r
256 Ia32/WriteMsr64.S\r
257 Ia32/ReadMsr64.S\r
258 Ia32/ReadEflags.S\r
259 Ia32/CpuIdEx.S\r
260 Ia32/CpuId.S\r
261 Ia32/LongJump.S\r
262 Ia32/SetJump.S\r
263 Ia32/SwapBytes64.S\r
264 Ia32/DivU64x64Remainder.S\r
265 Ia32/DivU64x32Remainder.S\r
266 Ia32/ModU64x32.S\r
267 Ia32/DivU64x32.S\r
268 Ia32/MultU64x64.S\r
269 Ia32/MultU64x32.S\r
270 Ia32/RRotU64.S\r
271 Ia32/LRotU64.S\r
272 Ia32/ARShiftU64.S\r
273 Ia32/RShiftU64.S\r
274 Ia32/LShiftU64.S\r
275 Ia32/DivS64x64Remainder.c\r
276 Ia32/InternalSwitchStack.c\r
277 Ia32/Non-existing.c\r
278 Unaligned.c\r
279 x86WriteIdtr.c\r
280 x86WriteGdtr.c\r
281 x86Thunk.c\r
282 x86ReadIdtr.c\r
283 x86ReadGdtr.c\r
284 x86Msr.c\r
285 x86MemoryFence.c\r
286 x86GetInterruptState.c\r
287 x86FxSave.c\r
288 x86FxRestore.c\r
289 x86EnablePaging64.c\r
290 x86EnablePaging32.c\r
291 x86DisablePaging64.c\r
292 x86DisablePaging32.c\r
479b520d
A
293# SynchronizationMsc.c #|| INTC\r
294 SynchronizationMsc.c #|| MSFT\r
295# SynchronizationGcc.c || GCC\r
e1f414b6 296\r
297[Sources.X64]\r
298 X64/Thunk16.asm\r
299 X64/CpuFlushTlb.asm\r
300 X64/CpuBreakpoint.c\r
301 X64/CpuPause.asm\r
302 X64/CpuSleep.asm\r
303 X64/EnableDisableInterrupts.asm\r
304 X64/DisableInterrupts.asm\r
305 X64/EnableInterrupts.asm\r
306 X64/InterlockedCompareExchange64.asm\r
307 X64/InterlockedCompareExchange32.asm\r
308 X64/InterlockedDecrement.c\r
309 X64/InterlockedIncrement.c\r
310 X64/FlushCacheLine.asm\r
311 X64/Invd.asm\r
312 X64/Wbinvd.asm\r
313 X64/DisablePaging64.asm\r
314 X64/EnablePaging64.asm\r
315 X64/Mwait.asm\r
316 X64/Monitor.asm\r
317 X64/ReadPmc.asm\r
318 X64/ReadTsc.asm\r
319 X64/WriteMm7.asm\r
320 X64/WriteMm6.asm\r
321 X64/WriteMm5.asm\r
322 X64/WriteMm4.asm\r
323 X64/WriteMm3.asm\r
324 X64/WriteMm2.asm\r
325 X64/WriteMm1.asm\r
326 X64/WriteMm0.asm\r
327 X64/ReadMm7.asm\r
328 X64/ReadMm6.asm\r
329 X64/ReadMm5.asm\r
330 X64/ReadMm4.asm\r
331 X64/ReadMm3.asm\r
332 X64/ReadMm2.asm\r
333 X64/ReadMm1.asm\r
334 X64/ReadMm0.asm\r
335 X64/FxRestore.asm\r
336 X64/FxSave.asm\r
337 X64/WriteLdtr.asm\r
338 X64/ReadLdtr.asm\r
339 X64/WriteIdtr.asm\r
340 X64/ReadIdtr.asm\r
341 X64/WriteGdtr.asm\r
342 X64/ReadGdtr.asm\r
343 X64/ReadTr.asm\r
344 X64/ReadSs.asm\r
345 X64/ReadGs.asm\r
346 X64/ReadFs.asm\r
347 X64/ReadEs.asm\r
348 X64/ReadDs.asm\r
349 X64/ReadCs.asm\r
350 X64/WriteDr7.asm\r
351 X64/WriteDr6.asm\r
352 X64/WriteDr5.asm\r
353 X64/WriteDr4.asm\r
354 X64/WriteDr3.asm\r
355 X64/WriteDr2.asm\r
356 X64/WriteDr1.asm\r
357 X64/WriteDr0.asm\r
358 X64/ReadDr7.asm\r
359 X64/ReadDr6.asm\r
360 X64/ReadDr5.asm\r
361 X64/ReadDr4.asm\r
362 X64/ReadDr3.asm\r
363 X64/ReadDr2.asm\r
364 X64/ReadDr1.asm\r
365 X64/ReadDr0.asm\r
366 X64/WriteCr4.asm\r
367 X64/WriteCr3.asm\r
368 X64/WriteCr2.asm\r
369 X64/WriteCr0.asm\r
370 X64/ReadCr4.asm\r
371 X64/ReadCr3.asm\r
372 X64/ReadCr2.asm\r
373 X64/ReadCr0.asm\r
374 X64/WriteMsr64.c\r
375 X64/ReadMsr64.c\r
376 X64/ReadEflags.asm\r
377 X64/CpuIdEx.asm\r
378 X64/CpuId.asm\r
379 X64/LongJump.asm\r
380 X64/SetJump.asm\r
381 X64/SwitchStack.asm\r
382 X64/Non-existing.c\r
383 Math64.c\r
384 Unaligned.c\r
385 x86WriteIdtr.c\r
386 x86WriteGdtr.c\r
387 x86Thunk.c\r
388 x86ReadIdtr.c\r
389 x86ReadGdtr.c\r
390 x86Msr.c\r
391 x86MemoryFence.c\r
392 x86GetInterruptState.c\r
393 x86FxSave.c\r
394 x86FxRestore.c\r
395 x86EnablePaging64.c\r
396 x86EnablePaging32.c\r
397 x86DisablePaging64.c\r
398 x86DisablePaging32.c\r
399 X64/WriteMsr64.S\r
400 X64/WriteMm7.S\r
401 X64/WriteMm6.S\r
402 X64/WriteMm5.S\r
403 X64/WriteMm4.S\r
404 X64/WriteMm3.S\r
405 X64/WriteMm2.S\r
406 X64/WriteMm1.S\r
407 X64/WriteMm0.S\r
408 X64/WriteLdtr.S\r
409 X64/WriteIdtr.S\r
410 X64/WriteGdtr.S\r
411 X64/WriteDr7.S\r
412 X64/WriteDr6.S\r
413 X64/WriteDr5.S\r
414 X64/WriteDr4.S\r
415 X64/WriteDr3.S\r
416 X64/WriteDr2.S\r
417 X64/WriteDr1.S\r
418 X64/WriteDr0.S\r
419 X64/WriteCr4.S\r
420 X64/WriteCr3.S\r
421 X64/WriteCr2.S\r
422 X64/WriteCr0.S\r
423 X64/Wbinvd.S\r
424 X64/Thunk16.S\r
425 X64/SwitchStack.S\r
426 X64/SetJump.S\r
427 X64/ReadTsc.S\r
428 X64/ReadTr.S\r
429 X64/ReadSs.S\r
430 X64/ReadPmc.S\r
431 X64/ReadMsr64.S\r
432 X64/ReadMm7.S\r
433 X64/ReadMm6.S\r
434 X64/ReadMm5.S\r
435 X64/ReadMm4.S\r
436 X64/ReadMm3.S\r
437 X64/ReadMm2.S\r
438 X64/ReadMm1.S\r
439 X64/ReadMm0.S\r
440 X64/ReadLdtr.S\r
441 X64/ReadIdtr.S\r
442 X64/ReadGs.S\r
443 X64/ReadGdtr.S\r
444 X64/ReadFs.S\r
445 X64/ReadEs.S\r
446 X64/ReadEflags.S\r
447 X64/ReadDs.S\r
448 X64/ReadDr7.S\r
449 X64/ReadDr6.S\r
450 X64/ReadDr5.S\r
451 X64/ReadDr4.S\r
452 X64/ReadDr3.S\r
453 X64/ReadDr2.S\r
454 X64/ReadDr1.S\r
455 X64/ReadDr0.S\r
456 X64/ReadCs.S\r
457 X64/ReadCr4.S\r
458 X64/ReadCr3.S\r
459 X64/ReadCr2.S\r
460 X64/ReadCr0.S\r
461 X64/Mwait.S\r
462 X64/Monitor.S\r
463 X64/LongJump.S\r
464 X64/Invd.S\r
465 X64/InterlockedIncrement.S\r
466 X64/InterlockedDecrement.S\r
467 X64/InterlockedCompareExchange64.S\r
468 X64/InterlockedCompareExchange32.S\r
469 X64/FxSave.S\r
470 X64/FxRestore.S\r
471 X64/FlushCacheLine.S\r
472 X64/EnablePaging64.S\r
473 X64/EnableInterrupts.S\r
474 X64/EnableDisableInterrupts.S\r
475 X64/DisablePaging64.S\r
476 X64/DisableInterrupts.S\r
477 X64/CpuSleep.S\r
478 X64/CpuPause.S\r
479 X64/CpuId.S\r
480 X64/CpuIdEx.S\r
481 X64/CpuFlushTlb.S\r
482 X64/CpuBreakpoint.S\r
483 Synchronization.c\r
484 SynchronizationMsc.c\r
485 SynchronizationGcc.c\r
486\r
487[Sources.IPF]\r
488 Ipf/AccessGp.s\r
489 Ipf/ReadCpuid.s\r
490 Ipf/ExecFc.s\r
491 Ipf/AsmPalCall.s\r
492 Ipf/AccessPsr.s\r
493 Ipf/AccessPmr.s\r
494 Ipf/AccessKr.s\r
495 Ipf/AccessGcr.s\r
496 Ipf/AccessEicr.s\r
497 Ipf/AccessDbr.s\r
498 Ipf/FlushCacheRange.s\r
499 Ipf/InternalSwitchStack.c\r
500 Ipf/GetInterruptState.s\r
501 Ipf/CpuFlushTlb.s\r
502 Ipf/CpuPause.s\r
503 Ipf/Synchronization.c\r
504 Ipf/InterlockedCompareExchange64.s\r
505 Ipf/InterlockedCompareExchange32.s\r
506 Ipf/CpuBreakpoint.c\r
507 Ipf/Unaligned.c\r
508 Ipf/SwitchStack.s\r
509 Ipf/longjmp.s\r
510 Ipf/setjmp.s\r
511 Ipf/PalCallStatic.s\r
512 Ipf/ia_64gen.h\r
513 Ipf/asm.h\r
514 Math64.c\r
515 Synchronization.c\r
516 SynchronizationMsc.c\r
517 SynchronizationGcc.c\r
518\r
519[Sources.EBC]\r
520 Synchronization.c\r
521 Ebc/Synchronization.c\r
522 Ebc/CpuBreakpoint.c\r
523 Ebc/SetJumpLongJump.c\r
524 Ebc/SwitchStack.c\r
525 Unaligned.c\r
526 Math64.c\r
527\r
528\r
529################################################################################\r
530#\r
531# Includes Section - list of Include locations that are required for\r
532# this module.\r
533#\r
534################################################################################\r
535\r
536[Includes]\r
537 $(WORKSPACE)/MdePkg\Include/Library\r
538\r
539################################################################################\r
540#\r
541# Package Dependency Section - list of Package files that are required for\r
542# this module.\r
543#\r
544################################################################################\r
545\r
546[Packages]\r
547 MdePkg/MdePkg.dec\r
548\r
549\r
550################################################################################\r
551#\r
552# Library Class Section - list of Library Classes that are required for\r
553# this module.\r
554#\r
555################################################################################\r
556\r
557[LibraryClasses]\r
558 PcdLib\r
559 TimerLib\r
560 DebugLib\r
561 BaseMemoryLib\r
562\r
563\r
564################################################################################\r
565#\r
566# Pcd FIXED_AT_BUILD - list of PCDs that this module is coded for.\r
567#\r
568################################################################################\r
569\r
570[PcdsFixedAtBuild.common]\r
571 PcdSpinLockTimeout|gEfiMdePkgTokenSpaceGuid\r
572 PcdMaximumLinkedListLength|gEfiMdePkgTokenSpaceGuid\r
573 PcdMaximumAsciiStringLength|gEfiMdePkgTokenSpaceGuid\r
574 PcdMaximumUnicodeStringLength|gEfiMdePkgTokenSpaceGuid\r
575\r