1## @file
2#  Base Synchronization Library implementation.
3#
4#  Copyright (c) 2007 - 2016, 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/InternalGetSpinLockProperties.c | MSFT
34  Ia32/InterlockedCompareExchange64.c | MSFT
35  Ia32/InterlockedCompareExchange32.c | MSFT
36  Ia32/InterlockedCompareExchange16.c | MSFT
37  Ia32/InterlockedDecrement.c | MSFT
38  Ia32/InterlockedIncrement.c | MSFT
39  SynchronizationMsc.c  | MSFT
40
41  Ia32/InterlockedCompareExchange64.nasm| INTEL
42  Ia32/InterlockedCompareExchange64.asm | INTEL
43  Ia32/InterlockedCompareExchange32.nasm| INTEL
44  Ia32/InterlockedCompareExchange32.asm | INTEL
45  Ia32/InterlockedCompareExchange16.nasm| INTEL
46  Ia32/InterlockedCompareExchange16.asm | INTEL
47  Ia32/InterlockedDecrement.nasm| INTEL
48  Ia32/InterlockedDecrement.asm | INTEL
49  Ia32/InterlockedIncrement.nasm| INTEL
50  Ia32/InterlockedIncrement.asm | INTEL
51  Synchronization.c | INTEL
52
53  Ia32/InternalGetSpinLockProperties.c | GCC
54  Ia32/GccInline.c | GCC
55  SynchronizationGcc.c  | GCC
56
57[Sources.X64]
58  Ia32/InternalGetSpinLockProperties.c | MSFT
59  X64/InterlockedCompareExchange64.c | MSFT
60  X64/InterlockedCompareExchange32.c | MSFT
61  X64/InterlockedCompareExchange16.c | MSFT
62
63  X64/InterlockedCompareExchange64.nasm| INTEL
64  X64/InterlockedCompareExchange64.asm | INTEL
65  X64/InterlockedCompareExchange32.nasm| INTEL
66  X64/InterlockedCompareExchange32.asm | INTEL
67  X64/InterlockedCompareExchange16.nasm| INTEL
68  X64/InterlockedCompareExchange16.asm | INTEL
69
70  X64/InterlockedDecrement.c | MSFT
71  X64/InterlockedIncrement.c | MSFT
72  SynchronizationMsc.c | MSFT
73
74  X64/InterlockedDecrement.nasm| INTEL
75  X64/InterlockedDecrement.asm | INTEL
76  X64/InterlockedIncrement.nasm| INTEL
77  X64/InterlockedIncrement.asm | INTEL
78  Synchronization.c | INTEL
79
80  Ia32/InternalGetSpinLockProperties.c | GCC
81  X64/GccInline.c | GCC
82  SynchronizationGcc.c  | GCC
83
84[Sources.IPF]
85  Ipf/Synchronization.c
86  Ipf/InterlockedCompareExchange64.s
87  Ipf/InterlockedCompareExchange32.s
88  Ipf/InterlockedCompareExchange16.s
89
90  Ipf/InternalGetSpinLockProperties.c | MSFT
91  Ipf/InternalGetSpinLockProperties.c | GCC
92
93  Synchronization.c     | INTEL
94  SynchronizationMsc.c  | MSFT
95  SynchronizationGcc.c  | GCC
96
97[Sources.EBC]
98  Synchronization.c
99  Ebc/Synchronization.c
100
101[Sources.ARM]
102  Synchronization.c
103  Arm/Synchronization.asm       | RVCT
104  Arm/Synchronization.S         | GCC
105
106[Sources.AARCH64]
107  Synchronization.c
108  AArch64/Synchronization.S
109
110[Packages]
111  MdePkg/MdePkg.dec
112
113[LibraryClasses]
114  PcdLib
115  TimerLib
116  DebugLib
117  BaseMemoryLib
118
119[Pcd]
120  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout  ## SOMETIMES_CONSUMES
121
122