qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/3] Make MachineClass::is_default boolean, refuse  multiple default machines
@ 2020-02-07 13:04 Philippe Mathieu-Daudé
  2020-02-07 13:04 ` [PATCH v3 1/3] hw: Do not initialize MachineClass::is_default to 0 Philippe Mathieu-Daudé
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 13:04 UTC (permalink / raw)
  To: qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	Michael S. Tsirkin, Magnus Damm, Halil Pasic,
	Christian Borntraeger, Palmer Dabbelt, Aleksandar Rikalo,
	Richard Henderson, Philippe Mathieu-Daudé, Artyom Tarasenko,
	Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
	David Gibson, qemu-riscv, Thomas Huth, Bastian Koppelmann,
	Cornelia Huck, Laurent Vivier, Michael Walle, qemu-ppc,
	Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno

Cleanup after reviewing "ppc: function to setup latest class options":
https://www.mail-archive.com/qemu-devel@nongnu.org/msg677709.html

Philippe Mathieu-Daudé (3):
  hw: Do not initialize MachineClass::is_default to 0
  hw: Make MachineClass::is_default a boolean type
  vl: Abort if multiple machines are registered as default

 include/hw/boards.h                      |  2 +-
 hw/alpha/dp264.c                         |  2 +-
 hw/cris/axis_dev88.c                     |  2 +-
 hw/hppa/machine.c                        |  2 +-
 hw/i386/pc_piix.c                        | 10 +++++-----
 hw/lm32/lm32_boards.c                    |  3 +--
 hw/lm32/milkymist.c                      |  1 -
 hw/m68k/mcf5208.c                        |  2 +-
 hw/m68k/q800.c                           |  1 -
 hw/microblaze/petalogix_ml605_mmu.c      |  1 -
 hw/microblaze/petalogix_s3adsp1800_mmu.c |  2 +-
 hw/mips/mips_malta.c                     |  2 +-
 hw/moxie/moxiesim.c                      |  2 +-
 hw/nios2/10m50_devboard.c                |  2 +-
 hw/openrisc/openrisc_sim.c               |  2 +-
 hw/ppc/mac_oldworld.c                    |  2 +-
 hw/ppc/spapr.c                           |  2 +-
 hw/riscv/spike.c                         |  2 +-
 hw/s390x/s390-virtio-ccw.c               |  2 +-
 hw/sh4/shix.c                            |  2 +-
 hw/sparc/sun4m.c                         |  2 +-
 hw/sparc64/niagara.c                     |  2 +-
 hw/sparc64/sun4u.c                       |  4 ++--
 hw/tricore/tricore_testboard.c           |  1 -
 hw/unicore32/puv3.c                      |  2 +-
 vl.c                                     |  4 ++++
 26 files changed, 30 insertions(+), 31 deletions(-)

-- 
2.21.1



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v3 1/3] hw: Do not initialize MachineClass::is_default to 0
  2020-02-07 13:04 [PATCH v3 0/3] Make MachineClass::is_default boolean, refuse multiple default machines Philippe Mathieu-Daudé
@ 2020-02-07 13:04 ` Philippe Mathieu-Daudé
  2020-02-07 13:04 ` [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé
  2020-02-07 13:04 ` [PATCH v3 3/3] vl: Abort if multiple machines are registered as default Philippe Mathieu-Daudé
  2 siblings, 0 replies; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 13:04 UTC (permalink / raw)
  To: qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	Michael S. Tsirkin, Magnus Damm, Halil Pasic,
	Christian Borntraeger, Palmer Dabbelt, Aleksandar Rikalo,
	Richard Henderson, Philippe Mathieu-Daudé, Artyom Tarasenko,
	Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
	David Gibson, qemu-riscv, Thomas Huth, Bastian Koppelmann,
	Cornelia Huck, Laurent Vivier, Michael Walle, qemu-ppc,
	Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno

The MachineClass is already zeroed on creation.

Note: The code setting is_default=0 in hw/i386/pc_piix.c is
      different (related to compat options). When adding a
      new versioned machine, we want it to be the new default,
      so we have to mark the previous one as not default.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v3: new patch
---
 hw/lm32/lm32_boards.c               | 1 -
 hw/lm32/milkymist.c                 | 1 -
 hw/m68k/q800.c                      | 1 -
 hw/microblaze/petalogix_ml605_mmu.c | 1 -
 hw/tricore/tricore_testboard.c      | 1 -
 5 files changed, 5 deletions(-)

diff --git a/hw/lm32/lm32_boards.c b/hw/lm32/lm32_boards.c
index d1894adab8..156b050abc 100644
--- a/hw/lm32/lm32_boards.c
+++ b/hw/lm32/lm32_boards.c
@@ -302,7 +302,6 @@ static void lm32_uclinux_class_init(ObjectClass *oc, void *data)
 
     mc->desc = "lm32 platform for uClinux and u-boot by Theobroma Systems";
     mc->init = lm32_uclinux_init;
-    mc->is_default = 0;
     mc->default_cpu_type = LM32_CPU_TYPE_NAME("lm32-full");
 }
 
diff --git a/hw/lm32/milkymist.c b/hw/lm32/milkymist.c
index 6d46134232..9fa5fd7050 100644
--- a/hw/lm32/milkymist.c
+++ b/hw/lm32/milkymist.c
@@ -214,7 +214,6 @@ static void milkymist_machine_init(MachineClass *mc)
 {
     mc->desc = "Milkymist One";
     mc->init = milkymist_init;
-    mc->is_default = 0;
     mc->default_cpu_type = LM32_CPU_TYPE_NAME("lm32-full");
 }
 
diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c
index 1e32363688..788b5d663f 100644
--- a/hw/m68k/q800.c
+++ b/hw/m68k/q800.c
@@ -441,7 +441,6 @@ static void q800_machine_class_init(ObjectClass *oc, void *data)
     mc->init = q800_init;
     mc->default_cpu_type = M68K_CPU_TYPE_NAME("m68040");
     mc->max_cpus = 1;
-    mc->is_default = 0;
     mc->block_default_type = IF_SCSI;
 }
 
diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c
index 09486bc8bf..0a2640c40b 100644
--- a/hw/microblaze/petalogix_ml605_mmu.c
+++ b/hw/microblaze/petalogix_ml605_mmu.c
@@ -216,7 +216,6 @@ static void petalogix_ml605_machine_init(MachineClass *mc)
 {
     mc->desc = "PetaLogix linux refdesign for xilinx ml605 little endian";
     mc->init = petalogix_ml605_init;
-    mc->is_default = 0;
 }
 
 DEFINE_MACHINE("petalogix-ml605", petalogix_ml605_machine_init)
diff --git a/hw/tricore/tricore_testboard.c b/hw/tricore/tricore_testboard.c
index 20c9ccb3ce..8ec2b5bddd 100644
--- a/hw/tricore/tricore_testboard.c
+++ b/hw/tricore/tricore_testboard.c
@@ -105,7 +105,6 @@ static void ttb_machine_init(MachineClass *mc)
 {
     mc->desc = "a minimal TriCore board";
     mc->init = tricoreboard_init;
-    mc->is_default = 0;
     mc->default_cpu_type = TRICORE_CPU_TYPE_NAME("tc1796");
 }
 
