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

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] Driver domain questions
From: Mark Williamson <mark.williamson@xxxxxxxxxxxx>
Date: Thu, 14 Dec 2006 03:00:17 +0000
Cc: Muli Ben-Yehuda <muli@xxxxxxxxxx>, "Petersson, Mats" <Mats.Petersson@xxxxxxx>, Ryan <hap9@xxxxxxxxxxxxxx>, "Puthiyaparambil, Aravindh" <aravindh.puthiyaparambil@xxxxxxxxxx>
Delivery-date: Wed, 13 Dec 2006 18:59:47 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <EF8D308BE33AF54D8934DF26520252D305CBF7F1@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <EF8D308BE33AF54D8934DF26520252D305CBF7F1@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.9.5
> What is a driver domain? Is it an unprivileged DomU that has access to a
> PCI device as described in user doc section 5.3?

Yep.

> In that case can the 
> device it is using be virtualized for other DomUs? (I guess not but I just
> want to be sure there is no magic that can make this happen. ☺)

In principle it can export the device to other domUs.  For instance, it would 
use the block or network backends to provide shared access to an owned 
block / network device.

> I understand that HVM Domains cannot have direct access to a PCI device.
> What needs to be done to make this happen? From a prior discussion with
> Mats, I guess there needs to be a way to inform the HVM domain of the
> existence of that PCI device. Does a PCI frontend need to be written for
> the HVM domain and OS drivers need to be made "virtualization aware"? Or is
> it enough to just have a PCI frontend and off the shelf drivers can be
> used?

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).

A hardware IOMMU would enable paravirt guests to access a PCI device without 
being trusted not to snoop or trash memory.  It could also make it possible 
for an HVM guest to be given direct DMA capabilities given a Xen PCI 
frontend.  Perhaps it would even be possible to fake out a PCI bus so that a 
special frontend isn't required.

The AMD folks were working on a IOMMU substitute based on the GART, IIRC.  
There was also some work to utilise the true IOMMU available on some big IBM 
boxes.

HTH,
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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

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