From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 9610B1FF16B for ; Fri, 7 Nov 2025 15:44:25 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 04D1D15559; Fri, 7 Nov 2025 15:45:08 +0100 (CET) From: Fiona Ebner To: pve-devel@lists.proxmox.com Date: Fri, 7 Nov 2025 15:43:38 +0100 Message-ID: <20251107144429.126790-1-f.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1762526652660 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.020 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH-SERIES qemu-server/manager v2 0/8] VM CPU flags: introduce vendor-agnostic 'nested-virt' CPU flag X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" 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