Thread (35 messages) 35 messages, 5 authors, 2021-08-10

Re: [RFC v1 4/8] intel/vt-d: export intel_iommu_get_resv_regions

flat view

From: Lu Baolu <baolu.lu@linux.intel.com>
Date: 2021-07-09 14:17:37
Also in: linux-iommu, lkml

On 2021/7/9 19:43, Wei Liu wrote:
When Microsoft Hypervisor runs on Intel platforms it needs to know the
reserved regions to program devices correctly. There is no reason to
duplicate intel_iommu_get_resv_regions. Export it.
Why not using iommu_get_resv_regions()?

Best regards,
baolu
quoted hunk ↗ jump to hunk
Signed-off-by: Wei Liu <wei.liu@kernel.org>
---
  drivers/iommu/intel/iommu.c | 5 +++--
  include/linux/intel-iommu.h | 4 ++++
  2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index a4294d310b93..01973bc20080 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -5176,8 +5176,8 @@ static void intel_iommu_probe_finalize(struct device *dev)
  		set_dma_ops(dev, NULL);
  }
  
-static void intel_iommu_get_resv_regions(struct device *device,
-					 struct list_head *head)
+void intel_iommu_get_resv_regions(struct device *device,
+				 struct list_head *head)
  {
  	int prot = DMA_PTE_READ | DMA_PTE_WRITE;
  	struct iommu_resv_region *reg;
@@ -5232,6 +5232,7 @@ static void intel_iommu_get_resv_regions(struct device *device,
  		return;
  	list_add_tail(&reg->list, head);
  }
+EXPORT_SYMBOL_GPL(intel_iommu_get_resv_regions);
  
  int intel_iommu_enable_pasid(struct intel_iommu *iommu, struct device *dev)
  {
diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h
index 03faf20a6817..f91869f765bc 100644
--- a/include/linux/intel-iommu.h
+++ b/include/linux/intel-iommu.h
@@ -814,6 +814,8 @@ extern int iommu_calculate_max_sagaw(struct intel_iommu *iommu);
  extern int dmar_disabled;
  extern int intel_iommu_enabled;
  extern int intel_iommu_gfx_mapped;
+extern void intel_iommu_get_resv_regions(struct device *device,
+				 struct list_head *head);
  #else
  static inline int iommu_calculate_agaw(struct intel_iommu *iommu)
  {
@@ -825,6 +827,8 @@ static inline int iommu_calculate_max_sagaw(struct intel_iommu *iommu)
  }
  #define dmar_disabled	(1)
  #define intel_iommu_enabled (0)
+static inline void intel_iommu_get_resv_regions(struct device *device,
+				 struct list_head *head) {}
  #endif
  
  #endif
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help