Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I am trying to run Windows XP in a Xen DomU virtual machine with a PCIe device, for which there are no Linux drivers, being passed through from a Debian Squeeze Dom0. My hardware supports virtualization and it is active in the bios. If I run

grep -E "(vmx|svm)" --color=always /proc/cpuinfo

when I boot from the standard kernel I can see my processor supports vmx, although when I boot the Xen kernel, vmx doesn't show up.

I have followed the setup in http://wiki.xen.org/wiki/Xen_Beginners_Guide. The guide basically creates a minimal Debain Squeeze install as Dom0, a PV Debian Squeeze DomU and a HVM Windows DomU running on an LVM volume. I have followed the guide essentially to the letter with the only differences being network bridge is different and I didn't install a Debian PV DomU.

I currently have a DomU on an LVM volume that is running a fully updated version of Windows XP with the GPLPV drivers. I am now trying to pass the PCI device, but am running into problems. If I compare the output of lspci with and without the PCIe card that I am trying to pass I see the following two new entries:

05:00.0 PCI bridge: PLX Technology, Inc. PEX 8111 PCI Express-to-PCI Bridge (rev 21)

06:04.0 Bridge: Device 4550:9054 (rev 01)

I also see that another entry has changed its address from

06:00.0 IDE interface: Marvell Technology Group Ltd. 88SE6121 SATA II Controller (rev b2)

to

07:00.0 IDE interface: Marvell Technology Group Ltd. 88SE6121 SATA II Controller (rev b2)

I modified /etc/default/grub to include either

GRUB_CMDLINE_XEN="xen-pciback.hide=(05:00.0)(06:04.0)"

or

GRUB_CMDLINE_XEN="pciback.hide=(05:00.0)(06:04.0)"

and run update-grub and update-grub2 after making the change and then fully powered down and rebooted. This doesn't appear to do anything and nothing shows up with

xm pci-list-assignable-devices

Looking at the Xen wiki guide http://wiki.xen.org/wiki/Xen_PCI_Passthrough I have tried things like

echo 0000:05:00.0 > /sys/bus/pci/devices/0000:05:00.0/driver/unbind
echo 0000:05:00.0 > /sys/bus/pci/drivers/pciback/new_slot
echo 0000:05:00.0 > /sys/bus/pci/drivers/pciback/bind

and some other stuff related to pci-stub. Sometimes my random fiddling results in

xm pci-list-assignable-devices

listing 05:00.0 and 06:04.0. If I modify my .cfg file to include

pci = ['05:00.0', '06:04.0']

I get an error about pci-stub not owning the 05:00.0 device. If I only try and pass 06:04.0 the DomU won't boot.

Any ideas how to get pci passthrough working.

share|improve this question
    
What is the XEN-Version used by your Debian system? –  Nils Nov 9 '12 at 22:15
    
@Nils Debian Squeeze uses Xen 4.0 and the 2.6.32 Linux kernel. –  Daniel E. Shub Nov 12 '12 at 12:16
    
So this should be pretty comparable to SLES11 SP1 or Oracle-VM. I last used pci-passthrough with xen 3.x - that looked quite different. –  Nils Nov 13 '12 at 22:27
    
@Nils I am not sure how the similarity to SLES11 SP1 or Oracle-VM helps me. –  Daniel E. Shub Nov 14 '12 at 19:48
    
It helps other readers of this question who do not have Debian (like me). Perhaps they can provide an answer faster than I can do (I will have to create a fresh SLES11 SP1 XEN-Dom0 to answer your question - I plan to do this anyway at work - but I can not tell you when that will be within the next two months). –  Nils Nov 14 '12 at 20:08
add comment

Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.