28 lines
		
	
	
		
			523 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			523 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| /*
 | |
|  * Function calling ABI conversion from Linux to EFI for x86_64
 | |
|  *
 | |
|  * Copyright (C) 2007 Intel Corp
 | |
|  *	Bibo Mao <bibo.mao@intel.com>
 | |
|  *	Huang Ying <ying.huang@intel.com>
 | |
|  */
 | |
| 
 | |
| #include <linux/linkage.h>
 | |
| #include <asm/nospec-branch.h>
 | |
| 
 | |
| SYM_FUNC_START(__efi_call)
 | |
| 	pushq %rbp
 | |
| 	movq %rsp, %rbp
 | |
| 	and $~0xf, %rsp
 | |
| 	mov 16(%rbp), %rax
 | |
| 	subq $48, %rsp
 | |
| 	mov %r9, 32(%rsp)
 | |
| 	mov %rax, 40(%rsp)
 | |
| 	mov %r8, %r9
 | |
| 	mov %rcx, %r8
 | |
| 	mov %rsi, %rcx
 | |
| 	CALL_NOSPEC rdi
 | |
| 	leave
 | |
| 	RET
 | |
| SYM_FUNC_END(__efi_call)
 |