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

[Xen-devel] PCI pass-through

To: "Xen Developers" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] PCI pass-through
From: "David Stone" <unclestoner@xxxxxxxxx>
Date: Tue, 6 Nov 2007 15:27:29 -0500
Delivery-date: Tue, 06 Nov 2007 12:28:24 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; bh=iWDSqFWGfucFTvDbZYRBdA2DW6jJG/nkE0iH1cf5nFE=; b=lozGWk50H9GzJ5+iijKUAhMdlbXtXN91KG2xSxq+do3OGKrIzkFIA6xBH/Lfn4CjBKIhPpcfuxgnpLQl+PmAQaQGio9Mf9bFt+UjaMOJqOnGSD2s0b73o5bRcevhyeqY3ggOkczI8h0+wSs+Tn9jXrXAwhG9Pu8TqXAfz48RAkU=
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=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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?

Thanks,
Dave

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

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