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

[Xen-devel] PCI pass-through

  • To: "Xen Developers" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "David Stone" <unclestoner@xxxxxxxxx>
  • Date: Tue, 6 Nov 2007 15:27:29 -0500
  • Delivery-date: Tue, 06 Nov 2007 12:28:24 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=baP4hsoNqkUCiM/CiXmlWeAdZxE7pFH1LNaBC90PN3Pm/UnC1YsgzO2rnhUOI2Lri8jstOXNRG0UzXTpJPAl0Ji35Pj3yMuabQIjjUhbRVT9wxFL7bBn5/hyplfFn5tuvpCxcwUWE+4NDcPrEFQatTtJuLOo2RB1m0ZSR6sdlHM=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hi guys, I'm trying to understand the architecture of the PCI
pass-through functionality on Xen.  Just to be clear, I'm (for now)
trying to understand what's happening when a PCI device is "hidden"
from (PV) Dom0 and exposed to a PV DomU.

I was originally assuming that as long as Dom0 was told not to touch a
particular PCI device, then DomU could be granted direct access do it,
and operations on that device would go through its normal drivers on
DomU, and the DomU kernel with no involvement whatsoever from Dom0.
The model in my mind is that since Dom0 and DomU are equally
paravirtualized, there is no reason that DomU couldn't be given the
same exact mechanism for access to the PCI device as Dom0 is normally
given...it's just a matter of configuration.

But in looking in how to configure this, I see there are pciback and
pcifront drivers...just like netback and netfront.  I thought maybe
pciback's sole purpose was to hide specified PCI devices from Dom0,
but there is quite a bit of code in the source for pciback.  Also in
pcifront I see xenbus.c, suggesting it communicates with its back-end
counterpart just like netfront or blkfront.

So, when one grant's "direct" access to a PCI device to DomU, is it
still being piped through Dom0 like block devices and interfaces?  If
so why is this necessary?  Does the device-specific driver run in Dom0
or DomU?


Xen-devel mailing list



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