On 2/7/20 7:48 AM, Michael S. Tsirkin wrote:
We are going to add more init for the latest machine, so move the setup
to a function so we don't have to change the DEFINE_SPAPR_MACHINE macro
each time.

Signed-off-by: Michael S. Tsirkin <m...@redhat.com>
---
  hw/ppc/spapr.c | 9 +++++++--
  1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 02cf53fc5b..4cf2a992a5 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4428,6 +4428,12 @@ static const TypeInfo spapr_machine_info = {
      },
  };
+static void spapr_machine_latest_class_options(MachineClass *mc)
+{
+    mc->alias = "pseries";
+    mc->is_default = 1;

But we can have only 1 default per QEMU binary... How PPC manage having multiple defaults? The first or last listed is choosen as default?

+}
+
  #define DEFINE_SPAPR_MACHINE(suffix, verstr, latest)                 \
      static void spapr_machine_##suffix##_class_init(ObjectClass *oc, \
                                                      void *data)      \
@@ -4435,8 +4441,7 @@ static const TypeInfo spapr_machine_info = {
          MachineClass *mc = MACHINE_CLASS(oc);                        \
          spapr_machine_##suffix##_class_options(mc);                  \
          if (latest) {                                                \
-            mc->alias = "pseries";                                   \
-            mc->is_default = 1;                                      \
+            spapr_machine_latest_class_options(mc);                  \
          }                                                            \
      }                                                                \
      static const TypeInfo spapr_machine_##suffix##_info = {          \



Reply via email to