Red Hat Bugzilla – Bug 1297020
ppc64 guests default to legacy -usb option instead of -device pci-ohci
Last modified: 2018-05-09 05:14:55 EDT
When a ppc64 guest contains <controller type='usb' index='0'/> in its configuration (no model specified), and the UHCI controller is not available in QEMU, the USB support will be enabled by using the legacy -usb command line option instead of the newer -device pci-ohci option. This would cause the guest ABI to break if QEMU were ever to change its default - which is going to happen, see Bug 1284333.
Fixed upstream with v1.3.0-215-g8156493d8db9: commit 8156493d8db95de91dd9ace743df0fd4dff98281 Author: Martin Kletzander <mkletzan@redhat.com> Date: Thu Jan 7 16:14:58 2016 +0100 Fix USB model defaults for ppc64
Packages: Steps: 1. Configure a guest XML with below usb controller setting without model specified. <controller type='usb' index='0'/> 2. Ensure the UHCI controller is not available in QEMU via run below command to check: # echo -e 'spower-off\r' | /usr/libexec/qemu-kvm -nographic -nodefaults -usb -serial stdio| grep usb 00 0000 (D) : 106b 003f serial bus [ usb-ohci ] 3. Start the guest successfully and check the qemu command line. '-device pci-ohci' is used to enable the USB support in the qemu command line instead of '-usb' # virsh start guest2 Domain guest2 started # ps -ef|grep qemu-kvm|grep pci-ohci qemu 70578 1 40 00:21 ? 00:00:21 /usr/libexec/qemu-kvm -name guest2 -S -machine pseries-rhel7.3.0,accel=kvm,usb=off -m 1024 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 0152f310-c674-4e6c-a6b3-28469f14df01 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-guest2/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on **-device pci-ohci**,id=usb,bus=pci.0,addr=0x2 - ...
Test packages: kernel-3.10.0-362.el7.ppc64le qemu-kvm-rhev-2.5.0-2.el7.ppc64le libvirt-1.3.2-1.el7.ppc64le
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2016-2577.html