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