[libvirt] [PATCH 0/3] s390: rework and prevent default usb controller

Stefan Zimmermann (3): Prevent default creation of usb controller on s390 and s390x Adjust s390 test cases by removing usb device instances Rework s390 architecture checking src/qemu/qemu_command.c | 4 +++- src/qemu/qemu_domain.c | 13 +++++++++---- tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args | 2 +- .../qemuxml2argv-s390-piix-controllers.args | 2 +- .../qemuxml2xmlout-s390-defaultconsole.xml | 1 - 5 files changed, 14 insertions(+), 8 deletions(-) -- 2.1.4

Since s390 does not support usb the default creation of a usb controller for a domain should not occur. Signed-off-by: Stefan Zimmermann <stzi@linux.vnet.ibm.com> Reviewed-by: Boris Fiuczynski <fiuczy@linux.vnet.ibm.com> --- src/qemu/qemu_command.c | 4 +++- src/qemu/qemu_domain.c | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 8e864ab..d9ed96a 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -9001,7 +9001,9 @@ qemuBuildCommandLine(virConnectPtr conn, } } - if (usbcontroller == 0 && !qemuDomainMachineIsQ35(def)) + if (usbcontroller == 0 && + !qemuDomainMachineIsQ35(def) && + !ARCH_IS_S390(def->os.arch)) virCommandAddArg(cmd, "-usb"); for (i = 0; i < def->nhubs; i++) { diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 99c46d4..bd9d4f2 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -979,6 +979,12 @@ qemuDomainDefPostParse(virDomainDefPtr def, case VIR_ARCH_SH4EB: addPCIRoot = true; break; + case VIR_ARCH_S390: + addDefaultUSB = false; + break; + case VIR_ARCH_S390X: + addDefaultUSB = false; + break; default: break; } -- 2.1.4

Since usb devices are no longer created by default for s390 the s390 test cases need to be adjusted. Signed-off-by: Stefan Zimmermann <stzi@linux.vnet.ibm.com> Reviewed-by: Boris Fiuczynski <fiuczy@linux.vnet.ibm.com> --- tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-s390-piix-controllers.args | 2 +- tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args b/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args index 6aee214..4ea75de 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args @@ -2,5 +2,5 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \ /usr/bin/qemu \ -name QEMUGuest1 -S -M s390-virtio -m 214 -smp 1 -nographic \ -monitor unix:/tmp/test-monitor,server,nowait -no-acpi \ --boot c -usb -hda /dev/HostVG/QEMUGuest1 -net none -serial \ +-boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial \ none -parallel none diff --git a/tests/qemuxml2argvdata/qemuxml2argv-s390-piix-controllers.args b/tests/qemuxml2argvdata/qemuxml2argv-s390-piix-controllers.args index 10aecea..e939be4 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-s390-piix-controllers.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-s390-piix-controllers.args @@ -3,7 +3,7 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \ -nodefconfig -nodefaults \ -chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait \ -mon chardev=charmonitor,id=monitor,mode=readline -no-acpi \ --device virtio-serial-s390,id=virtio-serial0 -usb -drive \ +-device virtio-serial-s390,id=virtio-serial0 -drive \ file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0 \ -device virtio-blk-s390,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \ -chardev pty,id=charconsole0 \ diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml index 9a609f8..54bb364 100644 --- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml +++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml @@ -14,7 +14,6 @@ <on_crash>destroy</on_crash> <devices> <emulator>/usr/bin/qemu-kvm</emulator> - <controller type='usb' index='0' model='none'/> <controller type='virtio-serial' index='0'/> <console type='pty'> <target type='virtio' port='0'/> -- 2.1.4

Making use of the ARCH_IS_S390 macro introduced with e808357528d8be1ebc3970424b4a7b7c04eda2b6 Signed-off-by: Stefan Zimmermann <stzi@linux.vnet.ibm.com> Reviewed-by: Boris Fiuczynski <fiuczy@linux.vnet.ibm.com> --- src/qemu/qemu_domain.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index bd9d4f2..ac5ca74 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -1052,8 +1052,7 @@ qemuDomainDefPostParse(virDomainDefPtr def, static const char * qemuDomainDefaultNetModel(const virDomainDef *def) { - if (def->os.arch == VIR_ARCH_S390 || - def->os.arch == VIR_ARCH_S390X) + if (ARCH_IS_S390(def->os.arch)) return "virtio"; if (def->os.arch == VIR_ARCH_ARMV7L || @@ -1132,7 +1131,7 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev, if (dev->type == VIR_DOMAIN_DEVICE_CHR && dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE && dev->data.chr->targetType == VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_NONE && - (def->os.arch == VIR_ARCH_S390 || def->os.arch == VIR_ARCH_S390X)) + ARCH_IS_S390(def->os.arch)) dev->data.chr->targetType = VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO; /* set the default USB model to none for s390 unless an address is found */ @@ -1140,7 +1139,7 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev, dev->data.controller->type == VIR_DOMAIN_CONTROLLER_TYPE_USB && dev->data.controller->model == -1 && dev->data.controller->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE && - (def->os.arch == VIR_ARCH_S390 || def->os.arch == VIR_ARCH_S390X)) + ARCH_IS_S390(def->os.arch)) dev->data.controller->model = VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE; /* auto generate unix socket path */ -- 2.1.4

On 02/18/2015 10:44 AM, Stefan Zimmermann wrote:
Stefan Zimmermann (3): Prevent default creation of usb controller on s390 and s390x Adjust s390 test cases by removing usb device instances Rework s390 architecture checking
src/qemu/qemu_command.c | 4 +++- src/qemu/qemu_domain.c | 13 +++++++++---- tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args | 2 +- .../qemuxml2argv-s390-piix-controllers.args | 2 +- .../qemuxml2xmlout-s390-defaultconsole.xml | 1 - 5 files changed, 14 insertions(+), 8 deletions(-)
ACK - series and pushed, although I combined patch 1 & 2 since we don't want to break git bisect and patch 2 essentially fixes the tests that patch 1 will change. John
participants (2)
-
John Ferlan
-
Stefan Zimmermann