-- 
2.21.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type
  2020-02-07 13:04 [PATCH v3 0/3] Make MachineClass::is_default boolean, refuse multiple default machines Philippe Mathieu-Daudé
  2020-02-07 13:04 ` [PATCH v3 1/3] hw: Do not initialize MachineClass::is_default to 0 Philippe Mathieu-Daudé
@ 2020-02-07 13:04 ` Philippe Mathieu-Daudé
  2020-02-07 14:11   ` Michael S. Tsirkin
  2020-02-07 13:04 ` [PATCH v3 3/3] vl: Abort if multiple machines are registered as default Philippe Mathieu-Daudé
  2 siblings, 1 reply; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 13:04 UTC (permalink / raw)
  To: qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	Michael S. Tsirkin, Magnus Damm, Halil Pasic,
	Christian Borntraeger, Palmer Dabbelt, Aleksandar Rikalo,
	Richard Henderson, Philippe Mathieu-Daudé, Artyom Tarasenko,
	Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
	David Gibson, qemu-riscv, Thomas Huth, Bastian Koppelmann,
	Cornelia Huck, Laurent Vivier, Michael Walle, qemu-ppc,
	Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno

There's no good reason for it to be type int, change it to bool.

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v3: new patch
---
 include/hw/boards.h                      |  2 +-
 hw/alpha/dp264.c                         |  2 +-
 hw/cris/axis_dev88.c                     |  2 +-
 hw/hppa/machine.c                        |  2 +-
 hw/i386/pc_piix.c                        | 10 +++++-----
 hw/lm32/lm32_boards.c                    |  2 +-
 hw/m68k/mcf5208.c                        |  2 +-
 hw/microblaze/petalogix_s3adsp1800_mmu.c |  2 +-
 hw/mips/mips_malta.c                     |  2 +-
 hw/moxie/moxiesim.c                      |  2 +-
 hw/nios2/10m50_devboard.c                |  2 +-
 hw/openrisc/openrisc_sim.c               |  2 +-
 hw/ppc/mac_oldworld.c                    |  2 +-
 hw/ppc/spapr.c                           |  2 +-
 hw/riscv/spike.c                         |  2 +-
 hw/s390x/s390-virtio-ccw.c               |  2 +-
 hw/sh4/shix.c                            |  2 +-
 hw/sparc/sun4m.c                         |  2 +-
 hw/sparc64/niagara.c                     |  2 +-
 hw/sparc64/sun4u.c                       |  4 ++--
 hw/unicore32/puv3.c                      |  2 +-
 21 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/include/hw/boards.h b/include/hw/boards.h
index fb1b43d5b9..30498cb367 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -200,7 +200,7 @@ struct MachineClass {
         no_sdcard:1,
         pci_allow_0_address:1,
         legacy_fw_cfg_order:1;
-    int is_default;
+    bool is_default;
     const char *default_machine_opts;
     const char *default_boot_order;
     const char *default_display;
diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c
index a8f9a89cc4..083a198a64 100644
--- a/hw/alpha/dp264.c
+++ b/hw/alpha/dp264.c
@@ -181,7 +181,7 @@ static void clipper_machine_init(MachineClass *mc)
     mc->init = clipper_init;
     mc->block_default_type = IF_IDE;
     mc->max_cpus = 4;
-    mc->is_default = 1;
+    mc->is_default = true;
     mc->default_cpu_type = ALPHA_CPU_TYPE_NAME("ev67");
 }
 
diff --git a/hw/cris/axis_dev88.c b/hw/cris/axis_dev88.c
index be7760476a..de7b49188b 100644
--- a/hw/cris/axis_dev88.c
+++ b/hw/cris/axis_dev88.c
@@ -349,7 +349,7 @@ static void axisdev88_machine_init(MachineClass *mc)
 {
     mc->desc = "AXIS devboard 88";
     mc->init = axisdev88_init;
-    mc->is_default = 1;
+    mc->is_default = true;
     mc->default_cpu_type = CRIS_CPU_TYPE_NAME("crisv32");
 }
 
diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index d8755ec422..83ae87f565 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -295,7 +295,7 @@ static void machine_hppa_machine_init(MachineClass *mc)
     mc->block_default_type = IF_SCSI;
     mc->max_cpus = HPPA_MAX_CPUS;
     mc->default_cpus = 1;
-    mc->is_default = 1;
+    mc->is_default = true;
     mc->default_ram_size = 512 * MiB;
     mc->default_boot_order = "cd";
 }
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index fa12203079..9088db8fb6 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -423,7 +423,7 @@ static void pc_i440fx_5_0_machine_options(MachineClass *m)
     PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
     pc_i440fx_machine_options(m);
     m->alias = "pc";
-    m->is_default = 1;
+    m->is_default = true;
     pcmc->default_cpu_version = 1;
 }
 
@@ -434,7 +434,7 @@ static void pc_i440fx_4_2_machine_options(MachineClass *m)
 {
     pc_i440fx_5_0_machine_options(m);
     m->alias = NULL;
-    m->is_default = 0;
+    m->is_default = false;
     compat_props_add(m->compat_props, hw_compat_4_2, hw_compat_4_2_len);
     compat_props_add(m->compat_props, pc_compat_4_2, pc_compat_4_2_len);
 }
@@ -446,7 +446,7 @@ static void pc_i440fx_4_1_machine_options(MachineClass *m)
 {
     pc_i440fx_4_2_machine_options(m);
     m->alias = NULL;
-    m->is_default = 0;
+    m->is_default = false;
     compat_props_add(m->compat_props, hw_compat_4_1, hw_compat_4_1_len);
     compat_props_add(m->compat_props, pc_compat_4_1, pc_compat_4_1_len);
 }
@@ -459,7 +459,7 @@ static void pc_i440fx_4_0_machine_options(MachineClass *m)
     PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
     pc_i440fx_4_1_machine_options(m);
     m->alias = NULL;
-    m->is_default = 0;
+    m->is_default = false;
     pcmc->default_cpu_version = CPU_VERSION_LEGACY;
     compat_props_add(m->compat_props, hw_compat_4_0, hw_compat_4_0_len);
     compat_props_add(m->compat_props, pc_compat_4_0, pc_compat_4_0_len);
@@ -473,7 +473,7 @@ static void pc_i440fx_3_1_machine_options(MachineClass *m)
     PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
 
     pc_i440fx_4_0_machine_options(m);
-    m->is_default = 0;
+    m->is_default = false;
     pcmc->do_not_add_smb_acpi = true;
     m->smbus_no_migration_support = true;
     m->alias = NULL;
diff --git a/hw/lm32/lm32_boards.c b/hw/lm32/lm32_boards.c
index 156b050abc..352f69532e 100644
--- a/hw/lm32/lm32_boards.c
+++ b/hw/lm32/lm32_boards.c
@@ -286,7 +286,7 @@ static void lm32_evr_class_init(ObjectClass *oc, void *data)
 
     mc->desc = "LatticeMico32 EVR32 eval system";
     mc->init = lm32_evr_init;
-    mc->is_default = 1;
+    mc->is_default = true;
     mc->default_cpu_type = LM32_CPU_TYPE_NAME("lm32-full");
 }
 
diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c
index a999c21982..5f8f6e4475 100644
--- a/hw/m68k/mcf5208.c
+++ b/hw/m68k/mcf5208.c
@@ -352,7 +352,7 @@ static void mcf5208evb_machine_init(MachineClass *mc)
 {
     mc->desc = "MCF5208EVB";
     mc->init = mcf5208evb_init;
-    mc->is_default = 1;
+    mc->is_default = true;
     mc->default_cpu_type = M68K_CPU_TYPE_NAME("m5208");
 }
 
diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c
index 849bafc186..0bb6cdea8d 100644
--- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
+++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
@@ -132,7 +132,7 @@ static void petalogix_s3adsp1800_machine_init(MachineClass *mc)
 {
     mc->desc = "PetaLogix linux refdesign for xilinx Spartan 3ADSP1800";
     mc->init = petalogix_s3adsp1800_init;
-    mc->is_default = 1;
+    mc->is_default = true;
 }
 
 DEFINE_MACHINE("petalogix-s3adsp1800", petalogix_s3adsp1800_machine_init)
diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
index 34b76bb6a1..499eac8d33 100644
--- a/hw/mips/mips_malta.c
+++ b/hw/mips/mips_malta.c
@@ -1442,7 +1442,7 @@ static void mips_malta_machine_init(MachineClass *mc)
     mc->init = mips_malta_init;
     mc->block_default_type = IF_IDE;
     mc->max_cpus = 16;
-    mc->is_default = 1;
+    mc->is_default = true;
 #ifdef TARGET_MIPS64
     mc->default_cpu_type = MIPS_CPU_TYPE_NAME("20Kc");
 #else
diff --git a/hw/moxie/moxiesim.c b/hw/moxie/moxiesim.c
index 1d06e39fcb..51a98287b5 100644
--- a/hw/moxie/moxiesim.c
+++ b/hw/moxie/moxiesim.c
@@ -150,7 +150,7 @@ static void moxiesim_machine_init(MachineClass *mc)
 {
     mc->desc = "Moxie simulator platform";
     mc->init = moxiesim_init;
-    mc->is_default = 1;
+    mc->is_default = true;
     mc->default_cpu_type = MOXIE_CPU_TYPE_NAME("MoxieLite");
 }
 
diff --git a/hw/nios2/10m50_devboard.c b/hw/nios2/10m50_devboard.c
index ad8b2fc670..33dc2bf511 100644
--- a/hw/nios2/10m50_devboard.c
+++ b/hw/nios2/10m50_devboard.c
@@ -120,7 +120,7 @@ static void nios2_10m50_ghrd_machine_init(struct MachineClass *mc)
 {
     mc->desc = "Altera 10M50 GHRD Nios II design";
     mc->init = nios2_10m50_ghrd_init;
-    mc->is_default = 1;
+    mc->is_default = true;
 }
 
 DEFINE_MACHINE("10m50-ghrd", nios2_10m50_ghrd_machine_init);
diff --git a/hw/openrisc/openrisc_sim.c b/hw/openrisc/openrisc_sim.c
index ad5371250f..d08ce61811 100644
--- a/hw/openrisc/openrisc_sim.c
+++ b/hw/openrisc/openrisc_sim.c
@@ -176,7 +176,7 @@ static void openrisc_sim_machine_init(MachineClass *mc)
     mc->desc = "or1k simulation";
     mc->init = openrisc_sim_init;
     mc->max_cpus = 2;
-    mc->is_default = 1;
+    mc->is_default = true;
     mc->default_cpu_type = OPENRISC_CPU_TYPE_NAME("or1200");
 }
 
diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c
index 7318d7e9b4..1630663bc2 100644
--- a/hw/ppc/mac_oldworld.c
+++ b/hw/ppc/mac_oldworld.c
@@ -438,7 +438,7 @@ static void heathrow_class_init(ObjectClass *oc, void *data)
     mc->block_default_type = IF_IDE;
     mc->max_cpus = MAX_CPUS;
 #ifndef TARGET_PPC64
-    mc->is_default = 1;
+    mc->is_default = true;
 #endif
     /* TOFIX "cad" when Mac floppy is implemented */
     mc->default_boot_order = "cd";
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index c9b2e0a5e0..e3e3208cd8 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4493,7 +4493,7 @@ static const TypeInfo spapr_machine_info = {
         spapr_machine_##suffix##_class_options(mc);                  \
         if (latest) {                                                \
             mc->alias = "pseries";                                   \
-            mc->is_default = 1;                                      \
+            mc->is_default = true;                                   \
         }                                                            \
     }                                                                \
     static const TypeInfo spapr_machine_##suffix##_info = {          \
diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c
index 8823681783..6f03857660 100644
--- a/hw/riscv/spike.c
+++ b/hw/riscv/spike.c
@@ -448,7 +448,7 @@ static void spike_machine_init(MachineClass *mc)
     mc->desc = "RISC-V Spike Board";
     mc->init = spike_board_init;
     mc->max_cpus = 1;
-    mc->is_default = 1;
+    mc->is_default = true;
     mc->default_cpu_type = SPIKE_V1_10_0_CPU;
 }
 
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index e759eb5f83..c4b291e434 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -631,7 +631,7 @@ bool css_migration_enabled(void)
         mc->desc = "VirtIO-ccw based S390 machine v" verstr;                  \
         if (latest) {                                                         \
             mc->alias = "s390-ccw-virtio";                                    \
-            mc->is_default = 1;                                               \
+            mc->is_default = true;                                            \
         }                                                                     \
     }                                                                         \
     static void ccw_machine_##suffix##_instance_init(Object *obj)             \
diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c
index 2fc2915428..68b14ee5e7 100644
--- a/hw/sh4/shix.c
+++ b/hw/sh4/shix.c
@@ -82,7 +82,7 @@ static void shix_machine_init(MachineClass *mc)
 {
     mc->desc = "shix card";
     mc->init = shix_init;
-    mc->is_default = 1;
+    mc->is_default = true;
     mc->default_cpu_type = TYPE_SH7750R_CPU;
 }
 
diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
index 25e96db5ca..d6c9772f95 100644
--- a/hw/sparc/sun4m.c
+++ b/hw/sparc/sun4m.c
@@ -1411,7 +1411,7 @@ static void ss5_class_init(ObjectClass *oc, void *data)
     mc->desc = "Sun4m platform, SPARCstation 5";
     mc->init = ss5_init;
     mc->block_default_type = IF_SCSI;
-    mc->is_default = 1;
+    mc->is_default = true;
     mc->default_boot_order = "c";
     mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904");
     mc->default_display = "tcx";
diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c
index 5eb2d097b9..81a1748fad 100644
--- a/hw/sparc64/niagara.c
+++ b/hw/sparc64/niagara.c
@@ -170,7 +170,7 @@ static void niagara_class_init(ObjectClass *oc, void *data)
 
     mc->desc = "Sun4v platform, Niagara";
     mc->init = niagara_init;
-    mc->max_cpus = 1; /* XXX for now */
+    mc->max_cpus = true; /* XXX for now */
     mc->default_boot_order = "c";
     mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
 }
diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index b7ac42f7a5..3c2c9d2eb0 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -816,7 +816,7 @@ static void sun4u_class_init(ObjectClass *oc, void *data)
     mc->init = sun4u_init;
     mc->block_default_type = IF_IDE;
     mc->max_cpus = 1; /* XXX for now */
-    mc->is_default = 1;
+    mc->is_default = true;
     mc->default_boot_order = "c";
     mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi");
     mc->ignore_boot_device_suffixes = true;
