[pve-devel] applied-series: [PATCH qemu-server/pve-manager] use qemu-xhci for new guests

Thomas Lamprecht t.lamprecht at proxmox.com
Thu Nov 10 18:02:53 CET 2022


Am 10/11/2022 um 15:35 schrieb Dominik Csapak:
> qemu-xhci is to be preferred to nec-usb-xhci, but for compatibility
> reasons, only use it for machine types >= 7.1 and ostypes l26 and
> windows > 7 (older os' don't support it)
> (depending on that machine version should be ok as long as we don't
> roll out qemu 7.1 before applying this series)
> 
> With that controller we can specify how many ports we want (we chose 15,
> the maximum) and for those guests we now set the usb devices on fixed
> ports (usb0 gets port 1 and so on) so that we can enable hotplugging
> too. Lastly, since we set the maximum of 15 ports, we can safely
> use up to 14 of them (without qemu plugging a usb-hub in between)
> 
> For hotplugging we check the actual running qemu machine version, but
> the gui only uses a heuristic based on the config (still good enough
> since it allows more than the back end)
> 
> For guests with older machine types or other ostypes, the current
> behaviour remains
> 
> Note: patch 1,2 of qemu-server are only cleanups/refactor that could be
> applied independently (no behaviour change intended)
> patch 1 of pve-manager could be squashed into 2, but if we decide
> not to use that heuristic in the gui, can be applied separately
> 
> qemu-server:
> 
> Dominik Csapak (7):
>   print_tabletdevice_full: make use of $q35 variable
>   move 'windows_version' to Helpers
>   USB: print_usbdevice_full: error out on invalid configuration
>   USB: use machine_type_is_q35 instead of regex
>   fix #4324: USB: use qemu-xhci for machine versions >= 7.1
>   USB: increase max usb devices to 14 for newer machine version and
>     ostype
>   fix #3271: USB: allow usb hotplugging for modern guests
> 
>  PVE/API2/Qemu.pm                    |   2 +-
>  PVE/QemuServer.pm                   | 134 ++++++++++++++++------------
>  PVE/QemuServer/Cloudinit.pm         |   3 +-
>  PVE/QemuServer/Helpers.pm           |  19 ++++
>  PVE/QemuServer/USB.pm               |  94 ++++++++++++++-----
>  test/cfg2cmd/qemu-xhci-7.1.conf     |  12 +++
>  test/cfg2cmd/qemu-xhci-7.1.conf.cmd |  34 +++++++
>  7 files changed, 220 insertions(+), 78 deletions(-)
>  create mode 100644 test/cfg2cmd/qemu-xhci-7.1.conf
>  create mode 100644 test/cfg2cmd/qemu-xhci-7.1.conf.cmd
> 
> pve-manager:
> 
> Dominik Csapak (2):
>   ui: USBInputPanel: use correct maximum usb index
>   ui: qemu: increase available usb ports depending on machine and ostype
> 
>  www/manager6/Utils.js             | 53 ++++++++++++++++++++++++++++++-
>  www/manager6/qemu/HardwareView.js |  7 +++-
>  www/manager6/qemu/USBEdit.js      |  7 +++-
>  3 files changed, 64 insertions(+), 3 deletions(-)
> 


applied, with a bit of code cleanup as talked off-list, thanks!





More information about the pve-devel mailing list