[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.
- To: Quan Xu <quan.xu@xxxxxxxxx>, <andrew.cooper3@xxxxxxxxxx>, <eddie.dong@xxxxxxxxx>, <ian.campbell@xxxxxxxxxx>, <ian.jackson@xxxxxxxxxxxxx>, <jbeulich@xxxxxxxx>, <jun.nakajima@xxxxxxxxx>, <keir@xxxxxxx>, <kevin.tian@xxxxxxxxx>, <tim@xxxxxxx>, <yang.z.zhang@xxxxxxxxx>, <george.dunlap@xxxxxxxxxxxxx>
- From: Julien Grall <julien.grall@xxxxxxxxxx>
- Date: Wed, 16 Sep 2015 10:45:40 +0100
- Cc: xen-devel@xxxxxxxxxxxxx
- Delivery-date: Wed, 16 Sep 2015 09:45:48 +0000
- List-id: Xen developer discussion <xen-devel.lists.xen.org>
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
|