public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Arthur Bied-Charreton <a.bied-charreton@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH manager/qemu-server 0/8] Add API and UI for custom CPU models
Date: Thu, 12 Mar 2026 09:40:13 +0100	[thread overview]
Message-ID: <20260312084021.124465-1-a.bied-charreton@proxmox.com> (raw)

This is picked up from an old series [0] by Stefan Reiter.

As of before this series, the only way to create custom CPU models is by
editing `/etc/pve/virtual-guest/cpu-models.conf` manually.

This can be cumbersome for a few reasons, e.g., due to the fact that flags
misconfigurations are only caught when starting the VM.

`cpu-flags` endpoint:
The `cpu-flags` endpoint previously returned a list of hardcoded flags,
which is both non-exhaustive (some flags I should be able to set are missing),
and partly incorrect (some flags my host(s) do not support set are returned).
This is limiting and can lead to misconfigurations. The updated endpoint
intersects all flags QEMU accepts as `-cpu` arguments with all flags the host
hardware/emulation actually supports. This way, if I am able to set a flag in
the UI, I can be confident that the VM will actually be able to start.

Custom CPU model CRUD functionality:
Expose CRUD endpoints and UI flow to interact with `cpu-models.conf`. For each
flag, show a list of the cluster nodes supporting it, and only expose flags that
at least one node supports to avoid misconfigurations. Filter flags by
acceleration type (KVM/TCG).

[0] https://lore.proxmox.com/pve-devel/20211028114150.3245864-1-s.reiter@proxmox.com/


pve-manager:

Arthur Bied-Charreton (5):
  ui: VMCPUFlagSelector: Fix unknownFlags behaviour
  ui: CPUModelSelector: Fix dirty state on default
  ui: CPUModelSelector: Allow filtering out custom models
  ui: Add basic custom CPU model editor
  ui: Add CPU flag editor for custom models

 www/manager6/Makefile                  |   3 +
 www/manager6/dc/CPUTypeEdit.js         |  99 ++++++++++++++++
 www/manager6/dc/CPUTypeView.js         | 139 ++++++++++++++++++++++
 www/manager6/dc/Config.js              |   6 +
 www/manager6/form/CPUModelSelector.js  |  18 ++-
 www/manager6/form/PhysBitsSelector.js  | 153 +++++++++++++++++++++++++
 www/manager6/form/VMCPUFlagSelector.js | 135 ++++++++++++++++++----
 7 files changed, 529 insertions(+), 24 deletions(-)
 create mode 100644 www/manager6/dc/CPUTypeEdit.js
 create mode 100644 www/manager6/dc/CPUTypeView.js
 create mode 100644 www/manager6/form/PhysBitsSelector.js


qemu-server:

Arthur Bied-Charreton (3):
  qemu: Add helpers for new custom models endpoints
  api: qemu: Extend cpu-flags endpoint to return actually supported
    flags
  api: qemu: Add CRUD handlers for custom CPU models

 src/PVE/API2/Qemu/CPU.pm        | 236 +++++++++++++++++++++++++++++++-
 src/PVE/API2/Qemu/CPUFlags.pm   | 108 ++++++++++++++-
 src/PVE/QemuServer/CPUConfig.pm |  35 ++++-
 3 files changed, 374 insertions(+), 5 deletions(-)


Summary over all repositories:
  10 files changed, 903 insertions(+), 29 deletions(-)

-- 
Generated by murpp 0.9.0



             reply	other threads:[~2026-03-12  8:41 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-12  8:40 Arthur Bied-Charreton [this message]
2026-03-12  8:40 ` [PATCH pve-manager 1/8] ui: VMCPUFlagSelector: Fix unknownFlags behaviour Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH pve-manager 2/8] ui: CPUModelSelector: Fix dirty state on default Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH pve-manager 3/8] ui: CPUModelSelector: Allow filtering out custom models Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH pve-manager 4/8] ui: Add basic custom CPU model editor Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH pve-manager 5/8] ui: Add CPU flag editor for custom models Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH qemu-server 6/8] qemu: Add helpers for new custom models endpoints Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH qemu-server 7/8] api: qemu: Extend cpu-flags endpoint to return actually supported flags Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH qemu-server 8/8] api: qemu: Add CRUD handlers for custom CPU models Arthur Bied-Charreton

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=20260312084021.124465-1-a.bied-charreton@proxmox.com \
    --to=a.bied-charreton@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