v3:
* drop change of commandline order of ccid controllers
and USB hubs (that could possibly break compatibility)
* assign addresses to redirdevs too
* take custom port= setting of xhci controllers
into account
* hubs without addresses get one assigned only
after we took a look on all the other devices
Ján Tomko (10):
Add USB addresses to qemuhotplug test cases
Store USB port path as an array of integers
Introduce virDomainUSBDeviceDefForeach
Introduce virDomainUSBAddressSet
Add functions for adding USB controllers to addrs
Add functions for adding USB hubs to addrs
Reserve existing USB addresses
Assign addresses to USB devices
Assign addresses on USB device hotplug
Auto-add one hub if there are too many USB devices
src/conf/device_conf.h | 2 +-
src/conf/domain_addr.c | 491 +++++++++++++++++++++
src/conf/domain_addr.h | 58 +++
src/conf/domain_conf.c | 110 ++++-
src/conf/domain_conf.h | 7 +
src/libvirt_private.syms | 12 +
src/qemu/qemu_command.c | 3 +-
src/qemu/qemu_domain.h | 1 +
src/qemu/qemu_domain_address.c | 155 ++++++-
src/qemu/qemu_hotplug.c | 27 ++
...otplug-console-compat-2-live+console-virtio.xml | 1 +
.../qemuhotplug-hotplug-base-live+disk-usb.xml | 1 +
.../qemuxml2argvdata/qemuxml2argv-bios-nvram.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-bios.args | 2 +-
.../qemuxml2argv-console-compat-2-live.xml | 1 +
.../qemuxml2argv-console-compat-2.xml | 4 +-
.../qemuxml2argv-controller-order.args | 8 +-
.../qemuxml2argv-disk-usb-device-removable.args | 3 +-
.../qemuxml2argv-disk-usb-device.args | 2 +-
.../qemuxml2argv-graphics-spice-timeout.args | 2 +-
.../qemuxml2argv-graphics-spice-usb-redir.args | 2 +-
...muxml2argv-hostdev-usb-address-device-boot.args | 2 +-
.../qemuxml2argv-hostdev-usb-address-device.args | 2 +-
.../qemuxml2argv-hostdev-usb-address.args | 2 +-
.../qemuxml2argv-hugepages-numa.args | 6 +-
.../qemuxml2argv-input-usbmouse.args | 2 +-
.../qemuxml2argv-input-usbtablet.args | 2 +-
.../qemuxml2argv-pseries-usb-kbd.args | 2 +-
.../qemuxml2argv-serial-spiceport.args | 2 +-
.../qemuxml2argv-smartcard-controller.args | 2 +-
.../qemuxml2argv-smartcard-host-certificates.args | 2 +-
.../qemuxml2argv-smartcard-host.args | 2 +-
...emuxml2argv-smartcard-passthrough-spicevmc.args | 2 +-
.../qemuxml2argv-smartcard-passthrough-tcp.args | 2 +-
.../qemuxml2argv-sound-device.args | 2 +-
.../qemuxml2argv-usb-hub-autoadd.args | 28 ++
.../qemuxml2argv-usb-hub-autoadd.xml | 23 +
.../qemuxml2argv-usb-hub-conflict.args | 25 ++
.../qemuxml2argv-usb-hub-conflict.xml | 22 +
.../qemuxml2argv-usb-port-autoassign.args | 28 ++
.../qemuxml2argv-usb-port-autoassign.xml | 27 ++
.../qemuxml2argv-usb-redir-boot.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-redir.args | 2 +-
tests/qemuxml2argvtest.c | 9 +
44 files changed, 1048 insertions(+), 44 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-hub-autoadd.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-hub-autoadd.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-hub-conflict.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-hub-conflict.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-port-autoassign.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-port-autoassign.xml
--
2.7.3