From: Joerg Roedel Date: Wed, 3 Dec 2008 14:14:02 +0000 (+0100) Subject: VT-d: register functions for the IOMMU API X-Git-Tag: v2.6.29-rc1~522^2~5 X-Git-Url: http://ftp.safe.ca/?a=commitdiff_plain;h=a8bcbb0de4a52f07fef7412ddc877348311ebf2a;p=safe%2Fjmp%2Flinux-2.6 VT-d: register functions for the IOMMU API Signed-off-by: Joerg Roedel --- diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c index 7128105..81e04ec 100644 --- a/drivers/pci/intel-iommu.c +++ b/drivers/pci/intel-iommu.c @@ -277,6 +277,8 @@ static int intel_iommu_strict; static DEFINE_SPINLOCK(device_domain_lock); static LIST_HEAD(device_domain_list); +static struct iommu_ops intel_iommu_ops; + static int __init intel_iommu_setup(char *str) { if (!str) @@ -2729,6 +2731,9 @@ int __init intel_iommu_init(void) init_timer(&unmap_timer); force_iommu = 1; dma_ops = &intel_dma_ops; + + register_iommu(&intel_iommu_ops); + return 0; } @@ -3119,3 +3124,13 @@ static phys_addr_t intel_iommu_iova_to_phys(struct iommu_domain *domain, return phys; } + +static struct iommu_ops intel_iommu_ops = { + .domain_init = intel_iommu_domain_init, + .domain_destroy = intel_iommu_domain_destroy, + .attach_dev = intel_iommu_attach_device, + .detach_dev = intel_iommu_detach_device, + .map = intel_iommu_map_range, + .unmap = intel_iommu_unmap_range, + .iova_to_phys = intel_iommu_iova_to_phys, +};