11921f3aaSLike Xu /* SPDX-License-Identifier: GPL-2.0 */ 21921f3aaSLike Xu #if !defined(KVM_X86_PMU_OP) || !defined(KVM_X86_PMU_OP_OPTIONAL) 31921f3aaSLike Xu BUILD_BUG_ON(1) 41921f3aaSLike Xu #endif 51921f3aaSLike Xu 61921f3aaSLike Xu /* 71921f3aaSLike Xu * KVM_X86_PMU_OP() and KVM_X86_PMU_OP_OPTIONAL() are used to help generate 81921f3aaSLike Xu * both DECLARE/DEFINE_STATIC_CALL() invocations and 91921f3aaSLike Xu * "static_call_update()" calls. 101921f3aaSLike Xu * 111921f3aaSLike Xu * KVM_X86_PMU_OP_OPTIONAL() can be used for those functions that can have 12*f4854bf7SWei Wang * a NULL definition. 131921f3aaSLike Xu */ 141921f3aaSLike Xu KVM_X86_PMU_OP(rdpmc_ecx_to_pmc) 151921f3aaSLike Xu KVM_X86_PMU_OP(msr_idx_to_pmc) 167bb7fce1SSean Christopherson KVM_X86_PMU_OP_OPTIONAL(check_rdpmc_early) 171921f3aaSLike Xu KVM_X86_PMU_OP(is_valid_msr) 181921f3aaSLike Xu KVM_X86_PMU_OP(get_msr) 191921f3aaSLike Xu KVM_X86_PMU_OP(set_msr) 201921f3aaSLike Xu KVM_X86_PMU_OP(refresh) 211921f3aaSLike Xu KVM_X86_PMU_OP(init) 22cbb359d8SSean Christopherson KVM_X86_PMU_OP_OPTIONAL(reset) 231921f3aaSLike Xu KVM_X86_PMU_OP_OPTIONAL(deliver_pmi) 241921f3aaSLike Xu KVM_X86_PMU_OP_OPTIONAL(cleanup) 251921f3aaSLike Xu 261921f3aaSLike Xu #undef KVM_X86_PMU_OP 271921f3aaSLike Xu #undef KVM_X86_PMU_OP_OPTIONAL 28