On Tue, Feb 27, 2024 at 05:36:02PM +0100, Peter Krempa wrote:
This patchset removes the use of '-usb' legacy controller
specification.
For the vast majority of platforms/machines (most of the irrelevant
ones) which don't actually have a concept of implicit USB qemu ignores
the '-usb' argument.
For the relevant platforms libvirt would already pick exactly the
same controller and thus '-usb' wouldn't be used at all.
There's a small handful of ARM boards 'realview' and 'versatilepb'
where
libvirt would pick the wrong one as default if some controllers were
compiled out and thus reallistically '-usb' would have effect for those
although would be unusable as libvirt's bus name for the bus is incorret
and thus no devices would be usable.
For the two mostly obsolete board types this series can break ABI in the
aforementioned corner case.
Other than that this removes all the legacy code which makes USB
controller selection utterly confusing.
Peter Krempa (25):
tests: Replace mentions of the removed 'qemucapabilitiesnumbering' tool
qemucapabilitiesdata: Document faked caps dumps
testutilshostcpus: Add support for VIR_ARCH_ARMV7L
qemucapabilitiestest: Add test dump for 'armv7l' architecture
qemu: domain: Add checkers for 'microvm' machine type
qemu: Add basic framework for 'microvm' machine type
qemuxmlconfdata: Add tests for USB controller selection with 'versatilepb'
machine on aarch64 qemu binary
qemuxmlconfdata: Add tests for USB controller selection with 'versatilepb'
machine on arm qemu binary
qemuDomainDefAddDefaultDevices: Handle defaults for all ARM arches together
qemuDomainControllerDefPostParse: Use proper enum value for default USB controller
model
qemuDomainDefAddDefaultDevices: Populate default USB for 'versatilepb' and
'realview' ARM machines
qemuDomainControllerDefPostParse: Use 'pci-ohci' as last-resort fallback USB
controller
qemuxmlconftest: Add test for 'realview' machine
qemuxmlconftest: Add test data for an ARM machine where qemu doesn't honour -usb
qemuxml2conftest: Consolidate usb controller tests for 'pseries' machine
qemuxmlconftest: Add test case when default USB controller for 'pseries' is
compiled out
qemuxmlconftest: Add test data for USB selection with 'g3beige' machine on
ppc64
qemuxmlconftest: Add test data for USB selection with 'mac99' machine on ppc64
qemuxmlconftest: Add test data for USB selection with 'powernv' machine on
ppc64
qemuxmlconftest: Add test data for USB selection with 'mac99' machine on ppc
qemu: command: Don't downgrade to '-usb' for x86 based machines
qemu: command: Don't downgrade to '-usb' with 'pseries' machines
qemu: command: Don't downgrade to '-usb' for ppc based machines
qemu: command: Don't downgrade to '-usb' for arm based machines
qemu: command: Remove fallback '-usb' handling
Reviewed-by: Andrea Bolognani <abologna(a)redhat.com>
--
Andrea Bolognani / Red Hat / Virtualization