diff --git a/src/bhyve/bhyve_capabilities.c b/src/bhyve/bhyve_capabilities.c index c04a475375..f80cf7be62 100644 --- a/src/bhyve/bhyve_capabilities.c +++ b/src/bhyve/bhyve_capabilities.c @@ -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; diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index d13fdc0054..df48be4994 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -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, diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h index 8bfc6ccccb..03192b6f40 100644 --- a/src/conf/domain_capabilities.h +++ b/src/conf/domain_capabilities.h @@ -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, diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index c706553e37..95c5b60871 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -202,6 +202,7 @@ virDomainCapsCPUUsableTypeToString; virDomainCapsDeviceDefValidate; virDomainCapsEnumClear; virDomainCapsEnumSet; +virDomainCapsFeaturesInitUnsupported; virDomainCapsFormat; virDomainCapsNew; virSEVCapabilitiesFree; diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index fe792e9a82..55f6b490ec 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -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;