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)


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

I modified /etc/default/grub to include either




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.

  • 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. – StrongBad 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. – StrongBad 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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.