]> xenbits.xensource.com Git - ovmf.git/commitdiff
MdePkg/BaseSynchronizationLib AARCH64: Make asm files BTI compatible
authorArd Biesheuvel <ardb@kernel.org>
Sat, 25 Mar 2023 16:37:55 +0000 (17:37 +0100)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Thu, 30 Mar 2023 11:05:22 +0000 (11:05 +0000)
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>
MdePkg/Library/BaseSynchronizationLib/AArch64/Synchronization.S

index 1a0eb971a6c92d4cd79bc9e0815562aaebb7b97b..dfcfc80d0cbeff5e964182a56e643a0eb2322ff4 100644 (file)
@@ -41,6 +41,7 @@ GCC_ASM_EXPORT(InternalSyncDecrement)
 //  IN      UINT16                    ExchangeValue\r
 //  )\r
 ASM_PFX(InternalSyncCompareExchange16):\r
+  AARCH64_BTI(c)\r
   uxth    w1, w1\r
   uxth    w2, w2\r
   dmb     sy\r
@@ -84,6 +85,7 @@ InternalSyncCompareExchange16Fail:
 //  IN      UINT32                    ExchangeValue\r
 //  )\r
 ASM_PFX(InternalSyncCompareExchange32):\r
+  AARCH64_BTI(c)\r
   dmb     sy\r
 \r
 InternalSyncCompareExchange32Again:\r
@@ -124,6 +126,7 @@ InternalSyncCompareExchange32Fail:
 //  IN      UINT64                    ExchangeValue\r
 //  )\r
 ASM_PFX(InternalSyncCompareExchange64):\r
+  AARCH64_BTI(c)\r
   dmb     sy\r
 \r
 InternalSyncCompareExchange64Again:\r
@@ -159,6 +162,7 @@ InternalSyncCompareExchange64Fail:
 //  IN      volatile UINT32           *Value\r
 //  )\r
 ASM_PFX(InternalSyncIncrement):\r
+  AARCH64_BTI(c)\r
   dmb     sy\r
 TryInternalSyncIncrement:\r
   ldxr    w1, [x0]\r
@@ -188,6 +192,7 @@ TryInternalSyncIncrement:
 //  IN      volatile UINT32           *Value\r
 //  )\r
 ASM_PFX(InternalSyncDecrement):\r
+  AARCH64_BTI(c)\r
   dmb     sy\r
 TryInternalSyncDecrement:\r
   ldxr    w1, [x0]\r