[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.