[pve-devel] [PATCH-SERIES qemu-server/manager v2 0/8] VM CPU flags: introduce vendor-agnostic 'nested-virt' CPU flag

Fiona Ebner f.ebner at proxmox.com
Fri Nov 7 15:43:38 CET 2025


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




More information about the pve-devel mailing list