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