@@ -841,7 +841,7 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
     mc->desc = "Sun4v platform";
     mc->init = sun4v_init;
     mc->block_default_type = IF_IDE;
-    mc->max_cpus = 1; /* XXX for now */
+    mc->max_cpus = true; /* XXX for now */
     mc->default_boot_order = "c";
     mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
     mc->default_display = "std";
diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c
index 7e933de228..7f9c0238fe 100644
--- a/hw/unicore32/puv3.c
+++ b/hw/unicore32/puv3.c
@@ -140,7 +140,7 @@ static void puv3_machine_init(MachineClass *mc)
 {
     mc->desc = "PKUnity Version-3 based on UniCore32";
     mc->init = puv3_init;
-    mc->is_default = 1;
+    mc->is_default = true;
     mc->default_cpu_type = UNICORE32_CPU_TYPE_NAME("UniCore-II");
 }
 
-- 
2.21.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v3 3/3] vl: Abort if multiple machines are registered as default
  2020-02-07 13:04 [PATCH v3 0/3] Make MachineClass::is_default boolean, refuse multiple default machines Philippe Mathieu-Daudé
  2020-02-07 13:04 ` [PATCH v3 1/3] hw: Do not initialize MachineClass::is_default to 0 Philippe Mathieu-Daudé
  2020-02-07 13:04 ` [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé
@ 2020-02-07 13:04 ` Philippe Mathieu-Daudé
  2020-02-07 14:11   ` Michael S. Tsirkin
  2 siblings, 1 reply; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 13:04 UTC (permalink / raw)
  To: qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	Michael S. Tsirkin, Magnus Damm, Halil Pasic,
	Christian Borntraeger, Palmer Dabbelt, Aleksandar Rikalo,
	Richard Henderson, Philippe Mathieu-Daudé, Artyom Tarasenko,
	Eduardo Habkost, Richard Henderson, qemu-s390x,
	Marc-André Lureau, Stafford Horne, David Gibson, qemu-riscv,
	Thomas Huth, Bastian Koppelmann, Cornelia Huck, Laurent Vivier,
	Michael Walle, qemu-ppc, Aleksandar Markovic, Paolo Bonzini,
	Aurelien Jarno

It would be confusing to have multiple default machines.
Abort if this ever occurs.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v2: Use assert() instead of human friendly message (Marc-André)

Cc: Marc-André Lureau <marcandre.lureau@gmail.com>
Cc: Laurent Vivier <laurent@vivier.eu>
---
 vl.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/vl.c b/vl.c
index 7dcb0879c4..b3e0f7af25 100644
--- a/vl.c
+++ b/vl.c
@@ -2354,6 +2354,8 @@ static MachineClass *machine_parse(const char *name, GSList *machines)
     GSList *el;
 
     if (is_help_option(name)) {
+        int default_count = 0;
+
         printf("Supported machines are:\n");
         machines = g_slist_sort(machines, machine_class_cmp);
         for (el = machines; el; el = el->next) {
@@ -2364,7 +2366,9 @@ static MachineClass *machine_parse(const char *name, GSList *machines)
             printf("%-20s %s%s%s\n", mc->name, mc->desc,
                    mc->is_default ? " (default)" : "",
                    mc->deprecation_reason ? " (deprecated)" : "");
+            default_count += !!mc->is_default;
         }
+        assert(default_count <= 1);
         exit(0);
     }
 
-- 
2.21.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 3/3] vl: Abort if multiple machines are registered as default
  2020-02-07 13:04 ` [PATCH v3 3/3] vl: Abort if multiple machines are registered as default Philippe Mathieu-Daudé
@ 2020-02-07 14:11   ` Michael S. Tsirkin
  0 siblings, 0 replies; 10+ messages in thread
From: Michael S. Tsirkin @ 2020-02-07 14:11 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
	Mark Cave-Ayland, qemu-devel, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
	Aleksandar Rikalo, Richard Henderson, Artyom Tarasenko,
	Eduardo Habkost, Richard Henderson, qemu-s390x,
	Marc-André Lureau, Stafford Horne, David Gibson, qemu-riscv,
	Thomas Huth, Bastian Koppelmann, Cornelia Huck, Laurent Vivier,
	Michael Walle, qemu-ppc, Aleksandar Markovic, Paolo Bonzini,
	Aurelien Jarno

On Fri, Feb 07, 2020 at 02:04:53PM +0100, Philippe Mathieu-Daudé wrote:
> It would be confusing to have multiple default machines.
> Abort if this ever occurs.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v2: Use assert() instead of human friendly message (Marc-André)
> 
> Cc: Marc-André Lureau <marcandre.lureau@gmail.com>
> Cc: Laurent Vivier <laurent@vivier.eu>

Is it really worth adding counting logic just so we can assert?
There are a bunch of other places that deal with
default, like qmp query machines and find_default_machine.

