v4: allow empty port="" (meaning: assign one from the specified bus) Ján Tomko (9): Allow omitting USB port Store USB port path as an array of integers 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 docs/schemas/domaincommon.rng | 8 +- src/conf/device_conf.h | 2 +- src/conf/domain_addr.c | 529 +++++++++++++++++++++ src/conf/domain_addr.h | 62 +++ src/conf/domain_conf.c | 23 +- src/libvirt_private.syms | 12 + src/qemu/qemu_command.c | 6 +- src/qemu/qemu_domain.h | 1 + src/qemu/qemu_domain_address.c | 155 +++++- src/qemu/qemu_hotplug.c | 27 ++ .../qemuhotplug-hotplug-base-live+disk-usb.xml | 1 + .../qemuxml2argvdata/qemuxml2argv-bios-nvram.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-bios.args | 2 +- .../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-port-missing.args | 26 + .../qemuxml2argv-usb-port-missing.xml | 25 + .../qemuxml2argv-usb-redir-boot.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-usb-redir.args | 2 +- tests/qemuxml2argvtest.c | 12 + .../qemuxml2xmlout-usb-port-missing.xml | 36 ++ tests/qemuxml2xmltest.c | 1 + 45 files changed, 1090 insertions(+), 46 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 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-port-missing.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-port-missing.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-usb-port-missing.xml -- 2.7.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list