KVM: drm/i915/gvt: Drop @vcpu from KVM's ->track_write() hook
authorSean Christopherson <seanjc@google.com>
Sat, 29 Jul 2023 01:35:21 +0000 (18:35 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 31 Aug 2023 17:49:01 +0000 (13:49 -0400)
Drop @vcpu from KVM's ->track_write() hook provided for external users of
the page-track APIs now that KVM itself doesn't use the page-track
mechanism.

Reviewed-by: Yan Zhao <yan.y.zhao@intel.com>
Tested-by: Yongwei Ma <yongwei.ma@intel.com>
Reviewed-by: Zhi Wang <zhi.a.wang@intel.com>
Link: https://lore.kernel.org/r/20230729013535.1070024-16-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_page_track.h
arch/x86/kvm/mmu/page_track.c
drivers/gpu/drm/i915/gvt/kvmgt.c

index eb186bc..8c4d216 100644 (file)
@@ -26,14 +26,13 @@ struct kvm_page_track_notifier_node {
         * It is called when guest is writing the write-tracked page
         * and write emulation is finished at that time.
         *
-        * @vcpu: the vcpu where the write access happened.
         * @gpa: the physical address written by guest.
         * @new: the data was written to the address.
         * @bytes: the written length.
         * @node: this node
         */
-       void (*track_write)(struct kvm_vcpu *vcpu, gpa_t gpa, const u8 *new,
-                           int bytes, struct kvm_page_track_notifier_node *node);
+       void (*track_write)(gpa_t gpa, const u8 *new, int bytes,
+                           struct kvm_page_track_notifier_node *node);
        /*
         * It is called when memory slot is being moved or removed
         * users can drop write-protection for the pages in that memory slot
index bca0994..772be81 100644 (file)
@@ -272,7 +272,7 @@ void kvm_page_track_write(struct kvm_vcpu *vcpu, gpa_t gpa, const u8 *new,
        hlist_for_each_entry_srcu(n, &head->track_notifier_list, node,
                                srcu_read_lock_held(&head->track_srcu))
                if (n->track_write)
-                       n->track_write(vcpu, gpa, new, bytes, n);
+                       n->track_write(gpa, new, bytes, n);
        srcu_read_unlock(&head->track_srcu, idx);
 
        kvm_mmu_track_write(vcpu, gpa, new, bytes);
index 034be06..e927650 100644 (file)
@@ -106,9 +106,8 @@ struct gvt_dma {
 #define vfio_dev_to_vgpu(vfio_dev) \
        container_of((vfio_dev), struct intel_vgpu, vfio_device)
 
-static void kvmgt_page_track_write(struct kvm_vcpu *vcpu, gpa_t gpa,
-               const u8 *val, int len,
-               struct kvm_page_track_notifier_node *node);
+static void kvmgt_page_track_write(gpa_t gpa, const u8 *val, int len,
+                                  struct kvm_page_track_notifier_node *node);
 static void kvmgt_page_track_flush_slot(struct kvm *kvm,
                struct kvm_memory_slot *slot,
                struct kvm_page_track_notifier_node *node);
@@ -1603,9 +1602,8 @@ int intel_gvt_page_track_remove(struct intel_vgpu *info, u64 gfn)
        return 0;
 }
 
-static void kvmgt_page_track_write(struct kvm_vcpu *vcpu, gpa_t gpa,
-               const u8 *val, int len,
-               struct kvm_page_track_notifier_node *node)
+static void kvmgt_page_track_write(gpa_t gpa, const u8 *val, int len,
+                                  struct kvm_page_track_notifier_node *node)
 {
        struct intel_vgpu *info =
                container_of(node, struct intel_vgpu, track_node);