All of lore.kernel.org
 help / color / mirror / Atom feed
From: "'Joerg Roedel'" <joerg.roedel@amd.com>
To: "Han, Weidong" <weidong.han@intel.com>
Cc: "'kvm@vger.kernel.org'" <kvm@vger.kernel.org>,
	"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
	"'iommu@lists.linux-foundation.org'" 
	<iommu@lists.linux-foundation.org>,
	"'avi@redhat.com'" <avi@redhat.com>,
	"'mingo@redhat.com'" <mingo@redhat.com>,
	"'dwmw2@infradead.org'" <dwmw2@infradead.org>,
	"'amit.shah@redhat.com'" <amit.shah@redhat.com>
Subject: Re: [PATCH 3/9] add frontend implementation for the IOMMU API
Date: Mon, 1 Dec 2008 19:16:00 +0100	[thread overview]
Message-ID: <20081201181600.GE12816@amd.com> (raw)
In-Reply-To: <715D42877B251141A38726ABF5CABF2C018BF04FC2@pdsmsx503.ccr.corp.intel.com>

On Fri, Nov 28, 2008 at 10:50:36AM +0800, Han, Weidong wrote:
> Joerg Roedel wrote:
> > +struct iommu_domain *iommu_domain_alloc(struct device *dev)
> > +{
> > +	struct iommu_domain *domain;
> > +	int ret;
> > +
> > +	domain = kmalloc(sizeof(*domain), GFP_KERNEL);
> > +	if (!domain)
> > +		return NULL;
> > +
> > +	ret = iommu_ops->domain_init(domain, dev);
> > +	if (ret)
> > +		goto out_free;
> > +
> > +	return domain;
> > +
> > +out_free:
> > +	kfree(domain);
> > +
> > +	return NULL;
> > +}
> > +EXPORT_SYMBOL_GPL(iommu_domain_alloc);
> 
> remove the parameter dev.

[x] Done.

> > +
> > +void iommu_domain_free(struct iommu_domain *domain)
> > +{
> > +	iommu_ops->domain_destroy(domain);
> > +	kfree(domain);
> > +}
> > +EXPORT_SYMBOL_GPL(iommu_domain_free);
> > +
> > +int iommu_attach_device(struct iommu_domain *domain, struct device
> > *dev) +{
> > +	return iommu_ops->attach_dev(domain, dev);
> > +}
> > +EXPORT_SYMBOL_GPL(iommu_attach_device);
> > +
> > +void iommu_detach_device(struct iommu_domain *domain, struct device
> > *dev) +{
> > +	iommu_ops->detach_dev(domain, dev);
> > +}
> > +EXPORT_SYMBOL_GPL(iommu_detach_device);
> > +
> > +int iommu_map_address(struct iommu_domain *domain,
> > +		      dma_addr_t iova, phys_addr_t paddr,
> > +		      size_t size, int prot)
> > +{
> > +	return iommu_ops->map(domain, iova, paddr, size, prot);
> > +}
> > +EXPORT_SYMBOL_GPL(iommu_map_address);
> 
> change to:
> int iommu_map_pages(struct iommu_domain *domain, unsigned long gfn,
> 		unsigned long pfn, unsigned long npages, int prot)
> {
> 	return iommu_ops->map(domain, gfn, pfn, npages, prot);
> }
> EXPORT_SYMBOL_GPL(iommu_map_pages);
> 
> int iommu_unmap_pages(struct iommu_domain *domain, unsigned long gfn, unsigned long npages)
> {
> 	return iommu_ops->map(domain, gfn, npages);
> }
> EXPORT_SYMBOL_GPL(iommu_unmap_pages);

Ok, I added the unmap function. But I think this API should work with
addresses instead of page numbers. This way the IO page size is
transparent for the user.

-- 
           |           AMD Saxony Limited Liability Company & Co. KG
 Operating |         Wilschdorfer Landstr. 101, 01109 Dresden, Germany
 System    |                  Register Court Dresden: HRA 4896
 Research  |              General Partner authorized to represent:
 Center    |             AMD Saxony LLC (Wilmington, Delaware, US)
           | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy


  reply	other threads:[~2008-12-01 18:16 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-27 15:40 [PATCH 0/9] Factor VT-d KVM functions into a generic API Joerg Roedel
2008-11-27 15:40 ` [PATCH 1/9] KVM: rename vtd.c to iommu.c Joerg Roedel
2008-11-27 16:32   ` Avi Kivity
2008-11-27 17:05     ` Joerg Roedel
2008-11-30 10:12       ` Avi Kivity
2008-11-27 15:40 ` [PATCH 2/9] introcude linux/iommu.h for an iommu api Joerg Roedel
2008-11-28  2:50   ` Han, Weidong
2008-11-28  2:50     ` Han, Weidong
2008-11-27 15:40 ` [PATCH 3/9] add frontend implementation for the IOMMU API Joerg Roedel
2008-11-28  2:50   ` Han, Weidong
2008-11-28  2:50     ` Han, Weidong
2008-12-01 18:16     ` 'Joerg Roedel' [this message]
2008-11-28  9:40   ` FUJITA Tomonori
2008-11-28 11:31     ` Joerg Roedel
2008-12-01  8:38       ` FUJITA Tomonori
2008-12-01 12:00         ` Joerg Roedel
2008-12-01 13:02           ` Muli Ben-Yehuda
2008-12-01 14:07             ` Joerg Roedel
2008-12-01 14:18             ` FUJITA Tomonori
2008-12-01 14:27               ` Joerg Roedel
2008-12-01 14:33                 ` Avi Kivity
2008-12-01 15:46                   ` Joerg Roedel
2008-12-01 15:58                   ` FUJITA Tomonori
2008-12-01 16:59                     ` Joerg Roedel
2008-12-01 17:27                     ` Joerg Roedel
2008-11-27 15:40 ` [PATCH 4/9] select IOMMU_API when DMAR and/or AMD_IOMMU is selected Joerg Roedel
2008-11-27 15:40 ` [PATCH 5/9] VT-d: add domain init and destroy functions for IOMMU API Joerg Roedel
2008-11-27 15:40 ` [PATCH 6/9] VT-d: add device attach and detach " Joerg Roedel
2008-11-27 15:40 ` [PATCH 7/9] VT-d: add domain map and iova_to_phys " Joerg Roedel
2008-11-27 15:40 ` [PATCH 8/9] VT-d: register functions for the " Joerg Roedel
2008-11-28  2:50   ` Han, Weidong
2008-11-28  2:50     ` Han, Weidong
2008-11-27 15:40 ` [PATCH 9/9] KVM: change KVM iommu.c to use " Joerg Roedel
2008-11-27 15:43 ` [osrc-patches] [PATCH 0/9] Factor VT-d KVM functions into a generic API Joerg Roedel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081201181600.GE12816@amd.com \
    --to=joerg.roedel@amd.com \
    --cc=amit.shah@redhat.com \
    --cc=avi@redhat.com \
    --cc=dwmw2@infradead.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=weidong.han@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.