vt-d: Fix iommu_map_page().
authorKeir Fraser <keir.fraser@citrix.com>
Sun, 25 Nov 2007 09:23:02 +0000 (09:23 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Sun, 25 Nov 2007 09:23:02 +0000 (09:23 +0000)
Signed-off-by: Weidong Han <weidong.han@intel.com>
xen/arch/x86/hvm/vmx/vtd/intel-iommu.c

index 4dc4563002f95525b4751d53ae30c5d4f8a99fbe..080092be857d1d9992f7126b9cd0565e2de16aca 100644 (file)
@@ -1464,7 +1464,7 @@ int iommu_map_page(struct domain *d, paddr_t gfn, paddr_t mfn)
     if ( !pg )
         return -ENOMEM;
     pte = (struct dma_pte *)map_domain_page(page_to_mfn(pg));
-    pte += mfn & LEVEL_MASK;
+    pte += gfn & LEVEL_MASK;
     dma_set_pte_addr(*pte, mfn << PAGE_SHIFT_4K);
     dma_set_pte_prot(*pte, DMA_PTE_READ | DMA_PTE_WRITE);
     iommu_flush_cache_entry(iommu, pte);