# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1228474781 0
# Node ID 99f01b8184c7c16f612731e2a525687dc8d424dc
# Parent 09160c3bd1797fdee111c2837f26a749e0bf9435
VT-d code cleanup
This patch narrow context caching flush range from the
domain-selective to the device-selective, when unmapping a device.
Signed-off-by: Yu Zhao <yu.zhao@xxxxxxxxx>
---
xen/drivers/passthrough/vtd/iommu.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletion(-)
diff -r 09160c3bd179 -r 99f01b8184c7 xen/drivers/passthrough/vtd/iommu.c
--- a/xen/drivers/passthrough/vtd/iommu.c Fri Dec 05 15:47:19 2008 +0900
+++ b/xen/drivers/passthrough/vtd/iommu.c Fri Dec 05 10:59:41 2008 +0000
@@ -1308,7 +1308,9 @@ static int domain_context_unmap_one(
context_clear_entry(*context);
iommu_flush_cache_entry(context);
- if ( iommu_flush_context_domain(iommu, domain_iommu_domid(domain), 0) )
+ if ( iommu_flush_context_device(iommu, domain_iommu_domid(domain),
+ (((u16)bus) << 8) | devfn,
+ DMA_CCMD_MASK_NOBIT, 0) )
iommu_flush_write_buffer(iommu);
else
iommu_flush_iotlb_dsi(iommu, domain_iommu_domid(domain), 0);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|