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 eb186bc57f6a907d31591249268a588da59bca0e..8c4d216e3b2be760bf452416c757c56686316cc7 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 bca0994ea1572635a3eddb18eff14dbb30931a2f..772be81f97ccdab37cfae16d05c53d2122c0c333 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 034be0655daa7205c758ccc44aaca1feeb994742..e9276500435d2b72a3cd5f84f0c55ea262de6349 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);