mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-21 01:54:51 +08:00
3d4421f8f2
Uninline and export Hyper-V's hv_track_root_tdp(), which is (somewhat indirectly) the last remaining reference to kvm_x86_ops from vendor modules, i.e. will allow unexporting kvm_x86_ops. Reloading the TDP PGD isn't the fastest of paths, hv_track_root_tdp() isn't exactly tiny, and disallowing vendor code from accessing kvm_x86_ops provides nice-to-have encapsulation of common x86 code (and of Hyper-V code for that matter). No functional change intended. Signed-off-by: Sean Christopherson <seanjc@google.com> Message-Id: <20220128005208.4008533-10-seanjc@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
21 lines
542 B
C
21 lines
542 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* KVM L1 hypervisor optimizations on Hyper-V.
|
|
*/
|
|
|
|
#ifndef __ARCH_X86_KVM_KVM_ONHYPERV_H__
|
|
#define __ARCH_X86_KVM_KVM_ONHYPERV_H__
|
|
|
|
#if IS_ENABLED(CONFIG_HYPERV)
|
|
int hv_remote_flush_tlb_with_range(struct kvm *kvm,
|
|
struct kvm_tlb_range *range);
|
|
int hv_remote_flush_tlb(struct kvm *kvm);
|
|
void hv_track_root_tdp(struct kvm_vcpu *vcpu, hpa_t root_tdp);
|
|
#else /* !CONFIG_HYPERV */
|
|
static inline void hv_track_root_tdp(struct kvm_vcpu *vcpu, hpa_t root_tdp)
|
|
{
|
|
}
|
|
#endif /* !CONFIG_HYPERV */
|
|
|
|
#endif
|