> ---
>  vl.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/vl.c b/vl.c
> index 7dcb0879c4..b3e0f7af25 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2354,6 +2354,8 @@ static MachineClass *machine_parse(const char *name, GSList *machines)
>      GSList *el;
>  
>      if (is_help_option(name)) {
> +        int default_count = 0;
> +
>          printf("Supported machines are:\n");
>          machines = g_slist_sort(machines, machine_class_cmp);
>          for (el = machines; el; el = el->next) {
> @@ -2364,7 +2366,9 @@ static MachineClass *machine_parse(const char *name, GSList *machines)
>              printf("%-20s %s%s%s\n", mc->name, mc->desc,
>                     mc->is_default ? " (default)" : "",
>                     mc->deprecation_reason ? " (deprecated)" : "");
> +            default_count += !!mc->is_default;
>          }
> +        assert(default_count <= 1);
>          exit(0);
>      }
>  
> -- 
> 2.21.1



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type
  2020-02-07 13:04 ` [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé
@ 2020-02-07 14:11   ` Michael S. Tsirkin
  2020-02-07 14:22     ` Laurent Vivier
  0 siblings, 1 reply; 10+ messages in thread
From: Michael S. Tsirkin @ 2020-02-07 14:11 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
	Mark Cave-Ayland, qemu-devel, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
	Aleksandar Rikalo, Richard Henderson, Artyom Tarasenko,
	Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
	David Gibson, qemu-riscv, Thomas Huth, Bastian Koppelmann,
	Cornelia Huck, Laurent Vivier, Michael Walle, qemu-ppc,
	Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno

On Fri, Feb 07, 2020 at 02:04:52PM +0100, Philippe Mathieu-Daudé wrote:
> There's no good reason for it to be type int, change it to bool.
> 
> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

> ---
> v3: new patch
> ---
>  include/hw/boards.h                      |  2 +-
>  hw/alpha/dp264.c                         |  2 +-
>  hw/cris/axis_dev88.c                     |  2 +-
>  hw/hppa/machine.c                        |  2 +-
>  hw/i386/pc_piix.c                        | 10 +++++-----
>  hw/lm32/lm32_boards.c                    |  2 +-
>  hw/m68k/mcf5208.c                        |  2 +-
>  hw/microblaze/petalogix_s3adsp1800_mmu.c |  2 +-
>  hw/mips/mips_malta.c                     |  2 +-
>  hw/moxie/moxiesim.c                      |  2 +-
>  hw/nios2/10m50_devboard.c                |  2 +-
>  hw/openrisc/openrisc_sim.c               |  2 +-
>  hw/ppc/mac_oldworld.c                    |  2 +-
>  hw/ppc/spapr.c                           |  2 +-
>  hw/riscv/spike.c                         |  2 +-
>  hw/s390x/s390-virtio-ccw.c               |  2 +-
>  hw/sh4/shix.c                            |  2 +-
>  hw/sparc/sun4m.c                         |  2 +-
>  hw/sparc64/niagara.c                     |  2 +-
>  hw/sparc64/sun4u.c                       |  4 ++--
>  hw/unicore32/puv3.c                      |  2 +-
>  21 files changed, 26 insertions(+), 26 deletions(-)
> 
> diff --git a/include/hw/boards.h b/include/hw/boards.h
> index fb1b43d5b9..30498cb367 100644
> --- a/include/hw/boards.h
> +++ b/include/hw/boards.h
> @@ -200,7 +200,7 @@ struct MachineClass {
>          no_sdcard:1,
>          pci_allow_0_address:1,
>          legacy_fw_cfg_order:1;
> -    int is_default;
> +    bool is_default;
>      const char *default_machine_opts;
>      const char *default_boot_order;
>      const char *default_display;
> diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c
> index a8f9a89cc4..083a198a64 100644
> --- a/hw/alpha/dp264.c
> +++ b/hw/alpha/dp264.c
> @@ -181,7 +181,7 @@ static void clipper_machine_init(MachineClass *mc)
>      mc->init = clipper_init;
>      mc->block_default_type = IF_IDE;
>      mc->max_cpus = 4;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>      mc->default_cpu_type = ALPHA_CPU_TYPE_NAME("ev67");
>  }
>  
> diff --git a/hw/cris/axis_dev88.c b/hw/cris/axis_dev88.c
> index be7760476a..de7b49188b 100644
> --- a/hw/cris/axis_dev88.c
> +++ b/hw/cris/axis_dev88.c
> @@ -349,7 +349,7 @@ static void axisdev88_machine_init(MachineClass *mc)
>  {
>      mc->desc = "AXIS devboard 88";
>      mc->init = axisdev88_init;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>      mc->default_cpu_type = CRIS_CPU_TYPE_NAME("crisv32");
>  }
>  
> diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
> index d8755ec422..83ae87f565 100644
> --- a/hw/hppa/machine.c
> +++ b/hw/hppa/machine.c
> @@ -295,7 +295,7 @@ static void machine_hppa_machine_init(MachineClass *mc)
>      mc->block_default_type = IF_SCSI;
>      mc->max_cpus = HPPA_MAX_CPUS;
>      mc->default_cpus = 1;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>      mc->default_ram_size = 512 * MiB;
>      mc->default_boot_order = "cd";
>  }
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index fa12203079..9088db8fb6 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -423,7 +423,7 @@ static void pc_i440fx_5_0_machine_options(MachineClass *m)
>      PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
>      pc_i440fx_machine_options(m);
>      m->alias = "pc";
> -    m->is_default = 1;
> +    m->is_default = true;
>      pcmc->default_cpu_version = 1;
>  }
>  
> @@ -434,7 +434,7 @@ static void pc_i440fx_4_2_machine_options(MachineClass *m)
>  {
>      pc_i440fx_5_0_machine_options(m);
>      m->alias = NULL;
> -    m->is_default = 0;
> +    m->is_default = false;
>      compat_props_add(m->compat_props, hw_compat_4_2, hw_compat_4_2_len);
>      compat_props_add(m->compat_props, pc_compat_4_2, pc_compat_4_2_len);
>  }
> @@ -446,7 +446,7 @@ static void pc_i440fx_4_1_machine_options(MachineClass *m)
>  {
>      pc_i440fx_4_2_machine_options(m);
>      m->alias = NULL;
> -    m->is_default = 0;
> +    m->is_default = false;
>      compat_props_add(m->compat_props, hw_compat_4_1, hw_compat_4_1_len);
>      compat_props_add(m->compat_props, pc_compat_4_1, pc_compat_4_1_len);
>  }
> @@ -459,7 +459,7 @@ static void pc_i440fx_4_0_machine_options(MachineClass *m)
>      PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
>      pc_i440fx_4_1_machine_options(m);
>      m->alias = NULL;
> -    m->is_default = 0;
> +    m->is_default = false;
>      pcmc->default_cpu_version = CPU_VERSION_LEGACY;
>      compat_props_add(m->compat_props, hw_compat_4_0, hw_compat_4_0_len);
>      compat_props_add(m->compat_props, pc_compat_4_0, pc_compat_4_0_len);
> @@ -473,7 +473,7 @@ static void pc_i440fx_3_1_machine_options(MachineClass *m)
>      PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
>  
>      pc_i440fx_4_0_machine_options(m);
> -    m->is_default = 0;
> +    m->is_default = false;
>      pcmc->do_not_add_smb_acpi = true;
>      m->smbus_no_migration_support = true;
>      m->alias = NULL;
> diff --git a/hw/lm32/lm32_boards.c b/hw/lm32/lm32_boards.c
> index 156b050abc..352f69532e 100644
> --- a/hw/lm32/lm32_boards.c
> +++ b/hw/lm32/lm32_boards.c
> @@ -286,7 +286,7 @@ static void lm32_evr_class_init(ObjectClass *oc, void *data)
>  
>      mc->desc = "LatticeMico32 EVR32 eval system";
>      mc->init = lm32_evr_init;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>      mc->default_cpu_type = LM32_CPU_TYPE_NAME("lm32-full");
>  }
>  
> diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c
> index a999c21982..5f8f6e4475 100644
> --- a/hw/m68k/mcf5208.c
> +++ b/hw/m68k/mcf5208.c
> @@ -352,7 +352,7 @@ static void mcf5208evb_machine_init(MachineClass *mc)
>  {
>      mc->desc = "MCF5208EVB";
>      mc->init = mcf5208evb_init;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>      mc->default_cpu_type = M68K_CPU_TYPE_NAME("m5208");
>  }
>  
> diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c
> index 849bafc186..0bb6cdea8d 100644
> --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
> +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
> @@ -132,7 +132,7 @@ static void petalogix_s3adsp1800_machine_init(MachineClass *mc)
>  {
>      mc->desc = "PetaLogix linux refdesign for xilinx Spartan 3ADSP1800";
>      mc->init = petalogix_s3adsp1800_init;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>  }
>  
>  DEFINE_MACHINE("petalogix-s3adsp1800", petalogix_s3adsp1800_machine_init)
> diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
> index 34b76bb6a1..499eac8d33 100644
> --- a/hw/mips/mips_malta.c
> +++ b/hw/mips/mips_malta.c
> @@ -1442,7 +1442,7 @@ static void mips_malta_machine_init(MachineClass *mc)
>      mc->init = mips_malta_init;
>      mc->block_default_type = IF_IDE;
>      mc->max_cpus = 16;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>  #ifdef TARGET_MIPS64
>      mc->default_cpu_type = MIPS_CPU_TYPE_NAME("20Kc");
>  #else
> diff --git a/hw/moxie/moxiesim.c b/hw/moxie/moxiesim.c
> index 1d06e39fcb..51a98287b5 100644
> --- a/hw/moxie/moxiesim.c
> +++ b/hw/moxie/moxiesim.c
> @@ -150,7 +150,7 @@ static void moxiesim_machine_init(MachineClass *mc)
>  {
>      mc->desc = "Moxie simulator platform";
>      mc->init = moxiesim_init;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>      mc->default_cpu_type = MOXIE_CPU_TYPE_NAME("MoxieLite");
>  }
>  
> diff --git a/hw/nios2/10m50_devboard.c b/hw/nios2/10m50_devboard.c
> index ad8b2fc670..33dc2bf511 100644
> --- a/hw/nios2/10m50_devboard.c
> +++ b/hw/nios2/10m50_devboard.c
> @@ -120,7 +120,7 @@ static void nios2_10m50_ghrd_machine_init(struct MachineClass *mc)
>  {
>      mc->desc = "Altera 10M50 GHRD Nios II design";
>      mc->init = nios2_10m50_ghrd_init;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>  }
>  
>  DEFINE_MACHINE("10m50-ghrd", nios2_10m50_ghrd_machine_init);
> diff --git a/hw/openrisc/openrisc_sim.c b/hw/openrisc/openrisc_sim.c
> index ad5371250f..d08ce61811 100644
> --- a/hw/openrisc/openrisc_sim.c
> +++ b/hw/openrisc/openrisc_sim.c
> @@ -176,7 +176,7 @@ static void openrisc_sim_machine_init(MachineClass *mc)
>      mc->desc = "or1k simulation";
>      mc->init = openrisc_sim_init;
>      mc->max_cpus = 2;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>      mc->default_cpu_type = OPENRISC_CPU_TYPE_NAME("or1200");
>  }
>  
> diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c
> index 7318d7e9b4..1630663bc2 100644
> --- a/hw/ppc/mac_oldworld.c
> +++ b/hw/ppc/mac_oldworld.c
> @@ -438,7 +438,7 @@ static void heathrow_class_init(ObjectClass *oc, void *data)
>      mc->block_default_type = IF_IDE;
>      mc->max_cpus = MAX_CPUS;
>  #ifndef TARGET_PPC64
> -    mc->is_default = 1;
> +    mc->is_default = true;
>  #endif
>      /* TOFIX "cad" when Mac floppy is implemented */
>      mc->default_boot_order = "cd";
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index c9b2e0a5e0..e3e3208cd8 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -4493,7 +4493,7 @@ static const TypeInfo spapr_machine_info = {
>          spapr_machine_##suffix##_class_options(mc);                  \
>          if (latest) {                                                \
>              mc->alias = "pseries";                                   \
> -            mc->is_default = 1;                                      \
> +            mc->is_default = true;                                   \
>          }                                                            \
>      }                                                                \
>      static const TypeInfo spapr_machine_##suffix##_info = {          \
> diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c
> index 8823681783..6f03857660 100644
> --- a/hw/riscv/spike.c
> +++ b/hw/riscv/spike.c
> @@ -448,7 +448,7 @@ static void spike_machine_init(MachineClass *mc)
>      mc->desc = "RISC-V Spike Board";
>      mc->init = spike_board_init;
>      mc->max_cpus = 1;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>      mc->default_cpu_type = SPIKE_V1_10_0_CPU;
>  }
>  
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index e759eb5f83..c4b291e434 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -631,7 +631,7 @@ bool css_migration_enabled(void)
>          mc->desc = "VirtIO-ccw based S390 machine v" verstr;                  \
>          if (latest) {                                                         \
>              mc->alias = "s390-ccw-virtio";                                    \
> -            mc->is_default = 1;                                               \
> +            mc->is_default = true;                                            \
>          }                                                                     \
>      }                                                                         \
>      static void ccw_machine_##suffix##_instance_init(Object *obj)             \
> diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c
> index 2fc2915428..68b14ee5e7 100644
> --- a/hw/sh4/shix.c
> +++ b/hw/sh4/shix.c
> @@ -82,7 +82,7 @@ static void shix_machine_init(MachineClass *mc)
>  {
>      mc->desc = "shix card";
>      mc->init = shix_init;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>      mc->default_cpu_type = TYPE_SH7750R_CPU;
>  }
>  
> diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
> index 25e96db5ca..d6c9772f95 100644
> --- a/hw/sparc/sun4m.c
> +++ b/hw/sparc/sun4m.c
> @@ -1411,7 +1411,7 @@ static void ss5_class_init(ObjectClass *oc, void *data)
>      mc->desc = "Sun4m platform, SPARCstation 5";
>      mc->init = ss5_init;
>      mc->block_default_type = IF_SCSI;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>      mc->default_boot_order = "c";
>      mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904");
>      mc->default_display = "tcx";
> diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c
> index 5eb2d097b9..81a1748fad 100644
> --- a/hw/sparc64/niagara.c
> +++ b/hw/sparc64/niagara.c
> @@ -170,7 +170,7 @@ static void niagara_class_init(ObjectClass *oc, void *data)
>  
>      mc->desc = "Sun4v platform, Niagara";
>      mc->init = niagara_init;
> -    mc->max_cpus = 1; /* XXX for now */
> +    mc->max_cpus = true; /* XXX for now */
>      mc->default_boot_order = "c";
>      mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
>  }
> diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
> index b7ac42f7a5..3c2c9d2eb0 100644
> --- a/hw/sparc64/sun4u.c
> +++ b/hw/sparc64/sun4u.c
> @@ -816,7 +816,7 @@ static void sun4u_class_init(ObjectClass *oc, void *data)
>      mc->init = sun4u_init;
>      mc->block_default_type = IF_IDE;
>      mc->max_cpus = 1; /* XXX for now */
> -    mc->is_default = 1;
> +    mc->is_default = true;
>      mc->default_boot_order = "c";
>      mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi");
>      mc->ignore_boot_device_suffixes = true;
> @@ -841,7 +841,7 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
>      mc->desc = "Sun4v platform";
>      mc->init = sun4v_init;
>      mc->block_default_type = IF_IDE;
> -    mc->max_cpus = 1; /* XXX for now */
> +    mc->max_cpus = true; /* XXX for now */
>      mc->default_boot_order = "c";
>      mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
>      mc->default_display = "std";
> diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c
> index 7e933de228..7f9c0238fe 100644
> --- a/hw/unicore32/puv3.c
> +++ b/hw/unicore32/puv3.c
> @@ -140,7 +140,7 @@ static void puv3_machine_init(MachineClass *mc)
>  {
>      mc->desc = "PKUnity Version-3 based on UniCore32";
>      mc->init = puv3_init;
> -    mc->is_default = 1;
> +    mc->is_default = true;
>      mc->default_cpu_type = UNICORE32_CPU_TYPE_NAME("UniCore-II");
>  }
>  
> -- 
> 2.21.1



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type
  2020-02-07 14:11   ` Michael S. Tsirkin
