XenServer 6.2: Passing through multiple PCI or PCI Express devices to a Virtual Machine (VM)

 

Following the previous article on passing through a PCI or PCI Express card to a virtual machine someone asked what the syntax was to pass through multiple devices to a VM. Using our previous system as an example, we run lspci to find each item we want to pass through. Using the same system as last time, we will pass through these two devices:

 

03:00.0 Multimedia controller: Philips Semiconductors SAA7164 (rev 81)

01:03.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]

 

The /boot/extlinux.conf file should be edited the same as before, except that we separate each device’s number with a space, e.g.:

 

pciback.hide=(03:00.0) (01:03.0)

 

You can keep on adding more devices if you have more to pass through in the same fashion. Follow the rest of the instructions, and when it comes to adding them to the VM configuration you can do it like so:

 

xe vm-param-set other-config:pci=0/0000:03:00.0,0/0000:01:03.0 uuid=[uuid]

 

Note that there is only a comma, no space between the PCI addresses. That’s it!