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:
		
				
					committed by
					
						![mergify[bot]](/avatar/e3df20cd7a67969c41a65f03bea54961?size=40) mergify[bot]
						mergify[bot]
					
				
			
			
				
	
			
			
			
						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] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user