@ 2020-02-07 14:22     ` Laurent Vivier
  2020-02-07 14:25       ` Michael S. Tsirkin
  2020-02-07 14:31       ` Philippe Mathieu-Daudé
  0 siblings, 2 replies; 10+ messages in thread
From: Laurent Vivier @ 2020-02-07 14:22 UTC (permalink / raw)
  To: Michael S. Tsirkin, Philippe Mathieu-Daudé
  Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
	Mark Cave-Ayland, qemu-devel, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
	Aleksandar Rikalo, Richard Henderson, Artyom Tarasenko,
	Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
	David Gibson, qemu-riscv, Thomas Huth, Bastian Koppelmann,
	Cornelia Huck, Michael Walle, qemu-ppc, Aleksandar Markovic,
	Paolo Bonzini, Aurelien Jarno

Le 07/02/2020 à 15:11, Michael S. Tsirkin a écrit :
> On Fri, Feb 07, 2020 at 02:04:52PM +0100, Philippe Mathieu-Daudé wrote:
>> There's no good reason for it to be type int, change it to bool.
>>
>> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> 
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> 
>> ---
>> v3: new patch
>> ---
>>  include/hw/boards.h                      |  2 +-
>>  hw/alpha/dp264.c                         |  2 +-
>>  hw/cris/axis_dev88.c                     |  2 +-
>>  hw/hppa/machine.c                        |  2 +-
>>  hw/i386/pc_piix.c                        | 10 +++++-----
>>  hw/lm32/lm32_boards.c                    |  2 +-
>>  hw/m68k/mcf5208.c                        |  2 +-
>>  hw/microblaze/petalogix_s3adsp1800_mmu.c |  2 +-
>>  hw/mips/mips_malta.c                     |  2 +-
>>  hw/moxie/moxiesim.c                      |  2 +-
>>  hw/nios2/10m50_devboard.c                |  2 +-
>>  hw/openrisc/openrisc_sim.c               |  2 +-
>>  hw/ppc/mac_oldworld.c                    |  2 +-
>>  hw/ppc/spapr.c                           |  2 +-
>>  hw/riscv/spike.c                         |  2 +-
>>  hw/s390x/s390-virtio-ccw.c               |  2 +-
>>  hw/sh4/shix.c                            |  2 +-
>>  hw/sparc/sun4m.c                         |  2 +-
>>  hw/sparc64/niagara.c                     |  2 +-
>>  hw/sparc64/sun4u.c                       |  4 ++--
>>  hw/unicore32/puv3.c                      |  2 +-
>>  21 files changed, 26 insertions(+), 26 deletions(-)
>>
...
>> diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c
>> index 5eb2d097b9..81a1748fad 100644
>> --- a/hw/sparc64/niagara.c
>> +++ b/hw/sparc64/niagara.c
>> @@ -170,7 +170,7 @@ static void niagara_class_init(ObjectClass *oc, void *data)
>>  
>>      mc->desc = "Sun4v platform, Niagara";
>>      mc->init = niagara_init;
>> -    mc->max_cpus = 1; /* XXX for now */
>> +    mc->max_cpus = true; /* XXX for now */

what happened here ^^^

>>      mc->default_boot_order = "c";
>>      mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
>>  }
>> diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
>> index b7ac42f7a5..3c2c9d2eb0 100644
>> --- a/hw/sparc64/sun4u.c
>> +++ b/hw/sparc64/sun4u.c
>> @@ -816,7 +816,7 @@ static void sun4u_class_init(ObjectClass *oc, void *data)
>>      mc->init = sun4u_init;
>>      mc->block_default_type = IF_IDE;
>>      mc->max_cpus = 1; /* XXX for now */
>> -    mc->is_default = 1;
>> +    mc->is_default = true;
>>      mc->default_boot_order = "c";
>>      mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi");
>>      mc->ignore_boot_device_suffixes = true;
>> @@ -841,7 +841,7 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
>>      mc->desc = "Sun4v platform";
>>      mc->init = sun4v_init;
>>      mc->block_default_type = IF_IDE;
>> -    mc->max_cpus = 1; /* XXX for now */
>> +    mc->max_cpus = true; /* XXX for now */

and here ^^

Thanks,
Laurent



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type
  2020-02-07 14:22     ` Laurent Vivier
