1## @file
2#  Base Synchronization 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#
7#  This program and the accompanying materials
8#  are licensed and made available under the terms and conditions of the BSD License
9#  which accompanies this distribution. The full text of the license may be found at
10#  http://opensource.org/licenses/bsd-license.php.
11#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13#
14#
15##
16
17[Defines]
18  INF_VERSION                    = 0x00010005
19  BASE_NAME                      = BaseSynchronizationLib
20  MODULE_UNI_FILE                = BaseSynchronizationLib.uni
21  FILE_GUID                      = FC9990DF-C5FF-44cf-8799-CBB45B577F87
22  MODULE_TYPE                    = BASE
23  VERSION_STRING                 = 1.0
24  LIBRARY_CLASS                  = SynchronizationLib
25
26#
27#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC ARM AARCH64
28#
29[Sources]
30  BaseSynchronizationLibInternals.h
31
32[Sources.IA32]
33  Ia32/InterlockedCompareExchange64.c | MSFT
34  Ia32/InterlockedCompareExchange32.c | MSFT
35  Ia32/InterlockedCompareExchange16.c | MSFT
36  Ia32/InterlockedDecrement.c | MSFT
37  Ia32/InterlockedIncrement.c | MSFT
38  SynchronizationMsc.c  | MSFT
39
40  Ia32/InterlockedCompareExchange64.asm | INTEL
41  Ia32/InterlockedCompareExchange32.asm | INTEL
42  Ia32/InterlockedCompareExchange16.asm | INTEL
43  Ia32/InterlockedDecrement.asm | INTEL
44  Ia32/InterlockedIncrement.asm | INTEL
45  Synchronization.c | INTEL
46
47  Ia32/GccInline.c | GCC
48  SynchronizationGcc.c  | GCC
49
50[Sources.X64]
51  X64/InterlockedCompareExchange64.c | MSFT
52  X64/InterlockedCompareExchange32.c | MSFT
53  X64/InterlockedCompareExchange16.c | MSFT
54
55  X64/InterlockedCompareExchange64.asm | INTEL
56  X64/InterlockedCompareExchange32.asm | INTEL
57  X64/InterlockedCompareExchange16.asm | INTEL
58
59  X64/InterlockedDecrement.c | MSFT
60  X64/InterlockedIncrement.c | MSFT
61  SynchronizationMsc.c | MSFT
62
63  X64/InterlockedDecrement.asm | INTEL
64  X64/InterlockedIncrement.asm | INTEL
65  Synchronization.c | INTEL
66
67  X64/GccInline.c | GCC
68  SynchronizationGcc.c  | GCC
69
70[Sources.IPF]
71  Ipf/Synchronization.c
72  Ipf/InterlockedCompareExchange64.s
73  Ipf/InterlockedCompareExchange32.s
74  Ipf/InterlockedCompareExchange16.s
75
76  Synchronization.c     | INTEL
77  SynchronizationMsc.c  | MSFT
78  SynchronizationGcc.c  | GCC
79
80[Sources.EBC]
81  Synchronization.c
82  Ebc/Synchronization.c
83
84[Sources.ARM]
85  Synchronization.c
86  Arm/Synchronization.asm       | RVCT
87  Arm/Synchronization.S         | GCC
88
89[Sources.AARCH64]
90  Synchronization.c
91  AArch64/Synchronization.S
92
93[Packages]
94  MdePkg/MdePkg.dec
95
96[LibraryClasses]
97  PcdLib
98  TimerLib
99  DebugLib
100  BaseMemoryLib
101
102[Pcd]
103  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout  ## SOMETIMES_CONSUMES
104
105