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] [PATCH v2] Xen PCI backend driver.

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH v2] Xen PCI backend driver.
From: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Date: Mon, 13 Dec 2010 13:01:34 -0500
Cc: Konrad Rzeszutek Wilk <konrad@xxxxxxxxxx>, Jeremy Fitzhardinge <jeremy@xxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, Jan Beulich <JBeulich@xxxxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Delivery-date: Mon, 13 Dec 2010 10:05:32 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Attached is set of patches for the Xen PCI backend driver. Lot of driver pieces
have been reviewed in the past, but I don't recall it being sent to xen-devel.
The infrastructure parts (patches #1-#6) were posted at some point.

The Xen PCI back driver patch (#7) was squished from the git tree
(devel/xen-pciback-0.2) as some of them were just boring (supporting 2.6.18
driver to work, checkpatch), and some already posted/reviewed. The 
full tree is available at:

git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git 
devel/xen-pciback-0.2

.. and that is the tree I will use when asking Linus to pull the
driver.

So what is Xen PCI backend? It is a simple driver that utilizes the
ring-buffer to exchange 0xcf8 inb/outb commands from the guest to
the control domain. The backend carries out sanitized PCI configuration
reads/writes on behest of the guest. It also has some extra commands
for enabling/disabling MSI/MSI-X interrupts.

Please take a look at the patches (or even just a couple of them)
and provide feedback.

The patch set depends on stable/xenbus, which is back-port of XenBus
backend driver done by Ian Campbell. A merge of this tree along with
stable/xenbus is available as:

git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git master

The diffstat:

 arch/x86/include/asm/xen/pci.h                  |   16 +
 arch/x86/pci/xen.c                              |   73 ++
 drivers/xen/Kconfig                             |   65 ++
 drivers/xen/Makefile                            |    1 +
 drivers/xen/events.c                            |   68 ++-
 drivers/xen/pciback/Makefile                    |   17 +
 drivers/xen/pciback/conf_space.c                |  435 +++++++
 drivers/xen/pciback/conf_space.h                |  126 +++
 drivers/xen/pciback/conf_space_capability.c     |   66 ++
 drivers/xen/pciback/conf_space_capability.h     |   26 +
 drivers/xen/pciback/conf_space_capability_msi.c |  111 ++
 drivers/xen/pciback/conf_space_capability_pm.c  |  113 ++
 drivers/xen/pciback/conf_space_capability_vpd.c |   40 +
 drivers/xen/pciback/conf_space_header.c         |  385 +++++++
 drivers/xen/pciback/conf_space_quirks.c         |  140 +++
 drivers/xen/pciback/conf_space_quirks.h         |   35 +
 drivers/xen/pciback/controller.c                |  442 ++++++++
 drivers/xen/pciback/passthrough.c               |  178 +++
 drivers/xen/pciback/pci_stub.c                  | 1371 +++++++++++++++++++++++
 drivers/xen/pciback/pciback.h                   |  142 +++
 drivers/xen/pciback/pciback_ops.c               |  241 ++++
 drivers/xen/pciback/slot.c                      |  191 ++++
 drivers/xen/pciback/vpci.c                      |  244 ++++
 drivers/xen/pciback/xenbus.c                    |  726 ++++++++++++
 include/xen/events.h                            |    9 +
 25 files changed, 5258 insertions(+), 3 deletions(-)


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