RE: [PATCH 8/9] VT-d: register functions for the IOMMU API

From: Han, Weidong
Date: Thu Nov 27 2008 - 21:51:54 EST


Joerg Roedel wrote:
> Signed-off-by: Joerg Roedel <joerg.roedel@xxxxxxx>
> ---
> drivers/pci/intel-iommu.c | 13 +++++++++++++
> 1 files changed, 13 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
> index 8fa0269..71b4d2f 100644
> --- a/drivers/pci/intel-iommu.c
> +++ b/drivers/pci/intel-iommu.c
> @@ -57,6 +57,7 @@
>
>
> static void flush_unmaps_timeout(unsigned long data);
> +static struct iommu_ops intel_iommu_ops;
>
> DEFINE_TIMER(unmap_timer, flush_unmaps_timeout, 0, 0);
>
> @@ -2326,6 +2327,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;
> }
>
> @@ -2514,3 +2518,12 @@ static phys_addr_t intel_iova_to_phys(struct
> iommu_domain *domain,
>
> return (pfn << PAGE_SHIFT) & offset;
> }
> +
> +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,

change to:
.map_pages = intel_iommu_map_pages,
.unmap_pages = intel_iommu_unmap_pages,

> + .iova_to_phys = intel_iova_to_phys,
> +};

should remove old kvm VT-d API declarations in include/linux/intel-iommu.h, and don't export them. In fact, should remove old kvm VT-d APIs, and move their code to corresponding new APIs. I can help you to do this if need.

Regards,
Weidong

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/