On Tue, Jan 04, 2022 at 07:52:46PM +0100, Andrea Bolognani wrote:
From: Roman Bolshakov <r.bolshakov(a)yadro.com>
This makes possible to add more accelerators by touching less code and
reduces code duplication.
Signed-off-by: Roman Bolshakov <r.bolshakov(a)yadro.com>
Signed-off-by: Andrea Bolognani <abologna(a)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 :|