diff options
author | Donald Dutile <ddutile@redhat.com> | 2012-06-04 17:29:02 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2012-06-08 06:15:43 -0400 |
commit | 6f5cf52114dd87f9ed091678f7dfc8ff21bbe2b3 (patch) | |
tree | 51d0e821a0eae76c34181a1f8286c1480d6bcbc4 /include/linux/intel-iommu.h | |
parent | bf947fcb77ff858f223c49c76e2d130095fa2585 (diff) |
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.h | 2 |
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 { | |||
308 | 308 | ||
309 | struct intel_iommu { | 309 | struct intel_iommu { |
310 | void __iomem *reg; /* Pointer to hardware regs, virtual addr */ | 310 | void __iomem *reg; /* Pointer to hardware regs, virtual addr */ |
311 | u64 reg_phys; /* physical address of hw register set */ | ||
312 | u64 reg_size; /* size of hw register set */ | ||
311 | u64 cap; | 313 | u64 cap; |
312 | u64 ecap; | 314 | u64 ecap; |
313 | u32 gcmd; /* Holds TE, EAFL. Don't need SRTP, SFL, WBF */ | 315 | u32 gcmd; /* Holds TE, EAFL. Don't need SRTP, SFL, WBF */ |