root/arch/arm64/kvm/hyp/include/nvhe/arm-smccc.h
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef __ARM64_KVM_HYP_NVHE_ARM_SMCCC_H__
#define __ARM64_KVM_HYP_NVHE_ARM_SMCCC_H__

#include <asm/kvm_hypevents.h>

#include <linux/arm-smccc.h>

#define hyp_smccc_1_1_smc(...)                                  \
        do {                                                    \
                trace_hyp_exit(NULL, HYP_REASON_SMC);           \
                arm_smccc_1_1_smc(__VA_ARGS__);                 \
                trace_hyp_enter(NULL, HYP_REASON_SMC);          \
        } while (0)

#define hyp_smccc_1_2_smc(...)                                  \
        do {                                                    \
                trace_hyp_exit(NULL, HYP_REASON_SMC);           \
                arm_smccc_1_2_smc(__VA_ARGS__);                 \
                trace_hyp_enter(NULL, HYP_REASON_SMC);          \
        } while (0)

#endif /* __ARM64_KVM_HYP_NVHE_ARM_SMCCC_H__ */