From aa2da99ee8df07cf394759f76c7c7049d670691a Mon Sep 17 00:00:00 2001 From: Andrea Bolognani <abologna@redhat.com> Date: Wed, 28 Nov 2018 16:56:35 +0100 Subject: [PATCH] qemu: Add arch checks to qemuDomainMachine*() 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@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 14a7a10d2a..92047add43 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -9877,8 +9877,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")); } @@ -9886,8 +9889,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.") || @@ -9898,8 +9904,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"); } @@ -9964,10 +9973,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") ||