diff options
-rw-r--r-- | MdePkg/Library/BaseSynchronizationLib/AArch64/Synchronization.S | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/MdePkg/Library/BaseSynchronizationLib/AArch64/Synchronization.S b/MdePkg/Library/BaseSynchronizationLib/AArch64/Synchronization.S index 1a0eb971a6..dfcfc80d0c 100644 --- a/MdePkg/Library/BaseSynchronizationLib/AArch64/Synchronization.S +++ b/MdePkg/Library/BaseSynchronizationLib/AArch64/Synchronization.S @@ -41,6 +41,7 @@ GCC_ASM_EXPORT(InternalSyncDecrement) // IN UINT16 ExchangeValue
// )
ASM_PFX(InternalSyncCompareExchange16):
+ AARCH64_BTI(c)
uxth w1, w1
uxth w2, w2
dmb sy
@@ -84,6 +85,7 @@ InternalSyncCompareExchange16Fail: // IN UINT32 ExchangeValue
// )
ASM_PFX(InternalSyncCompareExchange32):
+ AARCH64_BTI(c)
dmb sy
InternalSyncCompareExchange32Again:
@@ -124,6 +126,7 @@ InternalSyncCompareExchange32Fail: // IN UINT64 ExchangeValue
// )
ASM_PFX(InternalSyncCompareExchange64):
+ AARCH64_BTI(c)
dmb sy
InternalSyncCompareExchange64Again:
@@ -159,6 +162,7 @@ InternalSyncCompareExchange64Fail: // IN volatile UINT32 *Value
// )
ASM_PFX(InternalSyncIncrement):
+ AARCH64_BTI(c)
dmb sy
TryInternalSyncIncrement:
ldxr w1, [x0]
@@ -188,6 +192,7 @@ TryInternalSyncIncrement: // IN volatile UINT32 *Value
// )
ASM_PFX(InternalSyncDecrement):
+ AARCH64_BTI(c)
dmb sy
TryInternalSyncDecrement:
ldxr w1, [x0]
|