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)
|