WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Driver domain questions

On Thu, Dec 14, 2006 at 12:13:39AM -0500, Puthiyaparambil, Aravindh wrote:

> > What you really need in a lot of cases is some kind of IOMMU: the
> > guest won't be able to issue correct DMA requests because it is
> > unaware of the underlying memory structure.  I'm not clear if it's
> > possible on any particular OSes to implement this in software via
> > a custom bus type (where the usual DMA mapping API would be used
> > to translate phys->mach and create bounce buffers if necessary).
> 
> My query was w.r.t *not* having a hardware based IOMMU in the picture. I
> realize that true isolation cannot be achieved without hardware IOMMU. I
> was looking to see what it would take (amount of work, difficulty etc)
> to give direct PCI access to HVM domains with just software.

You need a HW IOMMU anyway to give direct PCI access to HVM domains
even if you ignore the isolation aspect. Consider this: the HVMy
guest's driver is not aware of the distinction between physical and
machine space, so it programs the device with a *physical* address,
since that's all it knows about. However, p != m, and eventually the
data needs to end in the right machine frame, so something needs to
translate the physical address to a machine address. The HW IOMMU
provides this functionality when the DMA is incoming to memory.

Cheers,
Muli

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>