xref: /openbmc/linux/arch/x86/kvm/kvm_onhyperv.h (revision 4e174665)
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)
10 int hv_remote_flush_tlb_with_range(struct kvm *kvm,
11 		struct kvm_tlb_range *range);
12 int hv_remote_flush_tlb(struct kvm *kvm);
13 void hv_track_root_tdp(struct kvm_vcpu *vcpu, hpa_t root_tdp);
14 #else /* !CONFIG_HYPERV */
15 static inline int hv_remote_flush_tlb(struct kvm *kvm)
16 {
17 	return -EOPNOTSUPP;
18 }
19 
20 static inline void hv_track_root_tdp(struct kvm_vcpu *vcpu, hpa_t root_tdp)
21 {
22 }
23 #endif /* !CONFIG_HYPERV */
24 
25 #endif
26