@ 2020-02-07 14:25       ` Michael S. Tsirkin
  2020-02-23  9:04         ` Paolo Bonzini
  2020-02-07 14:31       ` Philippe Mathieu-Daudé
  1 sibling, 1 reply; 10+ messages in thread
From: Michael S. Tsirkin @ 2020-02-07 14:25 UTC (permalink / raw)
  To: Laurent Vivier
  Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
	Mark Cave-Ayland, qemu-devel, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
	Aleksandar Rikalo, Richard Henderson, Philippe Mathieu-Daudé,
	Artyom Tarasenko, Eduardo Habkost, Richard Henderson, qemu-s390x,
	Stafford Horne, David Gibson, qemu-riscv, Thomas Huth,
	Bastian Koppelmann, Cornelia Huck, Michael Walle, qemu-ppc,
	Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno

On Fri, Feb 07, 2020 at 03:22:19PM +0100, Laurent Vivier wrote:
> Le 07/02/2020 à 15:11, Michael S. Tsirkin a écrit :
> > On Fri, Feb 07, 2020 at 02:04:52PM +0100, Philippe Mathieu-Daudé wrote:
> >> There's no good reason for it to be type int, change it to bool.
> >>
> >> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > 
> > Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> > 
> >> ---
> >> v3: new patch
> >> ---
> >>  include/hw/boards.h                      |  2 +-
> >>  hw/alpha/dp264.c                         |  2 +-
> >>  hw/cris/axis_dev88.c                     |  2 +-
> >>  hw/hppa/machine.c                        |  2 +-
> >>  hw/i386/pc_piix.c                        | 10 +++++-----
> >>  hw/lm32/lm32_boards.c                    |  2 +-
> >>  hw/m68k/mcf5208.c                        |  2 +-
> >>  hw/microblaze/petalogix_s3adsp1800_mmu.c |  2 +-
> >>  hw/mips/mips_malta.c                     |  2 +-
> >>  hw/moxie/moxiesim.c                      |  2 +-
> >>  hw/nios2/10m50_devboard.c                |  2 +-
> >>  hw/openrisc/openrisc_sim.c               |  2 +-
> >>  hw/ppc/mac_oldworld.c                    |  2 +-
> >>  hw/ppc/spapr.c                           |  2 +-
> >>  hw/riscv/spike.c                         |  2 +-
> >>  hw/s390x/s390-virtio-ccw.c               |  2 +-
> >>  hw/sh4/shix.c                            |  2 +-
> >>  hw/sparc/sun4m.c                         |  2 +-
> >>  hw/sparc64/niagara.c                     |  2 +-
> >>  hw/sparc64/sun4u.c                       |  4 ++--
> >>  hw/unicore32/puv3.c                      |  2 +-
> >>  21 files changed, 26 insertions(+), 26 deletions(-)
> >>
> ...
> >> diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c
> >> index 5eb2d097b9..81a1748fad 100644
> >> --- a/hw/sparc64/niagara.c
> >> +++ b/hw/sparc64/niagara.c
> >> @@ -170,7 +170,7 @@ static void niagara_class_init(ObjectClass *oc, void *data)
> >>  
> >>      mc->desc = "Sun4v platform, Niagara";
> >>      mc->init = niagara_init;
> >> -    mc->max_cpus = 1; /* XXX for now */
> >> +    mc->max_cpus = true; /* XXX for now */
> 
> what happened here ^^^
> 
> >>      mc->default_boot_order = "c";
> >>      mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
> >>  }
> >> diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
> >> index b7ac42f7a5..3c2c9d2eb0 100644
> >> --- a/hw/sparc64/sun4u.c
> >> +++ b/hw/sparc64/sun4u.c
> >> @@ -816,7 +816,7 @@ static void sun4u_class_init(ObjectClass *oc, void *data)
> >>      mc->init = sun4u_init;
> >>      mc->block_default_type = IF_IDE;
> >>      mc->max_cpus = 1; /* XXX for now */
> >> -    mc->is_default = 1;
> >> +    mc->is_default = true;
> >>      mc->default_boot_order = "c";
> >>      mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi");
> >>      mc->ignore_boot_device_suffixes = true;
> >> @@ -841,7 +841,7 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
> >>      mc->desc = "Sun4v platform";
> >>      mc->init = sun4v_init;
> >>      mc->block_default_type = IF_IDE;
> >> -    mc->max_cpus = 1; /* XXX for now */
> >> +    mc->max_cpus = true; /* XXX for now */
> 
> and here ^^
> 
> Thanks,
> Laurent

Ooh good catch. Which probably means we don't have a unit test for these
...



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type
  2020-02-07 14:22     ` Laurent Vivier
  2020-02-07 14:25       ` Michael S. Tsirkin
@ 2020-02-07 14:31       ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 14:31 UTC (permalink / raw)
  To: Laurent Vivier, Michael S. Tsirkin
  Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
	Mark Cave-Ayland, qemu-devel, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
	Aleksandar Rikalo, Richard Henderson, Artyom Tarasenko,
	Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
	David Gibson, qemu-riscv, Thomas Huth, Bastian Koppelmann,
	Cornelia Huck, Michael Walle, qemu-ppc, Aleksandar Markovic,
	Paolo Bonzini, Aurelien Jarno

On 2/7/20 3:22 PM, Laurent Vivier wrote:
> Le 07/02/2020 à 15:11, Michael S. Tsirkin a écrit :
>> On Fri, Feb 07, 2020 at 02:04:52PM +0100, Philippe Mathieu-Daudé wrote:
>>> There's no good reason for it to be type int, change it to bool.
>>>
>>> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>
>> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
>>
>>> ---
>>> v3: new patch
>>> ---
>>>   include/hw/boards.h                      |  2 +-
>>>   hw/alpha/dp264.c                         |  2 +-
>>>   hw/cris/axis_dev88.c                     |  2 +-
>>>   hw/hppa/machine.c                        |  2 +-
>>>   hw/i386/pc_piix.c                        | 10 +++++-----
>>>   hw/lm32/lm32_boards.c                    |  2 +-
>>>   hw/m68k/mcf5208.c                        |  2 +-
>>>   hw/microblaze/petalogix_s3adsp1800_mmu.c |  2 +-
>>>   hw/mips/mips_malta.c                     |  2 +-
>>>   hw/moxie/moxiesim.c                      |  2 +-
>>>   hw/nios2/10m50_devboard.c                |  2 +-
>>>   hw/openrisc/openrisc_sim.c               |  2 +-
>>>   hw/ppc/mac_oldworld.c                    |  2 +-
>>>   hw/ppc/spapr.c                           |  2 +-
>>>   hw/riscv/spike.c                         |  2 +-
>>>   hw/s390x/s390-virtio-ccw.c               |  2 +-
>>>   hw/sh4/shix.c                            |  2 +-
>>>   hw/sparc/sun4m.c                         |  2 +-
>>>   hw/sparc64/niagara.c                     |  2 +-
>>>   hw/sparc64/sun4u.c                       |  4 ++--
>>>   hw/unicore32/puv3.c                      |  2 +-
>>>   21 files changed, 26 insertions(+), 26 deletions(-)
>>>
> ...
>>> diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c
>>> index 5eb2d097b9..81a1748fad 100644
>>> --- a/hw/sparc64/niagara.c
>>> +++ b/hw/sparc64/niagara.c
>>> @@ -170,7 +170,7 @@ static void niagara_class_init(ObjectClass *oc, void *data)
>>>   
>>>       mc->desc = "Sun4v platform, Niagara";
>>>       mc->init = niagara_init;
>>> -    mc->max_cpus = 1; /* XXX for now */
>>> +    mc->max_cpus = true; /* XXX for now */
> 
> what happened here ^^^
> 
>>>       mc->default_boot_order = "c";
>>>       mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
>>>   }
>>> diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
>>> index b7ac42f7a5..3c2c9d2eb0 100644
>>> --- a/hw/sparc64/sun4u.c
>>> +++ b/hw/sparc64/sun4u.c
>>> @@ -816,7 +816,7 @@ static void sun4u_class_init(ObjectClass *oc, void *data)
>>>       mc->init = sun4u_init;
>>>       mc->block_default_type = IF_IDE;
>>>       mc->max_cpus = 1; /* XXX for now */
>>> -    mc->is_default = 1;
>>> +    mc->is_default = true;
>>>       mc->default_boot_order = "c";
>>>       mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi");
>>>       mc->ignore_boot_device_suffixes = true;
>>> @@ -841,7 +841,7 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
>>>       mc->desc = "Sun4v platform";
>>>       mc->init = sun4v_init;
>>>       mc->block_default_type = IF_IDE;
>>> -    mc->max_cpus = 1; /* XXX for now */
>>> +    mc->max_cpus = true; /* XXX for now */
> 
> and here ^^

lol too few cases so I was lazy to use a sed regex... v4 coming soon.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type
  2020-02-07 14:25       ` Michael S. Tsirkin
