15.5. PCI passthrough for para-virtualized Xen guests on Red Hat Enterprise Linux
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.confhides the device from dom0. Either the
bnx2module 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.confto 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”); or
virt-install(Section 15.3, “PCI passthrough with virt-install”)
acpiphpkernel 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 acpiphpcommand. More information on persistent module loading in Red Hat Enterprise Linux 5 can be found in the Red Hat Enterprise Linux 5 Deployment Guide.