xref: /linux/arch/x86/include/asm/kvm-x86-pmu-ops.h (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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