summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MdePkg/Library/BaseSynchronizationLib/AArch64/Synchronization.S5
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]