소스 검색

iommu-api: Extension to check for interrupt remapping

This patch allows IOMMU users to determine whether the
hardware and software support safe, isolated interrupt
remapping.  Not all Intel IOMMUs have the hardware, and the
software for AMD is not there yet.

Signed-off-by: Tom Lyon <pugs@cisco.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Tom Lyon 15 년 전
부모
커밋
323f99cbc3
2개의 변경된 파일3개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      drivers/pci/intel-iommu.c
  2. 1 0
      include/linux/iommu.h

+ 2 - 0
drivers/pci/intel-iommu.c

@@ -3698,6 +3698,8 @@ static int intel_iommu_domain_has_cap(struct iommu_domain *domain,
 
 
 	if (cap == IOMMU_CAP_CACHE_COHERENCY)
 	if (cap == IOMMU_CAP_CACHE_COHERENCY)
 		return dmar_domain->iommu_snooping;
 		return dmar_domain->iommu_snooping;
+	if (cap == IOMMU_CAP_INTR_REMAP)
+		return intr_remapping_enabled;
 
 
 	return 0;
 	return 0;
 }
 }

+ 1 - 0
include/linux/iommu.h

@@ -30,6 +30,7 @@ struct iommu_domain {
 };
 };
 
 
 #define IOMMU_CAP_CACHE_COHERENCY	0x1
 #define IOMMU_CAP_CACHE_COHERENCY	0x1
+#define IOMMU_CAP_INTR_REMAP		0x2	/* isolates device intrs */
 
 
 struct iommu_ops {
 struct iommu_ops {
 	int (*domain_init)(struct iommu_domain *domain);
 	int (*domain_init)(struct iommu_domain *domain);