From ec36f1c9c281c98378dd937ba60aeee60e95daaf Mon Sep 17 00:00:00 2001 Message-ID: From: Jiri Denemark Date: Fri, 29 May 2026 12:52:59 +0200 Subject: [PATCH] virsh: Add --supported-cpu-features option for domcapabilities The option corresponds to the VIR_CONNECT_GET_DOMAIN_CAPABILITIES_SUPPORTED_CPU_FEATURES API flag. Signed-off-by: Jiri Denemark Reviewed-by: Peter Krempa (cherry picked from commit 26ffa1d4f0b74c7cda5a6906510cf2d6362b5b8b) https://redhat.atlassian.net/browse/RHEL-177364 Signed-off-by: Jiri Denemark --- docs/manpages/virsh.rst | 8 +++++++- tools/virsh-host.c | 7 +++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst index 7169b6bc05..2936df6a73 100644 --- a/docs/manpages/virsh.rst +++ b/docs/manpages/virsh.rst @@ -592,7 +592,7 @@ domcapabilities domcapabilities [virttype] [emulatorbin] [arch] [machine] [--xpath EXPRESSION] [--wrap] [--disable-deprecated-features] - [--expand-cpu-features] + [--expand-cpu-features] [--supported-cpu-features] Print an XML document describing the domain capabilities for the @@ -644,6 +644,12 @@ to contain all required CPU features including those implicitly enabled by the selected CPU model. Without this flag features that are part of the CPU model itself will not be listed. +The **--supported-cpu-features** option will update the host-model CPU +definition with features that are supported on the host, but will not be +enabled by default when starting a domain with host-model CPU. Using both +**--supported-cpu-features** and **--expand-cpu-features** will provide a +complete list of features that can be enabled on the host. + pool-capabilities ----------------- diff --git a/tools/virsh-host.c b/tools/virsh-host.c index 5dbeb54ae5..4b95d2748e 100644 --- a/tools/virsh-host.c +++ b/tools/virsh-host.c @@ -122,6 +122,10 @@ static const vshCmdOptDef opts_domcapabilities[] = { .type = VSH_OT_BOOL, .help = N_("expand 'host-model' CPU to also show features enabled by the CPU model"), }, + {.name = "supported-cpu-features", + .type = VSH_OT_BOOL, + .help = N_("include all supported CPU features in 'host-model' mode, not only those enabled by default"), + }, {.name = NULL} }; @@ -144,6 +148,9 @@ cmdDomCapabilities(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptBool(cmd, "expand-cpu-features")) flags |= VIR_CONNECT_GET_DOMAIN_CAPABILITIES_EXPAND_CPU_FEATURES; + if (vshCommandOptBool(cmd, "supported-cpu-features")) + flags |= VIR_CONNECT_GET_DOMAIN_CAPABILITIES_SUPPORTED_CPU_FEATURES; + if (vshCommandOptString(ctl, cmd, "virttype", &virttype) < 0 || vshCommandOptString(ctl, cmd, "emulatorbin", &emulatorbin) < 0 || vshCommandOptString(ctl, cmd, "arch", &arch) < 0 || -- 2.54.0