xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] pv/pciback-2.6.32
@ 2010-03-09 15:42 Konrad Rzeszutek Wilk
  0 siblings, 0 replies; only message in thread
From: Konrad Rzeszutek Wilk @ 2010-03-09 15:42 UTC (permalink / raw)
  To: Jeremy Fitzhardinge, xen-devel

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    <allen.m.kay@intel.com>
          Weidong Han  <weidong.han@intel.com>
          Yuji Shimada <shimada-yxb@necst.nec.co.jp>
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=<BDF"' command line to make it page aligned.
11) "hide" pci device from dom0 as following sample grub entry:

title Xen-Fedora Core (2.6.32-xen)
        root (hd0,0)
        kernel /boot/xen.gz com1=115200,8n1 console=com1 iommu=1
        module /boot/vmlinuz-2.6.32 root=LABEL=/ ro console=hvc0 xen-pciback.hide=(07:00.0)(08:05.0)(08:07.0)(08:07.2) pci=resource_alignment=08:05.0
        module /boot/initrd-2.6.32.img

    or use dynamic hiding via PCI backend sysfs interface:
        a) check if the driver has binded to the device
            ls -l /sys/bus/pci/devices/0000:01:00.0/driver
            ... /sys/bus/pci/devices/0000:01:00.0/driver -> ../../../../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 ]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-03-09 15:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-09 15:42 [GIT PULL] pv/pciback-2.6.32 Konrad Rzeszutek Wilk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).