1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * KVM L1 hypervisor optimizations on Hyper-V.
4 */
5
6#ifndef __ARCH_X86_KVM_KVM_ONHYPERV_H__
7#define __ARCH_X86_KVM_KVM_ONHYPERV_H__
8
9#if IS_ENABLED(CONFIG_HYPERV)
10int hv_flush_remote_tlbs_range(struct kvm *kvm, gfn_t gfn, gfn_t nr_pages);
11int hv_flush_remote_tlbs(struct kvm *kvm);
12void hv_track_root_tdp(struct kvm_vcpu *vcpu, hpa_t root_tdp);
13#else /* !CONFIG_HYPERV */
14static inline int hv_flush_remote_tlbs(struct kvm *kvm)
15{
16	return -EOPNOTSUPP;
17}
18
19static inline void hv_track_root_tdp(struct kvm_vcpu *vcpu, hpa_t root_tdp)
20{
21}
22#endif /* !CONFIG_HYPERV */
23
24#endif
25