2 # Base Synchronization Library implementation.
4 # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
5 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
6 # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
7 # Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
9 # SPDX-License-Identifier: BSD-2-Clause-Patent
15 INF_VERSION = 0x00010005
16 BASE_NAME = BaseSynchronizationLib
17 MODULE_UNI_FILE = BaseSynchronizationLib.uni
18 FILE_GUID = FC9990DF-C5FF-44cf-8799-CBB45B577F87
21 LIBRARY_CLASS = SynchronizationLib
24 # VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64
27 BaseSynchronizationLibInternals.h
30 Ia32/InternalGetSpinLockProperties.c | MSFT
31 Ia32/InterlockedCompareExchange64.c | MSFT
32 Ia32/InterlockedCompareExchange32.c | MSFT
33 Ia32/InterlockedCompareExchange16.c | MSFT
34 InterlockedIncrementMsc.c | MSFT
35 InterlockedDecrementMsc.c | MSFT
36 SynchronizationMsc.c | MSFT
38 Ia32/InterlockedCompareExchange64.nasm| INTEL
39 Ia32/InterlockedCompareExchange32.nasm| INTEL
40 Ia32/InterlockedCompareExchange16.nasm| INTEL
41 Ia32/InterlockedDecrement.nasm| INTEL
42 Ia32/InterlockedIncrement.nasm| INTEL
43 Synchronization.c | INTEL
45 Ia32/InternalGetSpinLockProperties.c | GCC
46 Ia32/GccInline.c | GCC
47 SynchronizationGcc.c | GCC
50 Ia32/InternalGetSpinLockProperties.c | MSFT
51 X64/InterlockedCompareExchange64.c | MSFT
52 X64/InterlockedCompareExchange32.c | MSFT
53 X64/InterlockedCompareExchange16.c | MSFT
54 InterlockedIncrementMsc.c | MSFT
55 InterlockedDecrementMsc.c | MSFT
56 SynchronizationMsc.c | MSFT
58 X64/InterlockedCompareExchange64.nasm| INTEL
59 X64/InterlockedCompareExchange32.nasm| INTEL
60 X64/InterlockedCompareExchange16.nasm| INTEL
61 X64/InterlockedDecrement.nasm | INTEL
62 X64/InterlockedIncrement.nasm | INTEL
63 Synchronization.c | INTEL
65 Ia32/InternalGetSpinLockProperties.c | GCC
67 SynchronizationGcc.c | GCC
75 Arm/Synchronization.S | GCC
79 AArch64/Synchronization.S | GCC
80 AArch64/Synchronization.asm | MSFT
84 RiscV64/Synchronization.S | GCC
88 LoongArch64/Synchronization.c | GCC
89 LoongArch64/AsmSynchronization.S | GCC
101 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout ## SOMETIMES_CONSUMES