aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYang Zhang <yang.z.zhang@Intel.com>2012-07-30 13:39:31 +0100
committerYang Zhang <yang.z.zhang@Intel.com>2012-07-30 13:39:31 +0100
commit93aa239406bc3dc5b801b4a440d66e25d1e3d1e7 (patch)
tree7ff07d1f8589f304dad597345398cd1e22763029
parent1e26027865106216daee101bc6eec9e5cb56f029 (diff)
downloadxen-93aa239406bc3dc5b801b4a440d66e25d1e3d1e7.tar.gz
xen-93aa239406bc3dc5b801b4a440d66e25d1e3d1e7.tar.bz2
xen-93aa239406bc3dc5b801b4a440d66e25d1e3d1e7.zip
vt-d: fix wrong addr in IOTLB invalidation descriptor
According to vt-d specs, the addr in IOTLB invalidation descriptor should be 4K page aligned. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 25617:75eb78d6cf54 xen-unstable date: Thu Jul 19 15:46:02 2012 +0100
-rw-r--r--xen/drivers/passthrough/vtd/qinval.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/drivers/passthrough/vtd/qinval.c b/xen/drivers/passthrough/vtd/qinval.c
index a1ac3ee7ba..6a410d8e8f 100644
--- a/xen/drivers/passthrough/vtd/qinval.c
+++ b/xen/drivers/passthrough/vtd/qinval.c
@@ -140,7 +140,7 @@ static int gen_iotlb_inv_dsc(struct iommu *iommu, int index,
qinval_entry->q.iotlb_inv_dsc.hi.am = am;
qinval_entry->q.iotlb_inv_dsc.hi.ih = ih;
qinval_entry->q.iotlb_inv_dsc.hi.res_1 = 0;
- qinval_entry->q.iotlb_inv_dsc.hi.addr = addr;
+ qinval_entry->q.iotlb_inv_dsc.hi.addr = addr >> PAGE_SHIFT_4K;
unmap_vtd_domain_page(qinval_entries);
spin_unlock_irqrestore(&qi_ctrl->qinval_lock, flags);