162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * KVM L1 hypervisor optimizations on Hyper-V. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#ifndef __ARCH_X86_KVM_KVM_ONHYPERV_H__ 762306a36Sopenharmony_ci#define __ARCH_X86_KVM_KVM_ONHYPERV_H__ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#if IS_ENABLED(CONFIG_HYPERV) 1062306a36Sopenharmony_ciint hv_flush_remote_tlbs_range(struct kvm *kvm, gfn_t gfn, gfn_t nr_pages); 1162306a36Sopenharmony_ciint hv_flush_remote_tlbs(struct kvm *kvm); 1262306a36Sopenharmony_civoid hv_track_root_tdp(struct kvm_vcpu *vcpu, hpa_t root_tdp); 1362306a36Sopenharmony_ci#else /* !CONFIG_HYPERV */ 1462306a36Sopenharmony_cistatic inline int hv_flush_remote_tlbs(struct kvm *kvm) 1562306a36Sopenharmony_ci{ 1662306a36Sopenharmony_ci return -EOPNOTSUPP; 1762306a36Sopenharmony_ci} 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_cistatic inline void hv_track_root_tdp(struct kvm_vcpu *vcpu, hpa_t root_tdp) 2062306a36Sopenharmony_ci{ 2162306a36Sopenharmony_ci} 2262306a36Sopenharmony_ci#endif /* !CONFIG_HYPERV */ 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci#endif 25