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(a)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