From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 9A6AF1FF0AE for ; Tue, 13 Oct 2026 11:52:55 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 70F82207E4; Tue, 13 Oct 2026 11:52:54 +0200 (CEST) From: Arthur Bied-Charreton To: pve-devel@lists.proxmox.com Subject: [PATCH pve-qemu v2] parse-cpu-flags: stop filtering out 'pmu' Date: Tue, 13 Oct 2026 11:49:15 +0200 Message-ID: <20261013095241.410553-1-a.bied-charreton@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1791885169660 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.987 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: MVDUYQ5UKNP4AVX2MWVAJKBSC4CZ5A7T X-Message-ID-Hash: MVDUYQ5UKNP4AVX2MWVAJKBSC4CZ5A7T X-MailFrom: a.bied-charreton@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: 'pmu' was excluded from the list of flags in the custom CPU flag dialog because it is not a CPUID flag (not part of '-cpu help' output). However, it is closely related to CPUID: it enables the virtual PMU, and QEMU derives other CPUID bits from it. For example, PDCM is cleared when it is disabled. It therefore makes sense to handle it like the other flags, including the check for which nodes support it, rather than exposing it as a separate property in the CPU config. Since it is a plain boolean, it also fits the existing [+-] syntax. Windows guests using VBS need a virtual PMU. QEMU disables it by default and only enables it for the 'host' and 'max' models, so it is off on all named models. Enabling it currently requires users to edit the config by hand since the flag cannot be selected in the UI. Remove 'pmu' from the blacklist so it shows up in the generated flag list and regenerate debian/recognized-CPUID-flags-x86_64. Reported-by: David Riley Signed-off-by: Arthur Bied-Charreton --- Changes since v1 (thanks Fiona!): * Rework commit message to explain why 'pmu' is conceptually related to CPU flags and not just that the syntax fits, and clarify that 'pmu' is disabled by default on *all* named models * Regenerate debian/recognized-CPUID-flags-x86_64 debian/parse-cpu-flags.pl | 1 - debian/recognized-CPUID-flags-x86_64 | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/parse-cpu-flags.pl b/debian/parse-cpu-flags.pl index e680f99..e1af0e8 100755 --- a/debian/parse-cpu-flags.pl +++ b/debian/parse-cpu-flags.pl @@ -66,7 +66,6 @@ my $filtered_props = { 'legacy-multi-node' => 1, lmce => 1, migratable => 1, - pmu => 1, realized => 1, 'start-powered-off' => 1, 'tcg-cpuid' => 1, diff --git a/debian/recognized-CPUID-flags-x86_64 b/debian/recognized-CPUID-flags-x86_64 index 5861e59..8b3b5ab 100644 --- a/debian/recognized-CPUID-flags-x86_64 +++ b/debian/recognized-CPUID-flags-x86_64 @@ -223,6 +223,7 @@ pks pku pmm pmm-en +pmu pn pni popcnt -- 2.47.3