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

[Xen-changelog] [xen-unstable] vt-d: Fix dom0 boot issue with vtd=1 on Stoakley platform. Turn off



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1203069268 0
# Node ID 38b532eea3bfc46dcc21c0b1bc91e533f9d1e462
# Parent  8210e430be2bd42037c2e7014eb5c3d525a1b90b
vt-d: Fix dom0 boot issue with vtd=1 on Stoakley platform.  Turn off
excessive messages.

Signed-off-by: Allen Kay <allen.m.kay@xxxxxxxxx>
---
 xen/arch/x86/hvm/vmx/vtd/dmar.c        |    2 +-
 xen/arch/x86/hvm/vmx/vtd/intel-iommu.c |   19 +++++++++++++++----
 2 files changed, 16 insertions(+), 5 deletions(-)

diff -r 8210e430be2b -r 38b532eea3bf xen/arch/x86/hvm/vmx/vtd/dmar.c
--- a/xen/arch/x86/hvm/vmx/vtd/dmar.c   Fri Feb 15 09:51:34 2008 +0000
+++ b/xen/arch/x86/hvm/vmx/vtd/dmar.c   Fri Feb 15 09:54:28 2008 +0000
@@ -102,7 +102,7 @@ struct iommu * ioapic_to_iommu(unsigned 
             return drhd->iommu;
         }
     }
-    dprintk(XENLOG_WARNING VTDPREFIX, "returning NULL\n");
+    dprintk(XENLOG_INFO VTDPREFIX, "returning NULL\n");
     return NULL;
 }
 
diff -r 8210e430be2b -r 38b532eea3bf xen/arch/x86/hvm/vmx/vtd/intel-iommu.c
--- a/xen/arch/x86/hvm/vmx/vtd/intel-iommu.c    Fri Feb 15 09:51:34 2008 +0000
+++ b/xen/arch/x86/hvm/vmx/vtd/intel-iommu.c    Fri Feb 15 09:54:28 2008 +0000
@@ -1811,7 +1811,18 @@ static int init_vtd_hw(void)
         flush = iommu_get_flush(iommu);
         flush->context = flush_context_reg;
         flush->iotlb = flush_iotlb_reg;
-
+    }
+    return 0;
+}
+
+static int init_vtd2_hw(void)
+{
+    struct acpi_drhd_unit *drhd;
+    struct iommu *iommu;
+
+    for_each_drhd_unit ( drhd )
+    {
+        iommu = drhd->iommu;
         if ( qinval_setup(iommu) != 0 )
             dprintk(XENLOG_ERR VTDPREFIX,
                     "Queued Invalidation hardware not found\n");
@@ -1883,12 +1894,12 @@ int iommu_setup(void)
     for ( i = 0; i < max_page; i++ )
         iommu_map_page(dom0, i, i);
 
-    enable_vtd_translation();
-    if ( init_vtd_hw() )
-        goto error;
+    init_vtd_hw();
     setup_dom0_devices();
     setup_dom0_rmrr();
     iommu_flush_all();
+    enable_vtd_translation();
+    init_vtd2_hw();
 
     return 0;
 

_______________________________________________
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®.