[libvirt] [PATCH 5/9] qemu: Add arch checks to qemuDomainMachine*()

Andrea Bolognani abologna at redhat.com
Wed Feb 6 13:46:51 UTC 2019


There is very little overlap in the machine types available
on different architectures, so broadly speaking checking the
machine type is usually enough; regardless, it's better to
check the architecture as well.

Signed-off-by: Andrea Bolognani <abologna at redhat.com>
---
 src/qemu/qemu_domain.c | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 41996583fc..5feb743ad1 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -9872,8 +9872,11 @@ qemuFindAgentConfig(virDomainDefPtr def)
 
 bool
 qemuDomainMachineIsQ35(const char *machine,
-                       const virArch arch ATTRIBUTE_UNUSED)
+                       const virArch arch)
 {
+    if (!ARCH_IS_X86(arch))
+        return false;
+
     return (STRPREFIX(machine, "pc-q35-") ||
             STREQ(machine, "q35"));
 }
@@ -9881,8 +9884,11 @@ qemuDomainMachineIsQ35(const char *machine,
 
 bool
 qemuDomainMachineIsI440FX(const char *machine,
-                          const virArch arch ATTRIBUTE_UNUSED)
+                          const virArch arch)
 {
+    if (!ARCH_IS_X86(arch))
+        return false;
+
     return (STREQ(machine, "pc") ||
             STRPREFIX(machine, "pc-0.") ||
             STRPREFIX(machine, "pc-1.") ||
@@ -9893,8 +9899,11 @@ qemuDomainMachineIsI440FX(const char *machine,
 
 bool
 qemuDomainMachineIsS390CCW(const char *machine,
-                           const virArch arch ATTRIBUTE_UNUSED)
+                           const virArch arch)
 {
+    if (!ARCH_IS_S390(arch))
+        return false;
+
     return STRPREFIX(machine, "s390-ccw");
 }
 
@@ -9959,10 +9968,13 @@ qemuDomainMachineHasBuiltinIDE(const char *machine,
 
 bool
 qemuDomainMachineNeedsFDC(const char *machine,
-                          const virArch arch ATTRIBUTE_UNUSED)
+                          const virArch arch)
 {
     const char *p = STRSKIP(machine, "pc-q35-");
 
+    if (!ARCH_IS_X86(arch))
+        return false;
+
     if (p) {
         if (STRPREFIX(p, "1.") ||
             STREQ(p, "2.0") ||
-- 
2.20.1




More information about the libvir-list mailing list