kvm_onhyperv.c (762f99f4f3cb41a775b5157dd761217beba65873) kvm_onhyperv.c (79e06c4c4950be2abd8ca5d2428a8c915aa62c24)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * KVM L1 hypervisor optimizations on Hyper-V.
4 */
5
6#include <linux/kvm_host.h>
7#include <asm/mshyperv.h>
8

--- 19 unchanged lines hidden (view full) ---

28 return hyperv_flush_guest_mapping(root_tdp);
29}
30
31int hv_remote_flush_tlb_with_range(struct kvm *kvm,
32 struct kvm_tlb_range *range)
33{
34 struct kvm_arch *kvm_arch = &kvm->arch;
35 struct kvm_vcpu *vcpu;
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * KVM L1 hypervisor optimizations on Hyper-V.
4 */
5
6#include <linux/kvm_host.h>
7#include <asm/mshyperv.h>
8

--- 19 unchanged lines hidden (view full) ---

28 return hyperv_flush_guest_mapping(root_tdp);
29}
30
31int hv_remote_flush_tlb_with_range(struct kvm *kvm,
32 struct kvm_tlb_range *range)
33{
34 struct kvm_arch *kvm_arch = &kvm->arch;
35 struct kvm_vcpu *vcpu;
36 int ret = 0, i, nr_unique_valid_roots;
36 int ret = 0, nr_unique_valid_roots;
37 unsigned long i;
37 hpa_t root;
38
39 spin_lock(&kvm_arch->hv_root_tdp_lock);
40
41 if (!VALID_PAGE(kvm_arch->hv_root_tdp)) {
42 nr_unique_valid_roots = 0;
43
44 /*

--- 49 unchanged lines hidden ---
38 hpa_t root;
39
40 spin_lock(&kvm_arch->hv_root_tdp_lock);
41
42 if (!VALID_PAGE(kvm_arch->hv_root_tdp)) {
43 nr_unique_valid_roots = 0;
44
45 /*

--- 49 unchanged lines hidden ---