All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joerg Roedel <joro@8bytes.org>
To: Stepan Moskovchenko <stepanm@codeaurora.org>
Cc: Abhilash Kesavan <kesavan.abhilash@gmail.com>,
	joerg.roedel@amd.com, linux-arm-msm@vger.kernel.org,
	kvm@vger.kernel.org, iommu@lists.linux-foundation.org,
	pullip.cho@samsung.com
Subject: Re: IOMMU Query
Date: Thu, 24 Mar 2011 07:10:19 +0100	[thread overview]
Message-ID: <20110324061019.GA18867@8bytes.org> (raw)
In-Reply-To: <4D8A719C.1020305@codeaurora.org>

On Wed, Mar 23, 2011 at 03:18:04PM -0700, Stepan Moskovchenko wrote:
> Consistency between multiple IOMMUs can be maintained. Map and unmap  
> operations happen on a 'domain' structure (which is intended to abstract  
> a page table), and a domain can be attached to one or more IOMMU  
> devices, assuming that all your IOMMUs use the same page table format.

The IOMMU-API even supports it if your IOMMUs have different page-table
formats. The driver can just setup page-tables in every possible format
on map/unmap and use the appropriate one for each device. So this is
possible if wanted.

> The IOMMU layer itself does not handle virtual space management. Its  
> sole responsibility is to set up the mappings. You would need something  
> else to do the management for you. There have been some discussions  
> about it in the past...

Which is by the way the point of the IOMMU-API. If you want address
space management done the the DMA-API is the better choice to implement
for your IOMMU. The DMA-API manages the address space itself.
Something was needed that allows the driver to manage the address space
itself (for KVM device passthrough). This was not possible with the
DMA-API so the IOMMU-API was introduced.
Your IOMMU driver can also implement both APIs like the x86 IOMMU
drivers do (VT-d and AMD-Vi).

Regards,

	Joerg


      reply	other threads:[~2011-03-24  6:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-23  9:08 IOMMU Query Abhilash Kesavan
2011-03-23  9:21 ` Roedel, Joerg
2011-03-23 22:18 ` Stepan Moskovchenko
2011-03-24  6:10   ` Joerg Roedel [this message]

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=20110324061019.GA18867@8bytes.org \
    --to=joro@8bytes.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joerg.roedel@amd.com \
    --cc=kesavan.abhilash@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=pullip.cho@samsung.com \
    --cc=stepanm@codeaurora.org \
    /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.