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

Re: [Xen-devel] PCI pass-through

  • To: David Stone <unclestoner@xxxxxxxxx>, Xen Developers <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
  • Date: Wed, 07 Nov 2007 07:31:57 +0000
  • Delivery-date: Tue, 06 Nov 2007 23:27:02 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcghEEa8hTgbXY0DEdy/iwAWy6hiGQ==
  • Thread-topic: [Xen-devel] PCI pass-through

They're not really equal -- dom0 manages the platform (IRQ routing, ACPI
OSPM stuff, etc.). This type of thing is hard to decentralise, so dom0
continues to manage basic setup of PCI devices, some of which is triggered
by accesses to PCI config space by domUs, via pcifront/pciback. However,
device-specific management is done by the domU itself. dom0 is not involved
in any data paths.

 -- Keir

On 6/11/07 20:27, "David Stone" <unclestoner@xxxxxxxxx> wrote:

> 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

Xen-devel mailing list



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