All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Wei Wang2" <wei.wang2@amd.com>
To: Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
Cc: muli@il.ibm.com, xen-devel@lists.xensource.com,
	Michael.Hohmuth@amd.com, thomas.woller@amd.com,
	iommu@lists.linux-foundation.org, Uwe.Dannowski@amd.com
Subject: Re: [XEN-IOMMU] Proposal of DMA protection/isolation support
Date: Thu, 10 Jan 2008 17:52:33 +0100	[thread overview]
Message-ID: <1199983953.4405.143.camel@gran.amd.com> (raw)
In-Reply-To: <C3ABF04D.1A5CD%Keir.Fraser@cl.cam.ac.uk>

On Thu, 2008-01-10 at 15:54 +0000, Keir Fraser wrote:
> Grant table mappings/unmappings are an obvious place where we already trap
> to the hypervisor and could make correspodning changes to iommu mappings?
Can grant mapping cover the situation in which a device only be accessed
by a driver domain other than be shared with any remote domain? In other
word, when a device is only access by a driver domain, does grant table
mapping still happen? If yes, it is the best way to go.

> It depends if we want the iommu to do any more than prevent arbitrary DMA
> access to foreign pages. What's the threat model you are wanting to use the
> iommu to protect against?
I think IOMMU can help to prevent buggy driver from destroying memory content of both 
driver domain itself and foreign domain. Proper IO address which is
requested by device driver should only be provided by some pre-defined
interfaces/hypercalls.  Arbitrary dma addresses written to a device by a
buggy driver will not trigger address translations.

-Wei

>  -- Keir
> 
> On 10/1/08 15:48, "Wei Wang2" <wei.wang2@amd.com> wrote:
> 
> > hi list,
> > I am considering adding DMA protection/isolation support for iommu
> > machine:  Below are the suggested approaches to be discussed:
> > 
> > 1) Para-virtualized IOMMU
> > If it is possible to integrate IOMMU driver into guest kernel, we can
> > just implement a set of para-virtualized interface to forward hardware
> > operations from guest to HV. Guest kernel will allocation IO page table
> > for itself, but IO-PTE updating is verified by HV through hypercall.
> > 
> > 2) IOMMU-aware dma layer.
> > Currently, driver domain utilizes swiotlb to get dma_address below 4G,
> > which is an additional overhead to IOMMU machine. For IOMMU machine, we
> > can implement a new dma layer which takes "guest_domain-id",
> > "device_bdf", and "guest_page" information as parameters and returns
> > virtual io address to guest OS. Guest OS only have very limited
> > knowledge/control to IOMMU. In this case, HV will allocate and update IO
> > page table for guest domain.
> > 
> > 3) Hooking guest memory changes
> > No guest OS modification is needed in this approach.  All we need is to
> > update IO page table when guest physical memory changes triggered by
> > domain initialization, ballooning, and grant reference mapping...
> > 
> > Thanks for any comments, ideas, corrections... to this thread.
> > 
> > -Wei
> > 
> > 
> > 
> > 
> > 
> > 
> 
> 
> 
> 

  reply	other threads:[~2008-01-10 16:52 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-10 15:48 [XEN-IOMMU] Proposal of DMA protection/isolation support Wei Wang2
2008-01-10 15:54 ` Keir Fraser
2008-01-10 16:52   ` Wei Wang2 [this message]
2008-01-10 16:58     ` Keir Fraser
2008-01-10 17:31       ` Wei Wang2
2008-01-16 16:34       ` Wei Wang2
2008-01-16 16:45         ` Keir Fraser
2008-01-16 17:15           ` Wei Wang2
2008-01-16 18:25             ` Keir Fraser
2008-01-17  0:11         ` Re: [XEN-IOMMU] Proposal of DMA protection/isolationsupport Ian Pratt
2008-01-18  8:10           ` tgh
2008-01-12 11:45 ` [XEN-IOMMU] Proposal of DMA protection/isolation support Amit Shah

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=1199983953.4405.143.camel@gran.amd.com \
    --to=wei.wang2@amd.com \
    --cc=Keir.Fraser@cl.cam.ac.uk \
    --cc=Michael.Hohmuth@amd.com \
    --cc=Uwe.Dannowski@amd.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=muli@il.ibm.com \
    --cc=thomas.woller@amd.com \
    --cc=xen-devel@lists.xensource.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.