audk/MdePkg/Library/BaseSynchronizationLib
Dongyan Qian b65c0eed6b BaseSynchronizationLib: Fix LoongArch64 synchronization functions
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4432

There is a return value bug:
The sc.w/sc.d instruction will destroy the reg_t0,
use reg_t1 to avoid context reg_t0 being corrupted.
Adjust Check that ptr align is UINT16.
Optimize function SyncIncrement and SyncDecrement.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Chao Li <lichao@loongson.cn>
Signed-off-by: Dongyan Qian <qiandongyan@loongson.cn>
Reviewed-by: Chao Li <lichao@loongson.cn>
2023-05-05 13:10:09 +00:00
..
AArch64
Arm
Ebc
Ia32
LoongArch64
RiscV64
X64
BaseSynchronizationLib.inf
BaseSynchronizationLib.uni
BaseSynchronizationLibInternals.h
InterlockedDecrementMsc.c
InterlockedIncrementMsc.c
Synchronization.c
SynchronizationGcc.c
SynchronizationMsc.c