From: Fiona Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH-SERIES qemu-server/manager v2 0/8] VM CPU flags: introduce vendor-agnostic 'nested-virt' CPU flag
Date: Fri, 7 Nov 2025 15:43:38 +0100 [thread overview]
Message-ID: <20251107144429.126790-1-f.ebner@proxmox.com> (raw)
Changes in v2 (thanks Dano and Thomas!):
* Pass running CPU configuration when using 'nested-virt'. This
ensures that migration fails early if the flag resolves differently
on the target.
* Describe that live migration still only works if it's the same flag.
* Drop adding non-existing link in API end point.
* Keep $supported_cpu_flags private to module and add getter method.
* Unpack @_ first at the beginning of resolve_cpu_flags().
* ui: fix function call in the CPU flag selector widget.
* ui: use simpler method to get all records of the store.
* Drop already applied patches.
The flag will automatically resolve to the flag required for the
current CPU on the host. The 'nested-virt' flag takes precedence over
the CPU-specific flag for nesting which might already be present with
custom CPU models. In that case, a warning is printed.
Also makes sure that the actual resolved flag is passed along during
live migration, since the nested-virt flag can resolve differently on
different hosts.
Moves the cpu flag descriptions to qemu-server and introduces an API
endpoint for querying. Could later be extended with further
information, for example, which flags are actually supported on the
current host (some are specific to vendor or CPU).
Dependency and build-dependency bump pve-manger -> qemu-server needed!
qemu-server:
Fiona Ebner (4):
critic: code style: cpu config: unpack @_ first in resolve_cpu_flags()
api: add endpoint for querying available cpu flags
cpu config: introduce is_abstracted() helper
cpu config: introduce vendor-agnostic 'nested-virt' CPU flag
src/PVE/API2/Qemu/CPUFlags.pm | 44 +++++++++
src/PVE/API2/Qemu/Makefile | 2 +-
src/PVE/QemuMigrate.pm | 11 +--
src/PVE/QemuServer/CPUConfig.pm | 160 ++++++++++++++++++++++++++++----
4 files changed, 188 insertions(+), 29 deletions(-)
create mode 100644 src/PVE/API2/Qemu/CPUFlags.pm
pve-manager:
Fiona Ebner (4):
api: capabilities: register module for VM CPU flags
ui: cpu flag selector: code style: use 'let' for declarations
ui: cpu flag selector: use simpler method to get all records of the
store
ui: cpu flag selector: query CPU flag list via API
PVE/API2/Capabilities.pm | 6 ++
www/manager6/form/VMCPUFlagSelector.js | 129 +++++++++++--------------
2 files changed, 62 insertions(+), 73 deletions(-)
Summary over all repositories:
6 files changed, 250 insertions(+), 102 deletions(-)
--
Generated by git-murpp 0.5.0
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next reply other threads:[~2025-11-07 14:44 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-07 14:43 Fiona Ebner [this message]
2025-11-07 14:43 ` [pve-devel] [PATCH qemu-server v2 1/8] critic: code style: cpu config: unpack @_ first in resolve_cpu_flags() Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH qemu-server v2 2/8] api: add endpoint for querying available cpu flags Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH qemu-server v2 3/8] cpu config: introduce is_abstracted() helper Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH qemu-server v2 4/8] cpu config: introduce vendor-agnostic 'nested-virt' CPU flag Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH manager v2 5/8] api: capabilities: register module for VM CPU flags Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH manager v2 6/8] ui: cpu flag selector: code style: use 'let' for declarations Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH manager v2 7/8] ui: cpu flag selector: use simpler method to get all records of the store Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH manager v2 8/8] ui: cpu flag selector: query CPU flag list via API Fiona Ebner
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=20251107144429.126790-1-f.ebner@proxmox.com \
--to=f.ebner@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