15.5. PCI passthrough for para-virtualized Xen guests on Red Hat Enterprise Linux
Warning
Any guest using PCI passthrough will no longer be available for save, restore, or migration capabilities, as it will be tied to a particular non-virtualized hardware configuration.
Procedure 15.3. Example: attaching a PCI device
- Given a network device which uses the bnx2 driver and has a PCI id of 0000:09:00.0, the following lines added to
/etc/modprobe.conf
hides the device from dom0. Either thebnx2
module must be reloaded or the host must be restarted.install bnx2 /sbin/modprobe pciback; /sbin/modprobe --first-time --ignore-install bnx2 options pciback hide=(0000:09:00.0)
- Multiple PCI identifiers can be added to
/etc/modprobe.conf
to hide multiple devices.options pciback hide=(0000:09:00.0)(0000:0a:04.1)
- Use one of the following methods to add the passed-through device to the guest's configuration file:
virsh
(Section 15.1, “Adding a PCI device with virsh” - Step 5);virt-manager
(Section 15.2, “Adding a PCI device with virt-manager”); orvirt-install
(Section 15.3, “PCI passthrough with virt-install”)
Warning
Note
acpiphp
kernel module must be loaded in the guest to support dynamic addition and removal of PCI devices. This module enables the guest to receive insertion and removal notifications from qemu
. To manually load this module, run the following command in the guest:
# modprobe acpiphp
# echo 'modprobe acpiphp' > /etc/sysconfig/modules/acpiphp.modules
# chmod +x /etc/sysconfig/modules/acpiphp.modules
lsmod | grep acpiphp
command. More information on persistent module loading in Red Hat Enterprise Linux 5 can be found in the Red Hat Enterprise Linux 5 Deployment Guide.