summaryrefslogtreecommitdiffstats
path: root/drivers/iommu
diff options
context:
space:
mode:
authorDavid Woodhouse <David.Woodhouse@intel.com>2014-03-19 10:38:49 +0000
committerDavid Woodhouse <David.Woodhouse@intel.com>2014-03-19 17:22:13 +0000
commit214e39aa36c9c02355d388f20d83b93fc2fa7298 (patch)
tree9300218db801c8aa7a12314b89348fe376934d8f /drivers/iommu
parentea8ea460c9ace60bbb5ac6e5521d637d5c15293d (diff)
downloadlinux-0-day-214e39aa36c9c02355d388f20d83b93fc2fa7298.tar.gz
linux-0-day-214e39aa36c9c02355d388f20d83b93fc2fa7298.tar.xz
iommu/vt-d: Honour intel_iommu=sp_off for non-VMM domains
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/iommu')
-rw-r--r--drivers/iommu/intel-iommu.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index f5934fc2bbcca..c3d4bc91a189a 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -1624,7 +1624,11 @@ static int domain_init(struct dmar_domain *domain, int guest_width)
else
domain->iommu_snooping = 0;
- domain->iommu_superpage = fls(cap_super_page_val(iommu->cap));
+ if (intel_iommu_superpage)
+ domain->iommu_superpage = fls(cap_super_page_val(iommu->cap));
+ else
+ domain->iommu_superpage = 0;
+
domain->nid = iommu->node;
/* always allocate the top pgd */