Bug 894287 - Pci-assign fails on q35 machine type
Pci-assign fails on q35 machine type
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
x86_64 Linux
high Severity high
: rc
: ---
Assigned To: Alex Williamson
Virtualization Bugs
Depends On:
  Show dependency treegraph
Reported: 2013-01-11 05:18 EST by xhan
Modified: 2014-06-18 04:08 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-11-27 10:53:27 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description xhan 2013-01-11 05:18:01 EST
Description of problem:

Pci-assign failed on RHEL7.0 and qemu-kvm 1.3.0.

Version-Release number of selected component (if applicable):

How reproducible:


Steps to Reproduce:
1. Install RHEL7.0 and update to 
   kernel( kernel-3.7.0-0.30.el73.7) 
   seabios (seabios-1.7.2-0.2.gita810e4e7.el7) 
   qemu (qemu-kvm-1.3.0-3.el7)

2. start qemu-kvm guest with pci-assign for NIC.

/usr/libexec/qemu-kvm -nodefaults -device ich9-usb-uhci1,id=usb1,bus=pcie.0,addr=0x4 -drive file=/root/workspace/imgs/rhel7.img.qcow2,if=none,id=drive-virtio-disk1,media=disk,cache=unsafe,snapshot=off,format=qcow2,aio=native -device virtio-blk-pci,bus=pcie.0,addr=0x5,drive=drive-virtio-disk1,id=virtio-disk1 -device pci-assign,host=00:19.0,id=xmhannic0 -m 2G -smp 2,sockets=2,cores=1,threads=1 -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 -vnc :0 -vga cirrus -rtc base=utc,clock=host,driftfix=slew -boot order=cdn,once=c,menu=off -no-shutdown -enable-kvm -monitor stdio -qmp tcp:0:4444,server,nowait -M q35 -acpitable file=/root/workspace/seabios/seabios/out/q35-acpi-dsdt.aml -mem-path 

3. qemu-kvm prompts error:
   qemu-kvm: PCI: Bug - unimplemented PCI INTx routing (q35-pcihost)
Actual results:
PCI can not be initialized correctly.

Expected results:

PCI device can be assigned.

Additional info:
Comment 1 xhan 2013-01-11 05:30:31 EST
Before executing the step2(start guest with NIC pass-through) need unbind the host network card :

echo "8086 1502" > /sys/bus/pci/drivers/pci-stub/new_id
echo 0000:00:19.0 > /sys/bus/pci/devices/0000:00:19.0/driver/unbind
echo 0000:00:19.0 > /sys/bus/pci/drivers/pci-stub/bind
Comment 2 Alex Williamson 2013-01-15 11:25:02 EST
As noted in the error log, the q35 machine type does not yet implement the INTx routing callback necessary for pci-assign.
Comment 3 juzhang 2013-01-28 02:35:18 EST
According to comment2, add block flag. Currently, can not do pci assign feature.
Comment 5 Alex Williamson 2013-11-27 10:53:27 EST
pci-assign is not supported on rhel7.  I suspect this issue has already been fixed, but there's no way to test it on current builds.  vfio-pci does not have this problem.

Note You need to log in before you can comment on or make changes to this bug.