]> xenbits.xensource.com Git - libvirt.git/commitdiff
domcaps: Add function for initializing domain caps as unsupported
authorPeter Krempa <pkrempa@redhat.com>
Wed, 13 Nov 2019 15:10:45 +0000 (16:10 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 14 Nov 2019 14:50:43 +0000 (15:50 +0100)
For future extensions of the domain caps it's useful to have a single
point that initializes all capabilities as unsupported by a driver. The
driver then can enable specific ones.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/bhyve/bhyve_capabilities.c
src/conf/domain_capabilities.c
src/conf/domain_capabilities.h
src/libvirt_private.syms
src/libxl/libxl_capabilities.c

index c04a475375c847fdb06c919a8ec661464b20dd98..f80cf7be62f97c6090fb0dedb9981339b0c1665f 100644 (file)
@@ -116,9 +116,7 @@ virBhyveDomainCapsFill(virDomainCapsPtr caps,
     }
 
     caps->hostdev.supported = VIR_TRISTATE_BOOL_NO;
-    caps->iothreads = VIR_TRISTATE_BOOL_NO;
-    caps->vmcoreinfo = VIR_TRISTATE_BOOL_NO;
-    caps->genid = VIR_TRISTATE_BOOL_NO;
+    virDomainCapsFeaturesInitUnsupported(caps);
     caps->gic.supported = VIR_TRISTATE_BOOL_NO;
 
     return 0;
index d13fdc0054818388b72bee2d5bd9254e48494d65..df48be4994b70aedc352621f7a6e9412eac0c3c7 100644 (file)
@@ -309,6 +309,20 @@ virDomainCapsEnumClear(virDomainCapsEnumPtr capsEnum)
 }
 
 
+/**
+ * @caps: domain caps
+ *
+ * Initializes all features in 'caps' as unsupported.
+ */
+void
+virDomainCapsFeaturesInitUnsupported(virDomainCapsPtr caps)
+{
+    caps->iothreads = VIR_TRISTATE_BOOL_NO;
+    caps->vmcoreinfo = VIR_TRISTATE_BOOL_NO;
+    caps->genid = VIR_TRISTATE_BOOL_NO;
+}
+
+
 static int
 virDomainCapsEnumFormat(virBufferPtr buf,
                         const virDomainCapsEnum *capsEnum,
index 8bfc6ccccb2e3b0e76c560ade81b342f30d75f5d..03192b6f40c2c706c5f83ce7c251813fcc603cb6 100644 (file)
@@ -225,6 +225,8 @@ int virDomainCapsEnumSet(virDomainCapsEnumPtr capsEnum,
                          unsigned int *values);
 void virDomainCapsEnumClear(virDomainCapsEnumPtr capsEnum);
 
+void virDomainCapsFeaturesInitUnsupported(virDomainCapsPtr caps);
+
 char * virDomainCapsFormat(const virDomainCaps *caps);
 
 int virDomainCapsDeviceDefValidate(const virDomainCaps *caps,
index c706553e37a8cb7be755fbdcfab5381b0430632b..95c5b60871e2e87c1885604451f182ea99725150 100644 (file)
@@ -202,6 +202,7 @@ virDomainCapsCPUUsableTypeToString;
 virDomainCapsDeviceDefValidate;
 virDomainCapsEnumClear;
 virDomainCapsEnumSet;
+virDomainCapsFeaturesInitUnsupported;
 virDomainCapsFormat;
 virDomainCapsNew;
 virSEVCapabilitiesFree;
index fe792e9a82ae46e9643415374be2f47946127fbc..55f6b490ec2dfef2ca6162645db6a85a10da28bc 100644 (file)
@@ -764,9 +764,8 @@ libxlMakeDomainCapabilities(virDomainCapsPtr domCaps,
         libxlMakeDomainDeviceHostdevCaps(hostdev) < 0)
         return -1;
 
-    domCaps->iothreads = VIR_TRISTATE_BOOL_NO;
-    domCaps->vmcoreinfo = VIR_TRISTATE_BOOL_NO;
-    domCaps->genid = VIR_TRISTATE_BOOL_NO;
+    virDomainCapsFeaturesInitUnsupported(domCaps);
+
     domCaps->gic.supported = VIR_TRISTATE_BOOL_NO;
 
     return 0;