[libvirt PATCH 07/17] qemu: Introduce virQEMUCapsAccelStr

Daniel P. Berrangé berrange at redhat.com
Wed Jan 5 09:23:09 UTC 2022


On Tue, Jan 04, 2022 at 07:52:46PM +0100, Andrea Bolognani wrote:
> From: Roman Bolshakov <r.bolshakov at yadro.com>
> 
> This makes possible to add more accelerators by touching less code and
> reduces code duplication.
> 
> Signed-off-by: Roman Bolshakov <r.bolshakov at yadro.com>
> Signed-off-by: Andrea Bolognani <abologna at redhat.com>
> ---
>  src/qemu/qemu_capabilities.c | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index b504963ddf..eac1e65a39 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -800,6 +800,16 @@ virQEMUCapsHaveAccel(virQEMUCaps *qemuCaps)
>      return virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM);
>  }
>  
> +static const char *
> +virQEMUCapsAccelStr(virDomainVirtType type)
> +{
> +    if (type == VIR_DOMAIN_VIRT_KVM) {
> +        return "kvm";
> +    } else {
> +        return "tcg";
> +    }
> +}

..... VIR_ENUM_IMPL/DECL is a better long term plan. For enum
values that don't make sense for QEMU just return a placeholder
or something.

> +
>  /* Checks whether a domain with @guest arch can run natively on @host.
>   */
>  bool
> @@ -4075,7 +4085,7 @@ virQEMUCapsLoadAccel(virQEMUCaps *qemuCaps,
>                       virDomainVirtType type)
>  {
>      virQEMUCapsAccel *caps = virQEMUCapsGetAccel(qemuCaps, type);
> -    const char *typeStr = type == VIR_DOMAIN_VIRT_KVM ? "kvm" : "tcg";
> +    const char *typeStr = virQEMUCapsAccelStr(type);
>  
>      if (virQEMUCapsLoadHostCPUModelInfo(caps, ctxt, typeStr) < 0)
>          return -1;
> @@ -4624,7 +4634,7 @@ virQEMUCapsFormatAccel(virQEMUCaps *qemuCaps,
>                         virDomainVirtType type)
>  {
>      virQEMUCapsAccel *caps = virQEMUCapsGetAccel(qemuCaps, type);
> -    const char *typeStr = type == VIR_DOMAIN_VIRT_KVM ? "kvm" : "tcg";
> +    const char *typeStr = virQEMUCapsAccelStr(type);
>  
>      virQEMUCapsFormatHostCPUModelInfo(caps, buf, typeStr);
>      virQEMUCapsFormatCPUModels(caps, buf, typeStr);
> -- 
> 2.31.1
> 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list