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