diff options
Diffstat (limited to 'drivers/iommu/intel-iommu.c')
-rw-r--r-- | drivers/iommu/intel-iommu.c | 9 |
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 */ |