[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