mirror of https://github.com/acidanthera/audk.git
MdePkg/BaseSynchronizationLib AARCH64: Make asm files BTI compatible
Add the BTI instructions and the associated note to make the AArch64 asm objects compatible with BTI enforcement. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com> Reviewed-by: Oliver Smith-Denny <osd@smith-denny.com>
This commit is contained in:
parent
0ee255f50a
commit
35318c2eb9
|
@ -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]
|
||||
|
|
Loading…
Reference in New Issue