summaryrefslogtreecommitdiff
path: root/include/linux/intel-iommu.h
diff options
context:
space:
mode:
authorDonald Dutile <ddutile@redhat.com>2012-06-04 17:29:02 -0400
committerIngo Molnar <mingo@kernel.org>2012-06-08 12:15:43 +0200
commit6f5cf52114dd87f9ed091678f7dfc8ff21bbe2b3 (patch)
tree51d0e821a0eae76c34181a1f8286c1480d6bcbc4 /include/linux/intel-iommu.h
parentbf947fcb77ff858f223c49c76e2d130095fa2585 (diff)
downloadlwn-6f5cf52114dd87f9ed091678f7dfc8ff21bbe2b3.tar.gz
lwn-6f5cf52114dd87f9ed091678f7dfc8ff21bbe2b3.zip
iommu/dmar: Reserve mmio space used by the IOMMU, if the BIOS forgets to
Intel-iommu initialization doesn't currently reserve the memory used for the IOMMU registers. This can allow the pci resource allocator to assign a device BAR to the same address as the IOMMU registers. This can cause some not so nice side affects when the driver ioremap's that region. Introduced two helper functions to map & unmap the IOMMU registers as well as simplify the init and exit paths. Signed-off-by: Donald Dutile <ddutile@redhat.com> Acked-by: Chris Wright <chrisw@redhat.com> Cc: iommu@lists.linux-foundation.org Cc: suresh.b.siddha@intel.com Cc: dwmw2@infradead.org Link: http://lkml.kernel.org/r/1338845342-12464-3-git-send-email-ddutile@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/intel-iommu.h')
-rw-r--r--include/linux/intel-iommu.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h
index e6ca56de9936..78e2ada50cd5 100644
--- a/include/linux/intel-iommu.h
+++ b/include/linux/intel-iommu.h
@@ -308,6 +308,8 @@ enum {
struct intel_iommu {
void __iomem *reg; /* Pointer to hardware regs, virtual addr */
+ u64 reg_phys; /* physical address of hw register set */
+ u64 reg_size; /* size of hw register set */
u64 cap;
u64 ecap;
u32 gcmd; /* Holds TE, EAFL. Don't need SRTP, SFL, WBF */