]> xenbits.xensource.com Git - xen.git/commitdiff
[VTD][QUIRK] turn off Sandybridge IGD quirk by default
authorKeir Fraser <keir@xen.org>
Fri, 21 Jan 2011 16:01:12 +0000 (16:01 +0000)
committerKeir Fraser <keir@xen.org>
Fri, 21 Jan 2011 16:01:12 +0000 (16:01 +0000)
Turn off Sandybridge IGD quirk by default until potential issues such
as MMIO register conflict with OS device driver and proper locking in
preamble and postamble functions are addressed.

Signed-off-by: Allen Kay <allen.m.kay@intel.com>
xen/drivers/passthrough/vtd/quirks.c

index f6a7ac029425368234e64662cdacdba12960422e..f4f60605767bfab2d0dbcb111df9a5eff348603d 100644 (file)
@@ -217,10 +217,15 @@ static void snb_vtd_ops_postamble(struct iommu* iommu)
 /*
  * call before VT-d translation enable and IOTLB flush operations.
  */
+
+static int snb_igd_quirk;
+boolean_param("snb_igd_quirk", snb_igd_quirk);
+
 void vtd_ops_preamble_quirk(struct iommu* iommu)
 {
     cantiga_vtd_ops_preamble(iommu);
-    snb_vtd_ops_preamble(iommu);
+    if ( snb_igd_quirk )
+        snb_vtd_ops_preamble(iommu);
 }
 
 /*
@@ -228,7 +233,8 @@ void vtd_ops_preamble_quirk(struct iommu* iommu)
  */
 void vtd_ops_postamble_quirk(struct iommu* iommu)
 {
-    snb_vtd_ops_postamble(iommu);
+    if ( snb_igd_quirk )
+        snb_vtd_ops_postamble(iommu);
 }
 
 /* initialize platform identification flags */