mirror of
				https://git.proxmox.com/git/mirror_edk2
				synced 2025-11-04 02:40:26 +00:00 
			
		
		
		
	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
	
	Block a user