David Stone
2007-Oct-10 19:09 UTC
[Xen-devel] Questions about direct hardware access, DMA, etc
Hi folks, this is my first post to the mailing list. I have a general question about the state of various efforts aimed at granting a domU physical access to a hardware device like a NIC, graphics card, etc. I generally understand the challenges this poses to a hypervisor in terms of interrupts and DMA. I am specifically wondering about what options are available when running non-Paravirtualized OSes (with VTX/SVM) I guess Xen has supported "driver domains" for awhile...but I assume these don''t work if the device uses DMA? Or do they only work for PV guests? What projects/repositories are there (on http://xenbits.xensource.com/ext or elsewhere) that address granting a non-PV DomU access to a device...either with a hardware IOMMU or without one? I saw some slides on Neocleus that looked interesting...my take was that they are giving a non-PV DomU access to a device in the absence of a hardware IOMMU, is that roughly correct? Is the Neocleus project in any particular repository now? Thanks, Dave _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Mark Williamson
2007-Oct-11 01:05 UTC
Re: [Xen-devel] Questions about direct hardware access, DMA, etc
> Hi folks, this is my first post to the mailing list. I have a general > question about the state of various efforts aimed at granting a domU > physical access to a hardware device like a NIC, graphics card, etc. > I generally understand the challenges this poses to a hypervisor in > terms of interrupts and DMA. I am specifically wondering about what > options are available when running non-Paravirtualized OSes (with > VTX/SVM) > > I guess Xen has supported "driver domains" for awhile...but I assume > these don''t work if the device uses DMA? Or do they only work for PV > guests?Only PV guests. Well, in principle it would be possible to make a non-DMA device pass through to an HVM guest fairly straightforwardly, although to the best of my knowledge this is not currently done. You could possibly tell the Qemu device model to e.g. plumb the guest''s serial console to /dev/ttyS0 and thus get some serial port IO (but not direct access).> What projects/repositories are there (on > http://xenbits.xensource.com/ext or elsewhere) that address granting a > non-PV DomU access to a device...either with a hardware IOMMU or > without one? I saw some slides on Neocleus that looked > interesting...my take was that they are giving a non-PV DomU access to > a device in the absence of a hardware IOMMU, is that roughly correct? > Is the Neocleus project in any particular repository now?Yes, that''s what they''re trying to do. They posted patches to the mailing list during the last couple of months, which you may want to take a look at. I''m not sure there''s a public tree but they''re posting patches for review and incorporating feedback. Other possibilities: Some patches for Intel''s IOMMU have been posted and may have actually been checked in Some AMD work was done on using the GART as a translating (but not protecting) IOMMU for passing devices to guests. I''m not sure what happened to that project as I''ve not heard about it for a while. Hope that helps, Cheers, Mark -- Dave: Just a question. What use is a unicyle with no seat? And no pedals! Mark: To answer a question with a question: What use is a skateboard? Dave: Skateboards have wheels. Mark: My wheel has a wheel! _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2007-Oct-11 07:08 UTC
Re: [Xen-devel] Questions about direct hardware access, DMA, etc
On 10/10/07 20:09, "David Stone" <unclestoner@gmail.com> wrote:> Is the Neocleus project in any particular repository now?http://xenbits.xensource.com/ext/direct-io.hg K. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
David Stone
2007-Oct-12 14:40 UTC
Re: [Xen-devel] Questions about direct hardware access, DMA, etc
Thanks, this definately answered some of my questions and confirmed some of my understanding.> Some patches for Intel''s IOMMU have been posted and may have actually been > checked in > > Some AMD work was done on using the GART as a translating (but not protecting) > IOMMU for passing devices to guests. I''m not sure what happened to that > project as I''ve not heard about it for a while.I''m still not clear on what work is ongoing in which repositories...direct-io.hg, iommu.hg, or the main line. I''m trying to understand how these repositories map to the following features: - Neocleus - Support for hardware IOMMU, either AMD or Intel. Is any of this stuff in the main repository (or, are patches for this stuff relative to the main repository)? Thanks. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2007-Oct-12 14:44 UTC
Re: [Xen-devel] Questions about direct hardware access, DMA, etc
On 12/10/07 15:40, "David Stone" <unclestoner@gmail.com> wrote:> I''m still not clear on what work is ongoing in which > repositories...direct-io.hg, iommu.hg, or the main line. I''m trying > to understand how these repositories map to the following features: > - Neocleus > - Support for hardware IOMMU, either AMD or Intel. > > Is any of this stuff in the main repository (or, are patches for this > stuff relative to the main repository)?All the AMD and Intel passthru support for HVM guests is in the main tree. The Neocleus stuff is in direct-io.hg. The iommu.hg tree is not directly relevant to the passthru work for HVM guests. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
David Stone
2007-Oct-24 13:48 UTC
Re: [Xen-devel] Questions about direct hardware access, DMA, etc
> All the AMD and Intel passthru support for HVM guests is in the main tree. > The Neocleus stuff is in direct-io.hg. The iommu.hg tree is not directly > relevant to the passthru work for HVM guests.Thanks guys. Just so I''m clear, the current main tree supports passing through DMA-using devices to a DomU via Intel VT-d? Is this controlled by some new configuration file parameters?>From what I''ve just read VT-d chipsets have been available since a fewmonths ago, do you know if they are in any off-the-shelf machines yet, like something I could buy from Dell or whoever? What have Xen developers been using to develop support for VT-d? (I know this isn''t a completely Xen-specific question but I''m not a hardware expert so I''m a bit naive about this kind of thing...) And finally a similar question for AMD''s IOMMU...you said there was support for AMD IOMMU/passthru...does that mean support for a chipset implementing the AMD IOMMU spec? Do any such chipsets even exist yet? Or do you mean using the GART as an IOMMU? Thanks, Dave _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2007-Oct-24 14:04 UTC
Re: [Xen-devel] Questions about direct hardware access, DMA, etc
On 24/10/07 14:48, "David Stone" <unclestoner@gmail.com> wrote:> And finally a similar question for AMD''s IOMMU...you said there was > support for AMD IOMMU/passthru...does that mean support for a chipset > implementing the AMD IOMMU spec? Do any such chipsets even exist yet? > Or do you mean using the GART as an IOMMU?The AMD code is quite new. I don''t think it actually supports passthru as yet. As you say, no chipsets are publicly available yet anyway. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel