aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYang Zhang <yang.z.zhang@Intel.com>2012-07-30 13:38:26 +0100
committerYang Zhang <yang.z.zhang@Intel.com>2012-07-30 13:38:26 +0100
commit0abe4ea8231717dd7eaf74db694e061584fb687f (patch)
treebbf45efa6c8762238d9091bb365d1fb1b973a5a2
parent61896cd439327a259f67ab7e11080900b7c8fa81 (diff)
downloadxen-0abe4ea8231717dd7eaf74db694e061584fb687f.tar.gz
xen-0abe4ea8231717dd7eaf74db694e061584fb687f.tar.bz2
xen-0abe4ea8231717dd7eaf74db694e061584fb687f.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);