
On 19/08/2025 18.22, Andrea Bolognani via Devel wrote:
When support for s390x was introduced in libvirt, it naturally followed the conventions established at the time for x86, which were to have a USB controller added by default.
Later, in 2013, commit 3a82f628a964 made the default USB controller model for s390x VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE, effectively overriding the architecture-independent default.
However, an exception was carved out at the time: if the USB controller had an address assigned to it, then it would be left alone.
A couple of years later, commit 09ab9dcc85ec changed things again in two ways: for starters, libvirt would no longer automatically attempt to add a USB controller to newly-defined s390x guests; moreover, the command line generator was changed so that the legacy USB controller (-usb) would never be used on s390x.
In other words, unless a model name is explicitly provided for the USB controller, which is something that only actually works when using a recent QEMU version (see commit f9ed4d385ab8), s390x guests will never have USB controllers attached to them.
Remove the exception carved out a decade ago and always reflect this fact accurately in the guest XML.
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/qemu/qemu_postparse.c | 15 ++++++++++----- .../qemuhotplug-base-ccw-live+ccw-virtio.xml | 5 +---- ...ive-with-2-ccw-virtio+ccw-virtio-1-reverse.xml | 5 +---- ...emuhotplug-base-ccw-live-with-2-ccw-virtio.xml | 5 +---- ...live-with-ccw-virtio+ccw-virtio-2-explicit.xml | 5 +---- ...base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml | 5 +---- .../qemuhotplug-base-ccw-live-with-ccw-virtio.xml | 5 +---- .../qemuhotplug-base-ccw-live.xml | 5 +---- .../s390-usb-address.s390x-latest.xml | 6 +----- 9 files changed, 18 insertions(+), 38 deletions(-)
Reviewed-by: Thomas Huth <thuth@redhat.com>