[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] VTD: Small fix to iommu initialisation.



# HG changeset patch
# User Keir Fraser <keir@xxxxxxxxxxxxx>
# Date 1190277721 -3600
# Node ID 39c85fa942aa3b9f8a6fdbc210d695e6eff017f5
# Parent  fdabc0af58524fe38a4552624eb75abce57c6026
VTD: Small fix to iommu initialisation.
Signed-off-by: Allen Kay <allen.m.kay@xxxxxxxxx>
Signed-off-by: Guy Zana <guy@xxxxxxxxxxxx>
---
 xen/arch/x86/hvm/vmx/vtd/intel-iommu.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff -r fdabc0af5852 -r 39c85fa942aa xen/arch/x86/hvm/vmx/vtd/intel-iommu.c
--- a/xen/arch/x86/hvm/vmx/vtd/intel-iommu.c    Thu Sep 20 09:40:49 2007 +0100
+++ b/xen/arch/x86/hvm/vmx/vtd/intel-iommu.c    Thu Sep 20 09:42:01 2007 +0100
@@ -27,6 +27,7 @@
 #include <xen/domain_page.h>
 #include <asm/delay.h>
 #include <asm/string.h>
+#include <asm/mm.h>
 #include <asm/iommu.h>
 #include <asm/hvm/vmx/intel-iommu.h>
 #include "dmar.h"
@@ -1669,6 +1670,7 @@ int iommu_setup(void)
     struct hvm_iommu *hd  = domain_hvm_iommu(dom0);
     struct acpi_drhd_unit *drhd;
     struct iommu *iommu;
+    unsigned long i;
 
     if (!vtd_enabled)
         return 0;
@@ -1687,8 +1689,9 @@ int iommu_setup(void)
     drhd = list_entry(acpi_drhd_units.next, typeof(*drhd), list);
     iommu = drhd->iommu;
 
-    hd->pgd = (struct dma_pte *)alloc_xenheap_page();
-    memset((u8*)hd->pgd, 0, PAGE_SIZE);
+    /* setup 1:1 page table for dom0 */
+    for (i = 0; i < max_page; i++)
+        iommu_map_page(dom0, i, i);
 
     if (init_vtd_hw())
         goto error;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.