aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/intel-iommu.h
diff options
context:
space:
mode:
authorJoerg Roedel <jroedel@suse.de>2015-07-21 10:41:21 +0200
committerJoerg Roedel <jroedel@suse.de>2015-08-12 16:23:33 +0200
commit8bf478163e69e42973c7070179a11815139e5bf0 (patch)
treeea64f7177aa39fc71a0847687e8dd3c34fdd6fa7 /include/linux/intel-iommu.h
parentiommu/vt-d: Add access functions for iommu->domains (diff)
downloadlinux-dev-8bf478163e69e42973c7070179a11815139e5bf0.tar.xz
linux-dev-8bf478163e69e42973c7070179a11815139e5bf0.zip
iommu/vt-d: Split up iommu->domains array
This array is indexed by the domain-id and contains the pointers to the domains attached to this iommu. Modern systems support 65536 domain ids, so that this array has a size of 512kb, per iommu. This is a huge waste of space, as the array is usually sparsely populated. This patch makes the array two-dimensional and allocates the memory for the domain pointers on-demand. Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'include/linux/intel-iommu.h')
-rw-r--r--include/linux/intel-iommu.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h
index d9a366d24e3b..6240063bdcac 100644
--- a/include/linux/intel-iommu.h
+++ b/include/linux/intel-iommu.h
@@ -344,7 +344,7 @@ struct intel_iommu {
#ifdef CONFIG_INTEL_IOMMU
unsigned long *domain_ids; /* bitmap of domains */
- struct dmar_domain **domains; /* ptr to domains */
+ struct dmar_domain ***domains; /* ptr to domains */
spinlock_t lock; /* protect context, domain ids */
struct root_entry *root_entry; /* virtual address */