Re: [libvirt] [PATCH] qemu: Make sure preferredMachines is not missing any entry

2018-08-24 Thread Erik Skultety
On Thu, Aug 23, 2018 at 06:57:24PM +0200, Andrea Bolognani wrote:
> With the current implementation, adding a new architecture
> and not updating preferredMachines accordingly will not
> cause a build failure, making it very likely that subtle
> bugs will be introduced in the process. Rework the code
> so that such issues will be caught by the compiler.
>
> Signed-off-by: Andrea Bolognani 
> ---
Reviewed-by: Erik Skultety 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH] qemu: Make sure preferredMachines is not missing any entry

2018-08-23 Thread Andrea Bolognani
With the current implementation, adding a new architecture
and not updating preferredMachines accordingly will not
cause a build failure, making it very likely that subtle
bugs will be introduced in the process. Rework the code
so that such issues will be caught by the compiler.

Signed-off-by: Andrea Bolognani 
---
 src/qemu/qemu_capabilities.c | 84 ++--
 1 file changed, 43 insertions(+), 41 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 8a44d32c59..230beeab8c 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -2266,49 +2266,51 @@ virQEMUCapsProbeQMPDevices(virQEMUCapsPtr qemuCaps,
  * that we're not vulnerable to changes in QEMU defaults or machine
  * list ordering.
  */
-static const char *preferredMachines[VIR_ARCH_LAST] =
+static const char *preferredMachines[] =
 {
-[VIR_ARCH_ALPHA] = "clipper",
-[VIR_ARCH_ARMV6L] = NULL, /* No QEMU impl */
-[VIR_ARCH_ARMV7L] = "integratorcp",
-[VIR_ARCH_ARMV7B] = "integratorcp",
-
-[VIR_ARCH_AARCH64] = "integratorcp",
-[VIR_ARCH_CRIS] = "axis-dev88",
-[VIR_ARCH_I686] = "pc",
-[VIR_ARCH_ITANIUM] = NULL, /* doesn't exist in QEMU any more */
-[VIR_ARCH_LM32] = "lm32-evr",
-
-[VIR_ARCH_M68K] = "mcf5208evb",
-[VIR_ARCH_MICROBLAZE] = "petalogix-s3adsp1800",
-[VIR_ARCH_MICROBLAZEEL] = "petalogix-s3adsp1800",
-[VIR_ARCH_MIPS] = "malta",
-[VIR_ARCH_MIPSEL] = "malta",
-
-[VIR_ARCH_MIPS64] = "malta",
-[VIR_ARCH_MIPS64EL] = "malta",
-[VIR_ARCH_OR32] = "or1k-sim",
-[VIR_ARCH_PARISC] = NULL, /* No QEMU impl */
-[VIR_ARCH_PARISC64] = NULL, /* No QEMU impl */
-
-[VIR_ARCH_PPC] = "g3beige",
-[VIR_ARCH_PPCLE] = "g3beige",
-[VIR_ARCH_PPC64] = "pseries",
-[VIR_ARCH_PPC64LE] = "pseries",
-[VIR_ARCH_PPCEMB] = "bamboo",
-
-[VIR_ARCH_S390] = NULL, /* No QEMU impl*/
-[VIR_ARCH_S390X] = "s390-ccw-virtio",
-[VIR_ARCH_SH4] = "shix",
-[VIR_ARCH_SH4EB] = "shix",
-[VIR_ARCH_SPARC] = "SS-5",
-
-[VIR_ARCH_SPARC64] = "sun4u",
-[VIR_ARCH_UNICORE32] = "puv3",
-[VIR_ARCH_X86_64] = "pc",
-[VIR_ARCH_XTENSA] = "sim",
-[VIR_ARCH_XTENSAEB] = "sim",
+NULL, /* VIR_ARCH_NONE (not a real arch :) */
+"clipper", /* VIR_ARCH_ALPHA */
+NULL, /* VIR_ARCH_ARMV6L (no QEMU impl) */
+"integratorcp", /* VIR_ARCH_ARMV7L */
+"integratorcp", /* VIR_ARCH_ARMV7B */
+
+"integratorcp", /* VIR_ARCH_AARCH64 */
+"axis-dev88", /* VIR_ARCH_CRIS */
+"pc", /* VIR_ARCH_I686 */
+NULL, /* VIR_ARCH_ITANIUM (doesn't exist in QEMU any more) */
+"lm32-evr", /* VIR_ARCH_LM32 */
+
+"mcf5208evb", /* VIR_ARCH_M68K */
+"petalogix-s3adsp1800", /* VIR_ARCH_MICROBLAZE */
+"petalogix-s3adsp1800", /* VIR_ARCH_MICROBLAZEEL */
+"malta", /* VIR_ARCH_MIPS */
+"malta", /* VIR_ARCH_MIPSEL */
+
+"malta", /* VIR_ARCH_MIPS64 */
+"malta", /* VIR_ARCH_MIPS64EL */
+"or1k-sim", /* VIR_ARCH_OR32 */
+NULL, /* VIR_ARCH_PARISC (no QEMU impl) */
+NULL, /* VIR_ARCH_PARISC64 (no QEMU impl) */
+
+"g3beige", /* VIR_ARCH_PPC */
+"g3beige", /* VIR_ARCH_PPCLE */
+"pseries", /* VIR_ARCH_PPC64 */
+"pseries", /* VIR_ARCH_PPC64LE */
+"bamboo", /* VIR_ARCH_PPCEMB */
+
+NULL, /* VIR_ARCH_S390 (no QEMU impl) */
+"s390-ccw-virtio", /* VIR_ARCH_S390X */
+"shix", /* VIR_ARCH_SH4 */
+"shix", /* VIR_ARCH_SH4EB */
+"SS-5", /* VIR_ARCH_SPARC */
+
+"sun4u", /* VIR_ARCH_SPARC64 */
+"puv3", /* VIR_ARCH_UNICORE32 */
+"pc", /* VIR_ARCH_X86_64 */
+"sim", /* VIR_ARCH_XTENSA */
+"sim", /* VIR_ARCH_XTENSAEB */
 };
+verify(ARRAY_CARDINALITY(preferredMachines) == VIR_ARCH_LAST);
 
 
 static int
-- 
2.17.1

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list