[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [Patch RFC 08/13] vt-d: Held on the freed page until the Device-TLB flush is completed.



Hi Quan,

On 16/09/2015 14:24, Quan Xu wrote:
diff --git a/xen/include/xen/hvm/iommu.h b/xen/include/xen/hvm/iommu.h
index e40fc7b..5dc0033 100644
--- a/xen/include/xen/hvm/iommu.h
+++ b/xen/include/xen/hvm/iommu.h

Same remarks as the previous patches for the fields, prototype and macros.

@@ -53,11 +53,15 @@ struct hvm_iommu {
      struct qi_talbe talbe;
      bool_t qi_flag;

+    struct page_list_head qi_hold_page_list;
+    spinlock_t qi_lock;
+
      /* Features supported by the IOMMU */
      DECLARE_BITMAP(features, IOMMU_FEAT_count);
  };

  void do_qi_flushing(struct domain *d);
+void qi_hold_page(struct domain *d, struct page_info *pg);

  #define iommu_set_feature(d, f)   set_bit((f), domain_hvm_iommu(d)->features)
  #define iommu_clear_feature(d, f) clear_bit((f), 
domain_hvm_iommu(d)->features)
@@ -68,5 +72,9 @@ void do_qi_flushing(struct domain *d);
      (d->arch.hvm_domain.hvm_iommu.talbe.qi_table_poll_slot)
  #define QI_FLUSHING(d) \
      (d->arch.hvm_domain.hvm_iommu.qi_flag)
+#define qi_hold_page_list(d) \
+    (d->arch.hvm_domain.hvm_iommu.qi_hold_page_list)
+#define qi_page_lock(d) \
+    (d->arch.hvm_domain.hvm_iommu.qi_lock)

  #endif /* __XEN_HVM_IOMMU_H__ */


Regards,

--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.