[RFC PATCH 16/43] virQEMUCapsInitQMPBasicArch: Use switch for arch-based decisions

Peter Krempa posted 43 patches 4 years, 10 months ago
There is a newer version of this series
[RFC PATCH 16/43] virQEMUCapsInitQMPBasicArch: Use switch for arch-based decisions
Posted by Peter Krempa 4 years, 10 months ago
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
 src/qemu/qemu_capabilities.c | 56 ++++++++++++++++++++++++++++++++----
 1 file changed, 50 insertions(+), 6 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index f5d72e3ef0..6ac9f8bcf7 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -5046,15 +5046,59 @@ virQEMUCapsInitQMPArch(virQEMUCapsPtr qemuCaps,
 void
 virQEMUCapsInitQMPBasicArch(virQEMUCapsPtr qemuCaps)
 {
-    /* ACPI only works on x86 and aarch64 */
-    if (ARCH_IS_X86(qemuCaps->arch) ||
-        qemuCaps->arch == VIR_ARCH_AARCH64) {
+    switch (qemuCaps->arch) {
+    case VIR_ARCH_I686:
+    case VIR_ARCH_X86_64:
+        /* ACPI only works on x86 and aarch64 */
         virQEMUCapsSet(qemuCaps, QEMU_CAPS_NO_ACPI);
-    }

-    /* HPET is x86 specific */
-    if (ARCH_IS_X86(qemuCaps->arch))
+        /* HPET is x86 specific */
         virQEMUCapsSet(qemuCaps, QEMU_CAPS_NO_HPET);
+        break;
+
+    case VIR_ARCH_AARCH64:
+        /* ACPI only works on x86 and aarch64 */
+        virQEMUCapsSet(qemuCaps, QEMU_CAPS_NO_ACPI);
+        break;
+
+    case VIR_ARCH_PPC64:
+    case VIR_ARCH_PPC64LE:
+    case VIR_ARCH_ALPHA:
+    case VIR_ARCH_PPC:
+    case VIR_ARCH_PPCEMB:
+    case VIR_ARCH_SH4:
+    case VIR_ARCH_SH4EB:
+    case VIR_ARCH_RISCV32:
+    case VIR_ARCH_RISCV64:
+    case VIR_ARCH_S390:
+    case VIR_ARCH_S390X:
+    case VIR_ARCH_SPARC:
+    case VIR_ARCH_SPARC64:
+    case VIR_ARCH_ARMV6L:
+    case VIR_ARCH_ARMV7L:
+    case VIR_ARCH_ARMV7B:
+    case VIR_ARCH_CRIS:
+    case VIR_ARCH_ITANIUM:
+    case VIR_ARCH_LM32:
+    case VIR_ARCH_M68K:
+    case VIR_ARCH_MICROBLAZE:
+    case VIR_ARCH_MICROBLAZEEL:
+    case VIR_ARCH_MIPS:
+    case VIR_ARCH_MIPSEL:
+    case VIR_ARCH_MIPS64:
+    case VIR_ARCH_MIPS64EL:
+    case VIR_ARCH_OR32:
+    case VIR_ARCH_PARISC:
+    case VIR_ARCH_PARISC64:
+    case VIR_ARCH_PPCLE:
+    case VIR_ARCH_UNICORE32:
+    case VIR_ARCH_XTENSA:
+    case VIR_ARCH_XTENSAEB:
+    case VIR_ARCH_NONE:
+    case VIR_ARCH_LAST:
+    default:
+        break;
+    }
 }


-- 
2.30.2

Re: [RFC PATCH 16/43] virQEMUCapsInitQMPBasicArch: Use switch for arch-based decisions
Posted by Ján Tomko 4 years, 10 months ago
On a Friday in 2021, Peter Krempa wrote:
>Signed-off-by: Peter Krempa <pkrempa@redhat.com>
>---
> src/qemu/qemu_capabilities.c | 56 ++++++++++++++++++++++++++++++++----
> 1 file changed, 50 insertions(+), 6 deletions(-)
>
>diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
>index f5d72e3ef0..6ac9f8bcf7 100644
>--- a/src/qemu/qemu_capabilities.c
>+++ b/src/qemu/qemu_capabilities.c
>@@ -5046,15 +5046,59 @@ virQEMUCapsInitQMPArch(virQEMUCapsPtr qemuCaps,
> void
> virQEMUCapsInitQMPBasicArch(virQEMUCapsPtr qemuCaps)
> {
>-    /* ACPI only works on x86 and aarch64 */
>-    if (ARCH_IS_X86(qemuCaps->arch) ||
>-        qemuCaps->arch == VIR_ARCH_AARCH64) {
>+    switch (qemuCaps->arch) {
>+    case VIR_ARCH_I686:
>+    case VIR_ARCH_X86_64:
>+        /* ACPI only works on x86 and aarch64 */
>         virQEMUCapsSet(qemuCaps, QEMU_CAPS_NO_ACPI);
>-    }
>
>-    /* HPET is x86 specific */
>-    if (ARCH_IS_X86(qemuCaps->arch))
>+        /* HPET is x86 specific */
>         virQEMUCapsSet(qemuCaps, QEMU_CAPS_NO_HPET);
>+        break;
>+
>+    case VIR_ARCH_AARCH64:
>+        /* ACPI only works on x86 and aarch64 */
>+        virQEMUCapsSet(qemuCaps, QEMU_CAPS_NO_ACPI);
>+        break;
>+
>+    case VIR_ARCH_PPC64:
>+    case VIR_ARCH_PPC64LE:
>+    case VIR_ARCH_ALPHA:
>+    case VIR_ARCH_PPC:
>+    case VIR_ARCH_PPCEMB:
>+    case VIR_ARCH_SH4:
>+    case VIR_ARCH_SH4EB:
>+    case VIR_ARCH_RISCV32:
>+    case VIR_ARCH_RISCV64:
>+    case VIR_ARCH_S390:
>+    case VIR_ARCH_S390X:
>+    case VIR_ARCH_SPARC:
>+    case VIR_ARCH_SPARC64:
>+    case VIR_ARCH_ARMV6L:
>+    case VIR_ARCH_ARMV7L:
>+    case VIR_ARCH_ARMV7B:
>+    case VIR_ARCH_CRIS:
>+    case VIR_ARCH_ITANIUM:
>+    case VIR_ARCH_LM32:
>+    case VIR_ARCH_M68K:
>+    case VIR_ARCH_MICROBLAZE:
>+    case VIR_ARCH_MICROBLAZEEL:
>+    case VIR_ARCH_MIPS:
>+    case VIR_ARCH_MIPSEL:
>+    case VIR_ARCH_MIPS64:
>+    case VIR_ARCH_MIPS64EL:
>+    case VIR_ARCH_OR32:
>+    case VIR_ARCH_PARISC:
>+    case VIR_ARCH_PARISC64:
>+    case VIR_ARCH_PPCLE:
>+    case VIR_ARCH_UNICORE32:
>+    case VIR_ARCH_XTENSA:
>+    case VIR_ARCH_XTENSAEB:
>+    case VIR_ARCH_NONE:
>+    case VIR_ARCH_LAST:

Optimistic to the _LAST case.

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano

>+    default:
>+        break;
>+    }
> }
>
>
>-- 
>2.30.2
>