Re: [PATCHv2 1/1] Set pci-ohci as the USB default controller for PPC64.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 09, 2014 at 04:18:08PM +0800, Li Zhang wrote:
> From: Li Zhang <zhlcindy@xxxxxxxxxxxxxxxxxx>
> 
> PPC64 prefers to set pci-ohci controller as default USB controller.
> Currently, libvirt is using legacy USB controller as default. There
> are problems with VGA which can't work correctly with USB Keyboard and
> USB Mouse.
> 
> While providing -nodefaults, ppc64 should be specifying the usb
> controller explicitly in place of using the legacy
> controller(-usb). Qemu spapr initialization code when sees "-usb" adds a
> USB Keyboard and USB Mouse by default. And libvirt has added a USB
> keyboard and USB mouse.
> 
> A recent fix in the in qemu VGA code uncoverd this problem, which
> resulted in addition of extra keyboard and mouse to the qemu machine.
> 
> This patch is to set pci-ohci as USB default controller.
> 
> Signed-off-by: Li Zhang <zhlcindy@xxxxxxxxxxxxxxxxxx>
> ---
>  v2 -> v1:
>   * Rephrase the commit message. (Nikunj A Dadhania)
> 
>  src/qemu/qemu_command.c                                      | 5 +++--
>  tests/qemuxml2argvdata/qemuxml2argv-pseries-usb-default.args | 2 +-
>  2 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index 379c094..46e851a 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -8466,8 +8466,9 @@ qemuBuildCommandLine(virConnectPtr conn,
>                  } else if (cont->type == VIR_DOMAIN_CONTROLLER_TYPE_USB &&
>                             cont->model == -1 &&
>                             !qemuDomainMachineIsQ35(def) &&
> -                           (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PIIX3_USB_UHCI) ||
> -                            def->os.arch == VIR_ARCH_PPC64)) {
> +                           (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PIIX3_USB_UHCI) || 
> +                            (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PCI_OHCI) &&
> +                             def->os.arch == VIR_ARCH_PPC64))) {
>                      if (usblegacy) {
>                          virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
>                                         _("Multiple legacy USB controllers are "
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-usb-default.args b/tests/qemuxml2argvdata/qemuxml2argv-pseries-usb-default.args
> index 3a21b76..eac7c56 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-pseries-usb-default.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-usb-default.args
> @@ -3,5 +3,5 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
>  -nographic -nodefconfig -nodefaults \
>  -chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait \
>  -mon chardev=charmonitor,id=monitor,mode=readline -no-acpi -boot c \
> --usb -chardev pty,id=charserial0 \
> +-device pci-ohci,id=usb,bus=pci,addr=0x1 -chardev pty,id=charserial0 \
>  -device spapr-vty,chardev=charserial0,reg=0x30000000

ACK and pushed. For older QEMU versions this change has no functional
effect, but for 2.0.0 it is needed to avoid duplicate mouse/kbd as you
describe.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]