aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iommu/intel-iommu.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iommu/intel-iommu.c')
-rw-r--r--drivers/iommu/intel-iommu.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index e758d8ed8fb5..86f9e82b015b 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -71,6 +71,9 @@
71 __DOMAIN_MAX_PFN(gaw), (unsigned long)-1)) 71 __DOMAIN_MAX_PFN(gaw), (unsigned long)-1))
72#define DOMAIN_MAX_ADDR(gaw) (((uint64_t)__DOMAIN_MAX_PFN(gaw)) << VTD_PAGE_SHIFT) 72#define DOMAIN_MAX_ADDR(gaw) (((uint64_t)__DOMAIN_MAX_PFN(gaw)) << VTD_PAGE_SHIFT)
73 73
74/* IO virtual address start page frame number */
75#define IOVA_START_PFN (1)
76
74#define IOVA_PFN(addr) ((addr) >> PAGE_SHIFT) 77#define IOVA_PFN(addr) ((addr) >> PAGE_SHIFT)
75#define DMA_32BIT_PFN IOVA_PFN(DMA_BIT_MASK(32)) 78#define DMA_32BIT_PFN IOVA_PFN(DMA_BIT_MASK(32))
76#define DMA_64BIT_PFN IOVA_PFN(DMA_BIT_MASK(64)) 79#define DMA_64BIT_PFN IOVA_PFN(DMA_BIT_MASK(64))
@@ -1632,7 +1635,7 @@ static int dmar_init_reserved_ranges(void)
1632 struct iova *iova; 1635 struct iova *iova;
1633 int i; 1636 int i;
1634 1637
1635 init_iova_domain(&reserved_iova_list, DMA_32BIT_PFN); 1638 init_iova_domain(&reserved_iova_list, IOVA_START_PFN, DMA_32BIT_PFN);
1636 1639
1637 lockdep_set_class(&reserved_iova_list.iova_rbtree_lock, 1640 lockdep_set_class(&reserved_iova_list.iova_rbtree_lock,
1638 &reserved_rbtree_key); 1641 &reserved_rbtree_key);
@@ -1690,7 +1693,7 @@ static int domain_init(struct dmar_domain *domain, int guest_width)
1690 int adjust_width, agaw; 1693 int adjust_width, agaw;
1691 unsigned long sagaw; 1694 unsigned long sagaw;
1692 1695
1693 init_iova_domain(&domain->iovad, DMA_32BIT_PFN); 1696 init_iova_domain(&domain->iovad, IOVA_START_PFN, DMA_32BIT_PFN);
1694 domain_reserve_special_ranges(domain); 1697 domain_reserve_special_ranges(domain);
1695 1698
1696 /* calculate AGAW */ 1699 /* calculate AGAW */
@@ -4313,7 +4316,7 @@ static int md_domain_init(struct dmar_domain *domain, int guest_width)
4313{ 4316{
4314 int adjust_width; 4317 int adjust_width;
4315 4318
4316 init_iova_domain(&domain->iovad, DMA_32BIT_PFN); 4319 init_iova_domain(&domain->iovad, IOVA_START_PFN, DMA_32BIT_PFN);
4317 domain_reserve_special_ranges(domain); 4320 domain_reserve_special_ranges(domain);
4318 4321
4319 /* calculate AGAW */ 4322 /* calculate AGAW */