From: Jiri Denemark <[email protected]>

Some CPU features may be enabled explicitly, but should not
automatically become part of a host-model CPU. Users can now request
such features to be shown in the host-model CPU in domain capabilities
by VIR_CONNECT_GET_DOMAIN_CAPABILITIES_SUPPORTED_CPU_FEATURES flag.

Signed-off-by: Jiri Denemark <[email protected]>
---

Notes:
    Version 2:
    - new patch

 include/libvirt/libvirt-domain.h | 3 +++
 src/libvirt-domain.c             | 8 ++++++++
 2 files changed, 11 insertions(+)

diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index 8f07ef2156..0a237bf880 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -1549,6 +1549,9 @@ typedef enum {
     VIR_CONNECT_GET_DOMAIN_CAPABILITIES_DISABLE_DEPRECATED_FEATURES = (1 << 0),
     /* Report all host model CPU features. (Since: 12.2.0) */
     VIR_CONNECT_GET_DOMAIN_CAPABILITIES_EXPAND_CPU_FEATURES = (1 << 1),
+    /* Report all CPU features supported on the host, even those that will not
+     * be enabled by host-model CPU mode. (Since: 12.5.0) */
+    VIR_CONNECT_GET_DOMAIN_CAPABILITIES_SUPPORTED_CPU_FEATURES = (1 << 2),
 } virConnectGetDomainCapabilitiesFlags;
 
 char * virConnectGetDomainCapabilities(virConnectPtr conn,
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index 425a73e75a..405c9f187d 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -12357,6 +12357,14 @@ virDomainSetUserPassword(virDomainPtr dom,
  * host-model CPU mode. Without this flag features that are part of the CPU
  * model itself will not be listed.
  *
+ * Adding VIR_CONNECT_GET_DOMAIN_CAPABILITIES_SUPPORTED_CPU_FEATURES to @flags
+ * tells libvirt to update the host-model CPU definition with features that are
+ * supported on the host, but should not be enabled by default when starting a
+ * domain with host-model CPU. Use both
+ * VIR_CONNECT_GET_DOMAIN_CAPABILITIES_SUPPORTED_CPU_FEATURES and
+ * VIR_CONNECT_GET_DOMAIN_CAPABILITIES_EXPAND_CPU_FEATURES flags to get a
+ * complete list of features that can be enabled on the host.
+ *
  * Returns NULL in case of error or an XML string
  * defining the capabilities.
  *
-- 
2.54.0

Reply via email to