aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2011-01-21 16:01:12 +0000
committerKeir Fraser <keir@xen.org>2011-01-21 16:01:12 +0000
commit64e34cfdcadf72305a8d4e46986274d8c6098d1a (patch)
tree86fa6f5d839efd3e811babc3d69d58b9ec947a84
parentd5a17a5f20974ec8466d21e173ae26f282ff9547 (diff)
downloadxen-64e34cfdcadf72305a8d4e46986274d8c6098d1a.tar.gz
xen-64e34cfdcadf72305a8d4e46986274d8c6098d1a.tar.bz2
xen-64e34cfdcadf72305a8d4e46986274d8c6098d1a.zip
[VTD][QUIRK] turn off Sandybridge IGD quirk by default
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>
-rw-r--r--xen/drivers/passthrough/vtd/quirks.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/xen/drivers/passthrough/vtd/quirks.c b/xen/drivers/passthrough/vtd/quirks.c
index f6a7ac0294..f4f6060576 100644
--- a/xen/drivers/passthrough/vtd/quirks.c
+++ b/xen/drivers/passthrough/vtd/quirks.c
@@ -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 */