public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH qemu-server/pve-manager] use qemu-xhci for new guests
Date: Thu, 10 Nov 2022 15:35:51 +0100	[thread overview]
Message-ID: <20221110143600.258897-1-d.csapak@proxmox.com> (raw)

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(-)

-- 
2.30.2





             reply	other threads:[~2022-11-10 14:36 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-10 14:35 Dominik Csapak [this message]
2022-11-10 14:35 ` [pve-devel] [PATCH qemu-server 1/7] print_tabletdevice_full: make use of $q35 variable Dominik Csapak
2022-11-10 14:35 ` [pve-devel] [PATCH qemu-server 2/7] move 'windows_version' to Helpers Dominik Csapak
2022-11-10 14:35 ` [pve-devel] [PATCH qemu-server 3/7] USB: print_usbdevice_full: error out on invalid configuration Dominik Csapak
2022-11-10 14:35 ` [pve-devel] [PATCH qemu-server 4/7] USB: use machine_type_is_q35 instead of regex Dominik Csapak
2022-11-10 14:35 ` [pve-devel] [PATCH qemu-server 5/7] fix #4324: USB: use qemu-xhci for machine versions >= 7.1 Dominik Csapak
2022-11-10 14:35 ` [pve-devel] [PATCH qemu-server 6/7] USB: increase max usb devices to 14 for newer machine version and ostype Dominik Csapak
2022-11-10 14:35 ` [pve-devel] [PATCH qemu-server 7/7] fix #3271: USB: allow usb hotplugging for modern guests Dominik Csapak
2022-11-10 14:35 ` [pve-devel] [PATCH manager 1/2] ui: USBInputPanel: use correct maximum usb index Dominik Csapak
2022-11-10 14:36 ` [pve-devel] [PATCH manager 2/2] ui: qemu: increase available usb ports depending on machine and ostype Dominik Csapak
2022-11-10 14:39 ` [pve-devel] [PATCH qemu-server/pve-manager] use qemu-xhci for new guests Dominik Csapak
2022-11-10 17:02 ` [pve-devel] applied-series: " Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221110143600.258897-1-d.csapak@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal