From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [GIT PULL] pv/pciback-2.6.32 Date: Tue, 9 Mar 2010 10:42:00 -0500 Message-ID: <20100309154200.GA22018@phenom.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Jeremy Fitzhardinge , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Hey Jeremy Please pull the pv/pciback-2.6.32 branch which has the back-port of the PCI backend drivers to complement the PCI front-end driver. git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git pv/pciback-2.6.32 As in the past, I've also done a merge with xen/next, which is in the pv/merge.xen.next, since the merge is bit hairy (again!?) I've tested this with MSI and IRQ devices where the PCI frontend and PCI backend are both xen/next. Bugs: - There are three different PCI backend choices: Passthrough, Slot and Virtual PCI. There is not need for all of them on X86. Will remove two soon. How to use it: [copy-n-paste from xen/docs/misc/vtd.txt of the appropiate section] Title : How to do PCI Passthrough with VT-d Authors : Allen Kay Weidong Han Yuji Shimada Created : October-24-2007 Updated : July-07-2009 How to turn on VT-d in Xen -------------------------- Xen with 2.6.32 dom0: 1 ) git clone git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git pv/merge.xen.next 3 ) cd xen.git; make menuconfig 4 ) change XEN->"PCI-device backend driver" from "M" to "*". 5 ) make all 6 ) make install && make modules_install 10) lspci - select the PCI BDF you want to assign to guest OS 11) If you see device which BAR's is not aligned you can use the 'pci=resource_alignmnet= ../../../../bus/pci/drivers/igb b) if yes, then unload the driver first echo -n 0000:01:00.0 >/sys/bus/pci/drivers/igb/unbind c) add the device to the PCI backend echo -n 0000:01:00.0 >/sys/bus/pci/drivers/pciback/new_slot d) let the PCI backend bind to the device echo -n 0000:01:00.0 >/sys/bus/pci/drivers/pciback/bind 12) reboot system (not requires if you use the dynamic hiding method) 13) add "pci" line in /etc/xen/pv.conf for to assigned devices pci = [ '01:00.0', '03:00.0' ] 15) start PV guest and use "lspci" to see the passthru device and "ifconfig" to see if IP address has been assigned to NIC devices. [ rest is cut off since it talks about HVM/VT-D which is not the point of this patch ]