xref: /linux/arch/arm64/kvm/hyp/include/nvhe/arm-smccc.h (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 #ifndef __ARM64_KVM_HYP_NVHE_ARM_SMCCC_H__
3 #define __ARM64_KVM_HYP_NVHE_ARM_SMCCC_H__
4 
5 #include <asm/kvm_hypevents.h>
6 
7 #include <linux/arm-smccc.h>
8 
9 #define hyp_smccc_1_1_smc(...)					\
10 	do {							\
11 		trace_hyp_exit(NULL, HYP_REASON_SMC);		\
12 		arm_smccc_1_1_smc(__VA_ARGS__);			\
13 		trace_hyp_enter(NULL, HYP_REASON_SMC);		\
14 	} while (0)
15 
16 #define hyp_smccc_1_2_smc(...)					\
17 	do {							\
18 		trace_hyp_exit(NULL, HYP_REASON_SMC);		\
19 		arm_smccc_1_2_smc(__VA_ARGS__);			\
20 		trace_hyp_enter(NULL, HYP_REASON_SMC);		\
21 	} while (0)
22 
23 #endif /* __ARM64_KVM_HYP_NVHE_ARM_SMCCC_H__ */
24