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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list