Known bugs include:
- 499259 - svirt denials breaks KVM PCI device assignment
- Until this is fixed, all but the nodedev ops test case requires you to run SELinux in permissive mode
- 499352 - Re-enable CONFIG_DMAR_DEFAULT_ON
- You will need to boot the host with intel_iommu=on until this is fixed
- 499267 - Assigning a PCI device using virt-manager/virt-install fails
- Fixed in python-virtinst-0.400.3-8.fc11
- 499386 - libvirt's qemu driver interprets the <hostdev> "managed" attribute incorrectly
- Fixed in libvirt-0.6.2-6.fc11
- 499561 - libvirt does not automatically re-attach an assigned device in the host after guest shutdown
- Workaround is to run
virsh nodedev-reattachafter the guest has shut down
In order to test KVM PCI device assignment, you need:
- a host machine which has Intel VT-d or AMD IOMMU support
- the host booted with
intel_iommu=onin order to enable VT-d support
- SELinux in permissive mode
- At least libvirt-0.6.2-6.fc11 and python-virtinst-0.400.3-8.fc11 installed
Please upload your smolt profile using
smoltSendProfile and add its URL to the table below.
Also, it would be useful to post your PCI bus topology - e.g. post the output of
lspci -t -v to Fedora's pastebin.
The first thing you need to do is choose which PCI device on your KVM host that you will use for testing. Probably the most obvious to test with is a NIC. You'll need the device's nodedev name, and you can find this with
$> virsh nodedev-list --tree computer | ... +-pci_8086_10bd | | | +-net_00_13_20_f5_f9_5a ... $> virsh nodedev-dumpxml pci_8086_10bd <device> <name>pci_8086_10bd</name> <parent>computer</parent> <capability type='pci'> <domain>0</domain> <bus>0</bus> <slot>25</slot> <function>0</function> <product id='0x10bd'>82566DM-2 Gigabit Network Connection</product> <vendor id='0x8086'>Intel Corporation</vendor> </capability> </device>
Follow each of these test cases:
- libvirt nodedev operations
- assigning a device using libvirt
- assigning a device using virt-manager
- virt-install --host-device
If you have problems with any of the tests, file a bug report in bugzilla.
Once you have completed the tests, add your results to the table below.