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>
		
			
				
	
	
		
			32 lines
		
	
	
		
			762 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			762 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| #------------------------------------------------------------------------------
 | |
| #
 | |
| # DisableInterrupts() for AArch64
 | |
| #
 | |
| # Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
 | |
| # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
 | |
| # Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
 | |
| # SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| #
 | |
| #------------------------------------------------------------------------------
 | |
| 
 | |
| .text
 | |
| .p2align 2
 | |
| GCC_ASM_EXPORT(DisableInterrupts)
 | |
| 
 | |
| .set DAIF_WR_IRQ_BIT,   (1 << 1)
 | |
| 
 | |
| #/**
 | |
| #  Disables CPU interrupts.
 | |
| #
 | |
| #**/
 | |
| #VOID
 | |
| #EFIAPI
 | |
| #DisableInterrupts (
 | |
| #  VOID
 | |
| #  );
 | |
| #
 | |
| ASM_PFX(DisableInterrupts):
 | |
|    AARCH64_BTI(c)
 | |
|    msr  daifset, #DAIF_WR_IRQ_BIT
 | |
|    ret
 |