aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-01-19 15:44:54 +0000
committerKeir Fraser <keir.fraser@citrix.com>2010-01-19 15:44:54 +0000
commitf1315aa62e30560ef01542a09540e247ec9b27a8 (patch)
tree621b622d1fc7dfc23725bd82d53f8867667377c6
parent567340d81528e573f25f85cd16caa686e9c732aa (diff)
downloadxen-f1315aa62e30560ef01542a09540e247ec9b27a8.tar.gz
xen-f1315aa62e30560ef01542a09540e247ec9b27a8.tar.bz2
xen-f1315aa62e30560ef01542a09540e247ec9b27a8.zip
Enable IOMMU by default.
Can be disabled with 'iommu=0' boot parameter. Note that iommu_inclusive_mapping is now also enabled by default, to deal with systems with broken BIOS tables specifying bad RMRRs. Old behaviour can be specified via 'iommu_inclusive_mapping=0'. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-rw-r--r--xen/drivers/passthrough/iommu.c15
-rw-r--r--xen/drivers/passthrough/vtd/x86/vtd.c2
2 files changed, 5 insertions, 12 deletions
diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index 7558c8729f..e4bd3cbbdf 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -37,13 +37,13 @@ static int iommu_populate_page_table(struct domain *d);
* no-intremap Disable VT-d Interrupt Remapping
*/
custom_param("iommu", parse_iommu_param);
-int iommu_enabled;
+int iommu_enabled = 1;
int iommu_pv_enabled;
int force_iommu;
int iommu_passthrough;
-int iommu_snoop;
-int iommu_qinval;
-int iommu_intremap;
+int iommu_snoop = 1;
+int iommu_qinval = 1;
+int iommu_intremap = 1;
int amd_iommu_debug;
int amd_iommu_perdev_intremap;
@@ -51,13 +51,6 @@ static void __init parse_iommu_param(char *s)
{
char *ss;
- iommu_enabled = 1;
- iommu_snoop = 1;
- iommu_qinval = 1;
- iommu_intremap = 1;
- amd_iommu_debug = 0;
- amd_iommu_perdev_intremap = 0;
-
do {
ss = strchr(s, ',');
if ( ss )
diff --git a/xen/drivers/passthrough/vtd/x86/vtd.c b/xen/drivers/passthrough/vtd/x86/vtd.c
index 51dd501559..c5435b6f27 100644
--- a/xen/drivers/passthrough/vtd/x86/vtd.c
+++ b/xen/drivers/passthrough/vtd/x86/vtd.c
@@ -31,7 +31,7 @@
* iommu_inclusive_mapping: when set, all memory below 4GB is included in dom0
* 1:1 iommu mappings except xen and unusable regions.
*/
-static int iommu_inclusive_mapping;
+static int iommu_inclusive_mapping = 1;
boolean_param("iommu_inclusive_mapping", iommu_inclusive_mapping);
void *map_vtd_domain_page(u64 maddr)