1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (c) 2015, Linaro Limited
5 #include <linux/linkage.h>
7 #include <asm/opcodes-sec.h>
8 #include <asm/opcodes-virt.h>
10 .section .text.efi_runtime
14 * Wrap c macros in asm macros to delay expansion until after the
15 * SMCCC asm macro is expanded.
29 UNWIND( .save {r4-r7})
33 ldr r12, [sp, #(4 * 4)]
40 * void smccc_smc(unsigned long a0, unsigned long a1, unsigned long a2,
41 * unsigned long a3, unsigned long a4, unsigned long a5,
42 * unsigned long a6, unsigned long a7, struct arm_smccc_res *res,
43 * struct arm_smccc_quirk *quirk)
45 ENTRY(__arm_smccc_smc)
47 ENDPROC(__arm_smccc_smc)
50 * void smccc_hvc(unsigned long a0, unsigned long a1, unsigned long a2,
51 * unsigned long a3, unsigned long a4, unsigned long a5,
52 * unsigned long a6, unsigned long a7, struct arm_smccc_res *res,
53 * struct arm_smccc_quirk *quirk)
55 ENTRY(__arm_smccc_hvc)
57 ENDPROC(__arm_smccc_hvc)