xref: /linux/arch/x86/platform/efi/efi_stub_64.S (revision a4eb44a6435d6d8f9e642407a4a06f65eb90ca04)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Function calling ABI conversion from Linux to EFI for x86_64
4 *
5 * Copyright (C) 2007 Intel Corp
6 *	Bibo Mao <bibo.mao@intel.com>
7 *	Huang Ying <ying.huang@intel.com>
8 */
9
10#include <linux/linkage.h>
11#include <asm/nospec-branch.h>
12
13SYM_FUNC_START(__efi_call)
14	pushq %rbp
15	movq %rsp, %rbp
16	and $~0xf, %rsp
17	mov 16(%rbp), %rax
18	subq $48, %rsp
19	mov %r9, 32(%rsp)
20	mov %rax, 40(%rsp)
21	mov %r8, %r9
22	mov %rcx, %r8
23	mov %rsi, %rcx
24	CALL_NOSPEC rdi
25	leave
26	RET
27SYM_FUNC_END(__efi_call)
28