Merge tag 'net-6.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
[linux-block.git] / arch / x86 / platform / efi / efi_stub_64.S
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
5b83683f
HY
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>
e5f930fe 11#include <asm/nospec-branch.h>
5b83683f 12
14b864f4 13SYM_FUNC_START(__efi_call)
683ad809
LT
14 pushq %rbp
15 movq %rsp, %rbp
e5f930fe 16 and $~0xf, %rsp
683ad809 17 mov 16(%rbp), %rax
5b83683f
HY
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
34fdce69 24 CALL_NOSPEC rdi
e5f930fe 25 leave
f94909ce 26 RET
14b864f4 27SYM_FUNC_END(__efi_call)