@ 2020-02-23  9:04         ` Paolo Bonzini
  0 siblings, 0 replies; 10+ messages in thread
From: Paolo Bonzini @ 2020-02-23  9:04 UTC (permalink / raw)
  To: Michael S. Tsirkin, Laurent Vivier
  Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
	Mark Cave-Ayland, qemu-devel, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
	Aleksandar Rikalo, Richard Henderson, Philippe Mathieu-Daudé,
	Artyom Tarasenko, Eduardo Habkost, Richard Henderson, qemu-s390x,
	Stafford Horne, David Gibson, qemu-riscv, Thomas Huth,
	Bastian Koppelmann, Cornelia Huck, Michael Walle, qemu-ppc,
	Aleksandar Markovic, Aurelien Jarno

On 07/02/20 15:25, Michael S. Tsirkin wrote:
>>>> @@ -841,7 +841,7 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
>>>>      mc->desc = "Sun4v platform";
>>>>      mc->init = sun4v_init;
>>>>      mc->block_default_type = IF_IDE;
>>>> -    mc->max_cpus = 1; /* XXX for now */
>>>> +    mc->max_cpus = true; /* XXX for now */
>>
>> and here ^^
>>
>> Thanks,
>> Laurent
> 
> Ooh good catch. Which probably means we don't have a unit test for these

"= true" just becomes "= 1".

Paolo



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-02-23  9:05 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-07 13:04 [PATCH v3 0/3] Make MachineClass::is_default boolean, refuse multiple default machines Philippe Mathieu-Daudé
2020-02-07 13:04 ` [PATCH v3 1/3] hw: Do not initialize MachineClass::is_default to 0 Philippe Mathieu-Daudé
2020-02-07 13:04 ` [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé
2020-02-07 14:11   ` Michael S. Tsirkin
2020-02-07 14:22     ` Laurent Vivier
2020-02-07 14:25       ` Michael S. Tsirkin
2020-02-23  9:04         ` Paolo Bonzini
2020-02-07 14:31       ` Philippe Mathieu-Daudé
2020-02-07 13:04 ` [PATCH v3 3/3] vl: Abort if multiple machines are registered as default Philippe Mathieu-Daudé
2020-02-07 14:11   ` Michael S. Tsirkin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).