All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/3] Make MachineClass::is_default boolean, refuse  multiple default machines
@ 2020-02-07 16:19 ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 42+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 16:19 UTC (permalink / raw)
  To: qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, Michael S. Tsirkin, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	David Hildenbrand, 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

Since v3:
- addressed Laurent & Michael comments

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                      |  4 +++-
 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/sun4u.c                       |  2 +-
 hw/tricore/tricore_testboard.c           |  1 -
 hw/unicore32/puv3.c                      |  2 +-
 vl.c                                     |  6 ++++--
 25 files changed, 30 insertions(+), 31 deletions(-)

-- 
2.21.1



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

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

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

Since v3:
- addressed Laurent & Michael comments

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                      |  4 +++-
 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/sun4u.c                       |  2 +-
 hw/tricore/tricore_testboard.c           |  1 -
 hw/unicore32/puv3.c                      |  2 +-
 vl.c                                     |  6 ++++--
 25 files changed, 30 insertions(+), 31 deletions(-)

-- 
2.21.1



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

* [PATCH v4 1/3] hw: Do not initialize MachineClass::is_default to 0
  2020-02-07 16:19 ` Philippe Mathieu-Daudé
@ 2020-02-07 16:19   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 42+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 16:19 UTC (permalink / raw)
  To: qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, Michael S. Tsirkin, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	David Hildenbrand, 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] 42+ messages in thread

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

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] 42+ messages in thread

* [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type
  2020-02-07 16:19 ` Philippe Mathieu-Daudé
@ 2020-02-07 16:19   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 42+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 16:19 UTC (permalink / raw)
  To: qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, Michael S. Tsirkin, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	David Hildenbrand, 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>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v4:
- fixed incorrect changes to max_cpus (Laurent)
- describe field
---
 include/hw/boards.h                      |  4 +++-
 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/sun4u.c                       |  2 +-
 hw/unicore32/puv3.c                      |  2 +-
 20 files changed, 26 insertions(+), 24 deletions(-)

diff --git a/include/hw/boards.h b/include/hw/boards.h
index fb1b43d5b9..c3523a70e8 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -107,6 +107,8 @@ typedef struct {
  * @max_cpus: maximum number of CPUs supported. Default: 1
  * @min_cpus: minimum number of CPUs supported. Default: 1
  * @default_cpus: number of CPUs instantiated if none are specified. Default: 1
+ * @is_default:
+ *    If true QEMU will use this machine by default if no '-M' option is given.
  * @get_hotplug_handler: this function is called during bus-less
  *    device hotplug. If defined it returns pointer to an instance
  *    of HotplugHandler object, which handles hotplug operation
@@ -200,7 +202,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/sun4u.c b/hw/sparc64/sun4u.c
index b7ac42f7a5..d33e84f831 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;
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] 42+ messages in thread

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

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

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v4:
- fixed incorrect changes to max_cpus (Laurent)
- describe field
---
 include/hw/boards.h                      |  4 +++-
 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/sun4u.c                       |  2 +-
 hw/unicore32/puv3.c                      |  2 +-
 20 files changed, 26 insertions(+), 24 deletions(-)

diff --git a/include/hw/boards.h b/include/hw/boards.h
index fb1b43d5b9..c3523a70e8 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -107,6 +107,8 @@ typedef struct {
  * @max_cpus: maximum number of CPUs supported. Default: 1
  * @min_cpus: minimum number of CPUs supported. Default: 1
  * @default_cpus: number of CPUs instantiated if none are specified. Default: 1
+ * @is_default:
+ *    If true QEMU will use this machine by default if no '-M' option is given.
  * @get_hotplug_handler: this function is called during bus-less
  *    device hotplug. If defined it returns pointer to an instance
  *    of HotplugHandler object, which handles hotplug operation
@@ -200,7 +202,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/sun4u.c b/hw/sparc64/sun4u.c
index b7ac42f7a5..d33e84f831 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;
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] 42+ messages in thread

* [PATCH v4 3/3] vl: Abort if multiple machines are registered as default
  2020-02-07 16:19 ` Philippe Mathieu-Daudé
@ 2020-02-07 16:19   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 42+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 16:19 UTC (permalink / raw)
  To: qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, Michael S. Tsirkin, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	David Hildenbrand, 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é)
v3: Move the check to find_machine() (Michael)

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

diff --git a/vl.c b/vl.c
index 7dcb0879c4..ebc203af0d 100644
--- a/vl.c
+++ b/vl.c
@@ -1184,16 +1184,18 @@ static MachineClass *find_machine(const char *name, GSList *machines)
 static MachineClass *find_default_machine(GSList *machines)
 {
     GSList *el;
+    MachineClass *default_machineclass = NULL;
 
     for (el = machines; el; el = el->next) {
         MachineClass *mc = el->data;
 
         if (mc->is_default) {
-            return mc;
+            assert(default_machineclass == NULL && "Multiple default machines");
+            default_machineclass = mc;
         }
     }
 
-    return NULL;
+    return default_machineclass;
 }
 
 static int machine_help_func(QemuOpts *opts, MachineState *machine)
-- 
2.21.1



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

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

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é)
v3: Move the check to find_machine() (Michael)

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

diff --git a/vl.c b/vl.c
index 7dcb0879c4..ebc203af0d 100644
--- a/vl.c
+++ b/vl.c
@@ -1184,16 +1184,18 @@ static MachineClass *find_machine(const char *name, GSList *machines)
 static MachineClass *find_default_machine(GSList *machines)
 {
     GSList *el;
+    MachineClass *default_machineclass = NULL;
 
     for (el = machines; el; el = el->next) {
         MachineClass *mc = el->data;
 
         if (mc->is_default) {
-            return mc;
+            assert(default_machineclass == NULL && "Multiple default machines");
+            default_machineclass = mc;
         }
     }
 
-    return NULL;
+    return default_machineclass;
 }
 
 static int machine_help_func(QemuOpts *opts, MachineState *machine)
-- 
2.21.1



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

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

On Fri, Feb 7, 2020 at 5:21 PM Philippe Mathieu-Daudé <philmd@redhat.com> 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é)
> v3: Move the check to find_machine() (Michael)
>
> Cc: Marc-André Lureau <marcandre.lureau@gmail.com>
> Cc: Laurent Vivier <laurent@vivier.eu>
> Cc: Michael S. Tsirkin <mst@redhat.com>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>


> ---
>  vl.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index 7dcb0879c4..ebc203af0d 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1184,16 +1184,18 @@ static MachineClass *find_machine(const char *name, GSList *machines)
>  static MachineClass *find_default_machine(GSList *machines)
>  {
>      GSList *el;
> +    MachineClass *default_machineclass = NULL;
>
>      for (el = machines; el; el = el->next) {
>          MachineClass *mc = el->data;
>
>          if (mc->is_default) {
> -            return mc;
> +            assert(default_machineclass == NULL && "Multiple default machines");
> +            default_machineclass = mc;
>          }
>      }
>
> -    return NULL;
> +    return default_machineclass;
>  }
>
>  static int machine_help_func(QemuOpts *opts, MachineState *machine)
> --
> 2.21.1
>


-- 
Marc-André Lureau


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

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

On Fri, Feb 7, 2020 at 5:21 PM Philippe Mathieu-Daudé <philmd@redhat.com> 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é)
> v3: Move the check to find_machine() (Michael)
>
> Cc: Marc-André Lureau <marcandre.lureau@gmail.com>
> Cc: Laurent Vivier <laurent@vivier.eu>
> Cc: Michael S. Tsirkin <mst@redhat.com>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>


> ---
>  vl.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index 7dcb0879c4..ebc203af0d 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1184,16 +1184,18 @@ static MachineClass *find_machine(const char *name, GSList *machines)
>  static MachineClass *find_default_machine(GSList *machines)
>  {
>      GSList *el;
> +    MachineClass *default_machineclass = NULL;
>
>      for (el = machines; el; el = el->next) {
>          MachineClass *mc = el->data;
>
>          if (mc->is_default) {
> -            return mc;
> +            assert(default_machineclass == NULL && "Multiple default machines");
> +            default_machineclass = mc;
>          }
>      }
>
> -    return NULL;
> +    return default_machineclass;
>  }
>
>  static int machine_help_func(QemuOpts *opts, MachineState *machine)
> --
> 2.21.1
>


-- 
Marc-André Lureau


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

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

On Fri, Feb 7, 2020 at 5:21 PM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> There's no good reason for it to be type int, change it to bool.
>
> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>


> ---
> v4:
> - fixed incorrect changes to max_cpus (Laurent)
> - describe field
> ---
>  include/hw/boards.h                      |  4 +++-
>  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/sun4u.c                       |  2 +-
>  hw/unicore32/puv3.c                      |  2 +-
>  20 files changed, 26 insertions(+), 24 deletions(-)
>
> diff --git a/include/hw/boards.h b/include/hw/boards.h
> index fb1b43d5b9..c3523a70e8 100644
> --- a/include/hw/boards.h
> +++ b/include/hw/boards.h
> @@ -107,6 +107,8 @@ typedef struct {
>   * @max_cpus: maximum number of CPUs supported. Default: 1
>   * @min_cpus: minimum number of CPUs supported. Default: 1
>   * @default_cpus: number of CPUs instantiated if none are specified. Default: 1
> + * @is_default:
> + *    If true QEMU will use this machine by default if no '-M' option is given.
>   * @get_hotplug_handler: this function is called during bus-less
>   *    device hotplug. If defined it returns pointer to an instance
>   *    of HotplugHandler object, which handles hotplug operation
> @@ -200,7 +202,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/sun4u.c b/hw/sparc64/sun4u.c
> index b7ac42f7a5..d33e84f831 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;
> 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
>
>


-- 
Marc-André Lureau


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

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

On Fri, Feb 7, 2020 at 5:21 PM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> There's no good reason for it to be type int, change it to bool.
>
> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>


> ---
> v4:
> - fixed incorrect changes to max_cpus (Laurent)
> - describe field
> ---
>  include/hw/boards.h                      |  4 +++-
>  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/sun4u.c                       |  2 +-
>  hw/unicore32/puv3.c                      |  2 +-
>  20 files changed, 26 insertions(+), 24 deletions(-)
>
> diff --git a/include/hw/boards.h b/include/hw/boards.h
> index fb1b43d5b9..c3523a70e8 100644
> --- a/include/hw/boards.h
> +++ b/include/hw/boards.h
> @@ -107,6 +107,8 @@ typedef struct {
>   * @max_cpus: maximum number of CPUs supported. Default: 1
>   * @min_cpus: minimum number of CPUs supported. Default: 1
>   * @default_cpus: number of CPUs instantiated if none are specified. Default: 1
> + * @is_default:
> + *    If true QEMU will use this machine by default if no '-M' option is given.
>   * @get_hotplug_handler: this function is called during bus-less
>   *    device hotplug. If defined it returns pointer to an instance
>   *    of HotplugHandler object, which handles hotplug operation
> @@ -200,7 +202,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/sun4u.c b/hw/sparc64/sun4u.c
> index b7ac42f7a5..d33e84f831 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;
> 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
>
>


-- 
Marc-André Lureau


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

* Re: [PATCH v4 1/3] hw: Do not initialize MachineClass::is_default to 0
  2020-02-07 16:19   ` Philippe Mathieu-Daudé
@ 2020-02-07 17:44     ` Laurent Vivier
  -1 siblings, 0 replies; 42+ messages in thread
From: Laurent Vivier @ 2020-02-07 17:44 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, Michael S. Tsirkin, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	David Hildenbrand, 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 à 17:19, Philippe Mathieu-Daudé a écrit :
> 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");
>  }
>  
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>


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

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

Le 07/02/2020 à 17:19, Philippe Mathieu-Daudé a écrit :
> 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");
>  }
>  
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>


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

* Re: [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type
  2020-02-07 16:19   ` Philippe Mathieu-Daudé
@ 2020-02-07 17:48     ` Laurent Vivier
  -1 siblings, 0 replies; 42+ messages in thread
From: Laurent Vivier @ 2020-02-07 17:48 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, Michael S. Tsirkin, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	David Hildenbrand, 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 à 17:19, Philippe Mathieu-Daudé a écrit :
> There's no good reason for it to be type int, change it to bool.
> 
> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v4:
> - fixed incorrect changes to max_cpus (Laurent)
> - describe field
> ---
>  include/hw/boards.h                      |  4 +++-
>  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/sun4u.c                       |  2 +-
>  hw/unicore32/puv3.c                      |  2 +-
>  20 files changed, 26 insertions(+), 24 deletions(-)
> 
> diff --git a/include/hw/boards.h b/include/hw/boards.h
> index fb1b43d5b9..c3523a70e8 100644
> --- a/include/hw/boards.h
> +++ b/include/hw/boards.h
> @@ -107,6 +107,8 @@ typedef struct {
>   * @max_cpus: maximum number of CPUs supported. Default: 1
>   * @min_cpus: minimum number of CPUs supported. Default: 1
>   * @default_cpus: number of CPUs instantiated if none are specified. Default: 1
> + * @is_default:
> + *    If true QEMU will use this machine by default if no '-M' option is given.
>   * @get_hotplug_handler: this function is called during bus-less
>   *    device hotplug. If defined it returns pointer to an instance
>   *    of HotplugHandler object, which handles hotplug operation
> @@ -200,7 +202,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/sun4u.c b/hw/sparc64/sun4u.c
> index b7ac42f7a5..d33e84f831 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;
> 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");
>  }
>  
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>


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

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

Le 07/02/2020 à 17:19, Philippe Mathieu-Daudé a écrit :
> There's no good reason for it to be type int, change it to bool.
> 
> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v4:
> - fixed incorrect changes to max_cpus (Laurent)
> - describe field
> ---
>  include/hw/boards.h                      |  4 +++-
>  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/sun4u.c                       |  2 +-
>  hw/unicore32/puv3.c                      |  2 +-
>  20 files changed, 26 insertions(+), 24 deletions(-)
> 
> diff --git a/include/hw/boards.h b/include/hw/boards.h
> index fb1b43d5b9..c3523a70e8 100644
> --- a/include/hw/boards.h
> +++ b/include/hw/boards.h
> @@ -107,6 +107,8 @@ typedef struct {
>   * @max_cpus: maximum number of CPUs supported. Default: 1
>   * @min_cpus: minimum number of CPUs supported. Default: 1
>   * @default_cpus: number of CPUs instantiated if none are specified. Default: 1
> + * @is_default:
> + *    If true QEMU will use this machine by default if no '-M' option is given.
>   * @get_hotplug_handler: this function is called during bus-less
>   *    device hotplug. If defined it returns pointer to an instance
>   *    of HotplugHandler object, which handles hotplug operation
> @@ -200,7 +202,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/sun4u.c b/hw/sparc64/sun4u.c
> index b7ac42f7a5..d33e84f831 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;
> 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");
>  }
>  
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>


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

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

On Fri, Feb 07, 2020 at 05:19:45PM +0100, Philippe Mathieu-Daudé wrote:
> Cleanup after reviewing "ppc: function to setup latest class options":
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg677709.html
> 
> Since v3:
> - addressed Laurent & Michael comments

Queued, thanks!

-- 
Eduardo



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

* Re: [PATCH v4 0/3] Make MachineClass::is_default boolean, refuse multiple default machines
@ 2020-02-07 18:03   ` Eduardo Habkost
  0 siblings, 0 replies; 42+ messages in thread
From: Eduardo Habkost @ 2020-02-07 18:03 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Chris Wulff, Sagar Karandikar, Michael S. Tsirkin,
	Anthony Green, Mark Cave-Ayland, Alistair Francis,
	Edgar E. Iglesias, Guan Xuetao, Marek Vasut, Jia Liu,
	qemu-trivial, Helge Deller, David Hildenbrand, Magnus Damm,
	Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
	Aleksandar Rikalo, Richard Henderson, Artyom Tarasenko,
	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 05:19:45PM +0100, Philippe Mathieu-Daudé wrote:
> Cleanup after reviewing "ppc: function to setup latest class options":
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg677709.html
> 
> Since v3:
> - addressed Laurent & Michael comments

Queued, thanks!

-- 
Eduardo



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

* Re: [PATCH v4 3/3] vl: Abort if multiple machines are registered as default
  2020-02-07 16:19   ` Philippe Mathieu-Daudé
@ 2020-02-07 18:05     ` Laurent Vivier
  -1 siblings, 0 replies; 42+ messages in thread
From: Laurent Vivier @ 2020-02-07 18:05 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, Michael S. Tsirkin, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	David Hildenbrand, 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, Michael Walle, qemu-ppc,
	Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno

Le 07/02/2020 à 17:19, Philippe Mathieu-Daudé a écrit :
> 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é)
> v3: Move the check to find_machine() (Michael)
> 
> Cc: Marc-André Lureau <marcandre.lureau@gmail.com>
> Cc: Laurent Vivier <laurent@vivier.eu>
> Cc: Michael S. Tsirkin <mst@redhat.com>
> ---
>  vl.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/vl.c b/vl.c
> index 7dcb0879c4..ebc203af0d 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1184,16 +1184,18 @@ static MachineClass *find_machine(const char *name, GSList *machines)
>  static MachineClass *find_default_machine(GSList *machines)
>  {
>      GSList *el;
> +    MachineClass *default_machineclass = NULL;
>  
>      for (el = machines; el; el = el->next) {
>          MachineClass *mc = el->data;
>  
>          if (mc->is_default) {
> -            return mc;
> +            assert(default_machineclass == NULL && "Multiple default machines");
> +            default_machineclass = mc;
>          }
>      }
>  
> -    return NULL;
> +    return default_machineclass;
>  }
>  
>  static int machine_help_func(QemuOpts *opts, MachineState *machine)
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Tested-by: Laurent Vivier <laurent@vivier.eu>

I've tested "make check" actually fails when we have several default
machines.

Thanks,
Laurent


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

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

Le 07/02/2020 à 17:19, Philippe Mathieu-Daudé a écrit :
> 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é)
> v3: Move the check to find_machine() (Michael)
> 
> Cc: Marc-André Lureau <marcandre.lureau@gmail.com>
> Cc: Laurent Vivier <laurent@vivier.eu>
> Cc: Michael S. Tsirkin <mst@redhat.com>
> ---
>  vl.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/vl.c b/vl.c
> index 7dcb0879c4..ebc203af0d 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1184,16 +1184,18 @@ static MachineClass *find_machine(const char *name, GSList *machines)
>  static MachineClass *find_default_machine(GSList *machines)
>  {
>      GSList *el;
> +    MachineClass *default_machineclass = NULL;
>  
>      for (el = machines; el; el = el->next) {
>          MachineClass *mc = el->data;
>  
>          if (mc->is_default) {
> -            return mc;
> +            assert(default_machineclass == NULL && "Multiple default machines");
> +            default_machineclass = mc;
>          }
>      }
>  
> -    return NULL;
> +    return default_machineclass;
>  }
>  
>  static int machine_help_func(QemuOpts *opts, MachineState *machine)
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Tested-by: Laurent Vivier <laurent@vivier.eu>

I've tested "make check" actually fails when we have several default
machines.

Thanks,
Laurent


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

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

[-- Attachment #1: Type: text/plain, Size: 3308 bytes --]

On Fri, Feb 07, 2020 at 05:19:46PM +0100, Philippe Mathieu-Daudé wrote:
> 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>

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>

> ---
> 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");
>  }
>  

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

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

[-- Attachment #1: Type: text/plain, Size: 3308 bytes --]

On Fri, Feb 07, 2020 at 05:19:46PM +0100, Philippe Mathieu-Daudé wrote:
> 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>

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>

> ---
> 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");
>  }
>  

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

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

[-- Attachment #1: Type: text/plain, Size: 14388 bytes --]

On Fri, Feb 07, 2020 at 05:19:47PM +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>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>

and ppc parts

Acked-by: David Gibson <david@gibson.dropbear.id.au>

> ---
> v4:
> - fixed incorrect changes to max_cpus (Laurent)
> - describe field
> ---
>  include/hw/boards.h                      |  4 +++-
>  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/sun4u.c                       |  2 +-
>  hw/unicore32/puv3.c                      |  2 +-
>  20 files changed, 26 insertions(+), 24 deletions(-)
> 
> diff --git a/include/hw/boards.h b/include/hw/boards.h
> index fb1b43d5b9..c3523a70e8 100644
> --- a/include/hw/boards.h
> +++ b/include/hw/boards.h
> @@ -107,6 +107,8 @@ typedef struct {
>   * @max_cpus: maximum number of CPUs supported. Default: 1
>   * @min_cpus: minimum number of CPUs supported. Default: 1
>   * @default_cpus: number of CPUs instantiated if none are specified. Default: 1
> + * @is_default:
> + *    If true QEMU will use this machine by default if no '-M' option is given.
>   * @get_hotplug_handler: this function is called during bus-less
>   *    device hotplug. If defined it returns pointer to an instance
>   *    of HotplugHandler object, which handles hotplug operation
> @@ -200,7 +202,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/sun4u.c b/hw/sparc64/sun4u.c
> index b7ac42f7a5..d33e84f831 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;
> 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");
>  }
>  

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

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

[-- Attachment #1: Type: text/plain, Size: 14388 bytes --]

On Fri, Feb 07, 2020 at 05:19:47PM +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>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>

and ppc parts

Acked-by: David Gibson <david@gibson.dropbear.id.au>

> ---
> v4:
> - fixed incorrect changes to max_cpus (Laurent)
> - describe field
> ---
>  include/hw/boards.h                      |  4 +++-
>  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/sun4u.c                       |  2 +-
>  hw/unicore32/puv3.c                      |  2 +-
>  20 files changed, 26 insertions(+), 24 deletions(-)
> 
> diff --git a/include/hw/boards.h b/include/hw/boards.h
> index fb1b43d5b9..c3523a70e8 100644
> --- a/include/hw/boards.h
> +++ b/include/hw/boards.h
> @@ -107,6 +107,8 @@ typedef struct {
>   * @max_cpus: maximum number of CPUs supported. Default: 1
>   * @min_cpus: minimum number of CPUs supported. Default: 1
>   * @default_cpus: number of CPUs instantiated if none are specified. Default: 1
> + * @is_default:
> + *    If true QEMU will use this machine by default if no '-M' option is given.
>   * @get_hotplug_handler: this function is called during bus-less
>   *    device hotplug. If defined it returns pointer to an instance
>   *    of HotplugHandler object, which handles hotplug operation
> @@ -200,7 +202,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/sun4u.c b/hw/sparc64/sun4u.c
> index b7ac42f7a5..d33e84f831 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;
> 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");
>  }
>  

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

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

[-- Attachment #1: Type: text/plain, Size: 1627 bytes --]

On Fri, Feb 07, 2020 at 05:19:48PM +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>

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>

> ---
> v2: Use assert() instead of human friendly message (Marc-André)
> v3: Move the check to find_machine() (Michael)
> 
> Cc: Marc-André Lureau <marcandre.lureau@gmail.com>
> Cc: Laurent Vivier <laurent@vivier.eu>
> Cc: Michael S. Tsirkin <mst@redhat.com>
> ---
>  vl.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/vl.c b/vl.c
> index 7dcb0879c4..ebc203af0d 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1184,16 +1184,18 @@ static MachineClass *find_machine(const char *name, GSList *machines)
>  static MachineClass *find_default_machine(GSList *machines)
>  {
>      GSList *el;
> +    MachineClass *default_machineclass = NULL;
>  
>      for (el = machines; el; el = el->next) {
>          MachineClass *mc = el->data;
>  
>          if (mc->is_default) {
> -            return mc;
> +            assert(default_machineclass == NULL && "Multiple default machines");
> +            default_machineclass = mc;
>          }
>      }
>  
> -    return NULL;
> +    return default_machineclass;
>  }
>  
>  static int machine_help_func(QemuOpts *opts, MachineState *machine)

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

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

[-- Attachment #1: Type: text/plain, Size: 1627 bytes --]

On Fri, Feb 07, 2020 at 05:19:48PM +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>

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>

> ---
> v2: Use assert() instead of human friendly message (Marc-André)
> v3: Move the check to find_machine() (Michael)
> 
> Cc: Marc-André Lureau <marcandre.lureau@gmail.com>
> Cc: Laurent Vivier <laurent@vivier.eu>
> Cc: Michael S. Tsirkin <mst@redhat.com>
> ---
>  vl.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/vl.c b/vl.c
> index 7dcb0879c4..ebc203af0d 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1184,16 +1184,18 @@ static MachineClass *find_machine(const char *name, GSList *machines)
>  static MachineClass *find_default_machine(GSList *machines)
>  {
>      GSList *el;
> +    MachineClass *default_machineclass = NULL;
>  
>      for (el = machines; el; el = el->next) {
>          MachineClass *mc = el->data;
>  
>          if (mc->is_default) {
> -            return mc;
> +            assert(default_machineclass == NULL && "Multiple default machines");
> +            default_machineclass = mc;
>          }
>      }
>  
> -    return NULL;
> +    return default_machineclass;
>  }
>  
>  static int machine_help_func(QemuOpts *opts, MachineState *machine)

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type
  2020-02-07 16:19   ` Philippe Mathieu-Daudé
@ 2020-02-10  8:51     ` Cornelia Huck
  -1 siblings, 0 replies; 42+ messages in thread
From: Cornelia Huck @ 2020-02-10  8:51 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Sagar Karandikar, Michael S. Tsirkin, Anthony Green,
	Mark Cave-Ayland, qemu-devel, Alistair Francis,
	Edgar E. Iglesias, Guan Xuetao, Marek Vasut, Jia Liu,
	qemu-trivial, Helge Deller, David Hildenbrand, 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,
	Chris Wulff, Laurent Vivier, Michael Walle, qemu-ppc,
	Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno

On Fri,  7 Feb 2020 17:19:47 +0100
Philippe Mathieu-Daudé <philmd@redhat.com> wrote:

> There's no good reason for it to be type int, change it to bool.
> 
> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v4:
> - fixed incorrect changes to max_cpus (Laurent)
> - describe field
> ---
>  include/hw/boards.h                      |  4 +++-
>  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/sun4u.c                       |  2 +-
>  hw/unicore32/puv3.c                      |  2 +-
>  20 files changed, 26 insertions(+), 24 deletions(-)

s390 part:

Acked-by: Cornelia Huck <cohuck@redhat.com>



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

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

On Fri,  7 Feb 2020 17:19:47 +0100
Philippe Mathieu-Daudé <philmd@redhat.com> wrote:

> There's no good reason for it to be type int, change it to bool.
> 
> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v4:
> - fixed incorrect changes to max_cpus (Laurent)
> - describe field
> ---
>  include/hw/boards.h                      |  4 +++-
>  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/sun4u.c                       |  2 +-
>  hw/unicore32/puv3.c                      |  2 +-
>  20 files changed, 26 insertions(+), 24 deletions(-)

s390 part:

Acked-by: Cornelia Huck <cohuck@redhat.com>



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

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

On 07/02/2020 17.19, 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>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v4:
> - fixed incorrect changes to max_cpus (Laurent)
> - describe field
> ---
[...]
> 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);

Since we're calling pc_i440fx_4_2_machine_options() here...

>      m->alias = NULL;
> -    m->is_default = 0;
> +    m->is_default = false;

... you could even remove this line now...

>      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;

... and this one, too.

>      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;

dito.

But that could also be done in a later patch, so:

Reviewed-by: Thomas Huth <thuth@redhat.com>



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

* Re: [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type
@ 2020-02-10  9:22     ` Thomas Huth
  0 siblings, 0 replies; 42+ messages in thread
From: Thomas Huth @ 2020-02-10  9:22 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, Michael S. Tsirkin, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	David Hildenbrand, Magnus Damm, Halil Pasic,
	Christian Borntraeger, Marcel Apfelbaum, 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 07/02/2020 17.19, 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>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v4:
> - fixed incorrect changes to max_cpus (Laurent)
> - describe field
> ---
[...]
> 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);

Since we're calling pc_i440fx_4_2_machine_options() here...

>      m->alias = NULL;
> -    m->is_default = 0;
> +    m->is_default = false;

... you could even remove this line now...

>      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;

... and this one, too.

>      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;

dito.

But that could also be done in a later patch, so:

Reviewed-by: Thomas Huth <thuth@redhat.com>



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

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

On 07/02/2020 17.19, Philippe Mathieu-Daudé wrote:
> 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/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");
>  }

I wonder whether we should simply make that machine the default for
qemu-system-tricore? There is only one machine here, and not having a
default machine always causes some headaches in the tests...
(see e.g. tests/qemu-iotests/check for example)

 Thomas



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

* Tricore default machine (was: [PATCH v4 1/3] hw: Do not initialize MachineClass::is_default to 0)
@ 2020-02-10  9:35     ` Thomas Huth
  0 siblings, 0 replies; 42+ messages in thread
From: Thomas Huth @ 2020-02-10  9:35 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, Michael S. Tsirkin, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	David Hildenbrand, Magnus Damm, Halil Pasic,
	Christian Borntraeger, Marcel Apfelbaum, 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 07/02/2020 17.19, Philippe Mathieu-Daudé wrote:
> 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/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");
>  }

I wonder whether we should simply make that machine the default for
qemu-system-tricore? There is only one machine here, and not having a
default machine always causes some headaches in the tests...
(see e.g. tests/qemu-iotests/check for example)

 Thomas



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

* Re: Tricore default machine
  2020-02-10  9:35     ` Thomas Huth
@ 2020-02-10 10:08       ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 42+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-10 10:08 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel
  Cc: Cornelia Huck, Sagar Karandikar, Michael S. Tsirkin,
	Anthony Green, Mark Cave-Ayland, Alistair Francis,
	Edgar E. Iglesias, Guan Xuetao, Marek Vasut, Jia Liu,
	qemu-trivial, Helge Deller, David Hildenbrand, Magnus Damm,
	Halil Pasic, Christian Borntraeger, qemu-ppc, Aleksandar Rikalo,
	David Gibson, Artyom Tarasenko, Eduardo Habkost,
	Richard Henderson, qemu-s390x, Stafford Horne, Richard Henderson,
	qemu-riscv, Thomas Huth, Bastian Koppelmann, Chris Wulff,
	Laurent Vivier, Michael Walle, Palmer Dabbelt,
	Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno

On 2/10/20 10:35 AM, Thomas Huth wrote:
> On 07/02/2020 17.19, Philippe Mathieu-Daudé wrote:
>> 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/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");
>>   }
> 
> I wonder whether we should simply make that machine the default for
> qemu-system-tricore? There is only one machine here, and not having a
> default machine always causes some headaches in the tests...
> (see e.g. tests/qemu-iotests/check for example)

Or make it generic? If a architecture has a single machine, use it by 
default?



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

* Re: Tricore default machine
@ 2020-02-10 10:08       ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 42+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-10 10:08 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, Michael S. Tsirkin, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	David Hildenbrand, Magnus Damm, Halil Pasic,
	Christian Borntraeger, Marcel Apfelbaum, 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 2/10/20 10:35 AM, Thomas Huth wrote:
> On 07/02/2020 17.19, Philippe Mathieu-Daudé wrote:
>> 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/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");
>>   }
> 
> I wonder whether we should simply make that machine the default for
> qemu-system-tricore? There is only one machine here, and not having a
> default machine always causes some headaches in the tests...
> (see e.g. tests/qemu-iotests/check for example)

Or make it generic? If a architecture has a single machine, use it by 
default?



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

* Re: Tricore default machine
  2020-02-10 10:08       ` Philippe Mathieu-Daudé
@ 2020-02-10 10:26         ` Thomas Huth
  -1 siblings, 0 replies; 42+ messages in thread
From: Thomas Huth @ 2020-02-10 10:26 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, Michael S. Tsirkin, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	David Hildenbrand, 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 10/02/2020 11.08, Philippe Mathieu-Daudé wrote:
> On 2/10/20 10:35 AM, Thomas Huth wrote:
>> On 07/02/2020 17.19, Philippe Mathieu-Daudé wrote:
>>> 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/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");
>>>   }
>>
>> I wonder whether we should simply make that machine the default for
>> qemu-system-tricore? There is only one machine here, and not having a
>> default machine always causes some headaches in the tests...
>> (see e.g. tests/qemu-iotests/check for example)
> 
> Or make it generic? If a architecture has a single machine, use it by
> default?

Sounds like a good idea, too ... we've got a couple of targets that have
only one machine.

 Thomas



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

* Re: Tricore default machine
@ 2020-02-10 10:26         ` Thomas Huth
  0 siblings, 0 replies; 42+ messages in thread
From: Thomas Huth @ 2020-02-10 10:26 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Cornelia Huck, Sagar Karandikar, Michael S. Tsirkin,
	Anthony Green, Mark Cave-Ayland, Alistair Francis,
	Edgar E. Iglesias, Guan Xuetao, Marek Vasut, Jia Liu,
	qemu-trivial, Helge Deller, David Hildenbrand, Magnus Damm,
	Halil Pasic, Christian Borntraeger, Marcel Apfelbaum, qemu-ppc,
	Aleksandar Rikalo, David Gibson, Artyom Tarasenko,
	Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
	Richard Henderson, qemu-riscv, Thomas Huth, Bastian Koppelmann,
	Chris Wulff, Laurent Vivier, Michael Walle, Palmer Dabbelt,
	Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno

On 10/02/2020 11.08, Philippe Mathieu-Daudé wrote:
> On 2/10/20 10:35 AM, Thomas Huth wrote:
>> On 07/02/2020 17.19, Philippe Mathieu-Daudé wrote:
>>> 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/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");
>>>   }
>>
>> I wonder whether we should simply make that machine the default for
>> qemu-system-tricore? There is only one machine here, and not having a
>> default machine always causes some headaches in the tests...
>> (see e.g. tests/qemu-iotests/check for example)
> 
> Or make it generic? If a architecture has a single machine, use it by
> default?

Sounds like a good idea, too ... we've got a couple of targets that have
only one machine.

 Thomas



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

* Re: Tricore default machine
  2020-02-10 10:26         ` Thomas Huth
@ 2020-02-10 12:31           ` Bastian Koppelmann
  -1 siblings, 0 replies; 42+ messages in thread
From: Bastian Koppelmann @ 2020-02-10 12:31 UTC (permalink / raw)
  To: Thomas Huth, Philippe Mathieu-Daudé, qemu-devel
  Cc: Chris Wulff, Sagar Karandikar, Michael S. Tsirkin, Anthony Green,
	Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
	Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
	David Hildenbrand, 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, Cornelia Huck, Laurent Vivier,
	Michael Walle, qemu-ppc, Aleksandar Markovic, Paolo Bonzini,
	Aurelien Jarno


On 2/10/20 11:26 AM, Thomas Huth wrote:
> On 10/02/2020 11.08, Philippe Mathieu-Daudé wrote:
>> On 2/10/20 10:35 AM, Thomas Huth wrote:
>>> On 07/02/2020 17.19, Philippe Mathieu-Daudé wrote:
>>>> 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/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");
>>>>    }
>>> I wonder whether we should simply make that machine the default for
>>> qemu-system-tricore? There is only one machine here, and not having a
>>> default machine always causes some headaches in the tests...
>>> (see e.g. tests/qemu-iotests/check for example)
>> Or make it generic? If a architecture has a single machine, use it by
>> default?
> Sounds like a good idea, too ... we've got a couple of targets that have
> only one machine.


As far as I remember, I did not make it the default machine, since Peter 
Maydell advised against it. His argument was that defaults are really 
hard to get rid off since external tools (like libvirt) might rely on 
the defaults and we don't want to break those. Anyways, no objections 
from my side.

Cheers,

Bastian




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

* Re: Tricore default machine
@ 2020-02-10 12:31           ` Bastian Koppelmann
  0 siblings, 0 replies; 42+ messages in thread
From: Bastian Koppelmann @ 2020-02-10 12:31 UTC (permalink / raw)
  To: Thomas Huth, Philippe Mathieu-Daudé, qemu-devel
  Cc: Cornelia Huck, Sagar Karandikar, Michael S. Tsirkin,
	Anthony Green, Mark Cave-Ayland, Alistair Francis,
	Edgar E. Iglesias, Guan Xuetao, Marek Vasut, Jia Liu,
	qemu-trivial, Helge Deller, David Hildenbrand, Magnus Damm,
	Halil Pasic, Christian Borntraeger, Marcel Apfelbaum, qemu-ppc,
	Aleksandar Rikalo, David Gibson, Artyom Tarasenko,
	Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
	Richard Henderson, qemu-riscv, Thomas Huth, Chris Wulff,
	Laurent Vivier, Michael Walle, Palmer Dabbelt,
	Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno


On 2/10/20 11:26 AM, Thomas Huth wrote:
> On 10/02/2020 11.08, Philippe Mathieu-Daudé wrote:
>> On 2/10/20 10:35 AM, Thomas Huth wrote:
>>> On 07/02/2020 17.19, Philippe Mathieu-Daudé wrote:
>>>> 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/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");
>>>>    }
>>> I wonder whether we should simply make that machine the default for
>>> qemu-system-tricore? There is only one machine here, and not having a
>>> default machine always causes some headaches in the tests...
>>> (see e.g. tests/qemu-iotests/check for example)
>> Or make it generic? If a architecture has a single machine, use it by
>> default?
> Sounds like a good idea, too ... we've got a couple of targets that have
> only one machine.


As far as I remember, I did not make it the default machine, since Peter 
Maydell advised against it. His argument was that defaults are really 
hard to get rid off since external tools (like libvirt) might rely on 
the defaults and we don't want to break those. Anyways, no objections 
from my side.

Cheers,

Bastian




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

* Re: Tricore default machine
  2020-02-10 12:31           ` Bastian Koppelmann
@ 2020-02-10 13:22             ` Peter Maydell
  -1 siblings, 0 replies; 42+ messages in thread
From: Peter Maydell @ 2020-02-10 13:22 UTC (permalink / raw)
  To: Bastian Koppelmann
  Cc: Cornelia Huck, Sagar Karandikar, Michael S. Tsirkin,
	Anthony Green, Mark Cave-Ayland, QEMU Developers,
	Alistair Francis, Edgar E. Iglesias, Guan Xuetao, Marek Vasut,
	Jia Liu, QEMU Trivial, Helge Deller, David Hildenbrand,
	Magnus Damm, Halil Pasic, Christian Borntraeger, qemu-ppc,
	Aleksandar Rikalo, David Gibson, Philippe Mathieu-Daudé,
	Artyom Tarasenko, Thomas Huth, Eduardo Habkost,
	Richard Henderson, qemu-s390x, Stafford Horne, Richard Henderson,
	open list:RISC-V, Thomas Huth, Chris Wulff, Laurent Vivier,
	Michael Walle, Palmer Dabbelt, Aleksandar Markovic,
	Paolo Bonzini, Aurelien Jarno

On Mon, 10 Feb 2020 at 12:33, Bastian Koppelmann
<kbastian@mail.uni-paderborn.de> wrote:
>
>
> On 2/10/20 11:26 AM, Thomas Huth wrote:
> > On 10/02/2020 11.08, Philippe Mathieu-Daudé wrote:
> >> On 2/10/20 10:35 AM, Thomas Huth wrote:
> >>> On 07/02/2020 17.19, Philippe Mathieu-Daudé wrote:
> >>> I wonder whether we should simply make that machine the default for
> >>> qemu-system-tricore? There is only one machine here, and not having a
> >>> default machine always causes some headaches in the tests...
> >>> (see e.g. tests/qemu-iotests/check for example)
> >> Or make it generic? If a architecture has a single machine, use it by
> >> default?
> > Sounds like a good idea, too ... we've got a couple of targets that have
> > only one machine.

> As far as I remember, I did not make it the default machine, since Peter
> Maydell advised against it. His argument was that defaults are really
> hard to get rid off since external tools (like libvirt) might rely on
> the defaults and we don't want to break those. Anyways, no objections
> from my side.

Yes; we have default machines partly for historical reasons
and partly because x86 does, but unless there's a good
reason for some architecture why this specific machine
should be the default, I don't think we should have a default:
making the user specify what they actually want helps to nudge
them into thinking about what they do want, rather than
assuming that QEMU will somehow magically be able to run
guest images built for any random machine for the architecture.

Anything in tests or whatever that breaks if there's no default
machine for the architecture should be improved to handle that
(it already needs to handle that case, though: arm does not
have a defined default machine).

thanks
-- PMM


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

* Re: Tricore default machine
@ 2020-02-10 13:22             ` Peter Maydell
  0 siblings, 0 replies; 42+ messages in thread
From: Peter Maydell @ 2020-02-10 13:22 UTC (permalink / raw)
  To: Bastian Koppelmann
  Cc: Thomas Huth, Philippe Mathieu-Daudé,
	QEMU Developers, Chris Wulff, Sagar Karandikar,
	Michael S. Tsirkin, Anthony Green, Mark Cave-Ayland,
	Alistair Francis, Edgar E. Iglesias, Guan Xuetao, Marek Vasut,
	Jia Liu, QEMU Trivial, Helge Deller, David Hildenbrand,
	Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
	Aleksandar Rikalo, Richard Henderson, Artyom Tarasenko,
	Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
	David Gibson, open list:RISC-V, Thomas Huth, Cornelia Huck,
	Laurent Vivier, Michael Walle, qemu-ppc, Aleksandar Markovic,
	Paolo Bonzini, Aurelien Jarno

On Mon, 10 Feb 2020 at 12:33, Bastian Koppelmann
<kbastian@mail.uni-paderborn.de> wrote:
>
>
> On 2/10/20 11:26 AM, Thomas Huth wrote:
> > On 10/02/2020 11.08, Philippe Mathieu-Daudé wrote:
> >> On 2/10/20 10:35 AM, Thomas Huth wrote:
> >>> On 07/02/2020 17.19, Philippe Mathieu-Daudé wrote:
> >>> I wonder whether we should simply make that machine the default for
> >>> qemu-system-tricore? There is only one machine here, and not having a
> >>> default machine always causes some headaches in the tests...
> >>> (see e.g. tests/qemu-iotests/check for example)
> >> Or make it generic? If a architecture has a single machine, use it by
> >> default?
> > Sounds like a good idea, too ... we've got a couple of targets that have
> > only one machine.

> As far as I remember, I did not make it the default machine, since Peter
> Maydell advised against it. His argument was that defaults are really
> hard to get rid off since external tools (like libvirt) might rely on
> the defaults and we don't want to break those. Anyways, no objections
> from my side.

Yes; we have default machines partly for historical reasons
and partly because x86 does, but unless there's a good
reason for some architecture why this specific machine
should be the default, I don't think we should have a default:
making the user specify what they actually want helps to nudge
them into thinking about what they do want, rather than
assuming that QEMU will somehow magically be able to run
guest images built for any random machine for the architecture.

Anything in tests or whatever that breaks if there's no default
machine for the architecture should be improved to handle that
(it already needs to handle that case, though: arm does not
have a defined default machine).

thanks
-- PMM


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

* Re: Tricore default machine
  2020-02-10 13:22             ` Peter Maydell
@ 2020-02-10 13:25               ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 42+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-10 13:25 UTC (permalink / raw)
  To: Peter Maydell, Bastian Koppelmann
  Cc: Cornelia Huck, Sagar Karandikar, Michael S. Tsirkin,
	Anthony Green, Mark Cave-Ayland, QEMU Developers,
	Alistair Francis, Edgar E. Iglesias, Guan Xuetao, Marek Vasut,
	Jia Liu, QEMU Trivial, Helge Deller, David Hildenbrand,
	Magnus Damm, Halil Pasic, Christian Borntraeger, qemu-ppc,
	Aleksandar Rikalo, David Gibson, Artyom Tarasenko, Thomas Huth,
	Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
	Richard Henderson, open list:RISC-V, Thomas Huth, Chris Wulff,
	Laurent Vivier, Michael Walle, Palmer Dabbelt,
	Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno

On 2/10/20 2:22 PM, Peter Maydell wrote:
> On Mon, 10 Feb 2020 at 12:33, Bastian Koppelmann
> <kbastian@mail.uni-paderborn.de> wrote:
>>
>>
>> On 2/10/20 11:26 AM, Thomas Huth wrote:
>>> On 10/02/2020 11.08, Philippe Mathieu-Daudé wrote:
>>>> On 2/10/20 10:35 AM, Thomas Huth wrote:
>>>>> On 07/02/2020 17.19, Philippe Mathieu-Daudé wrote:
>>>>> I wonder whether we should simply make that machine the default for
>>>>> qemu-system-tricore? There is only one machine here, and not having a
>>>>> default machine always causes some headaches in the tests...
>>>>> (see e.g. tests/qemu-iotests/check for example)
>>>> Or make it generic? If a architecture has a single machine, use it by
>>>> default?
>>> Sounds like a good idea, too ... we've got a couple of targets that have
>>> only one machine.
> 
>> As far as I remember, I did not make it the default machine, since Peter
>> Maydell advised against it. His argument was that defaults are really
>> hard to get rid off since external tools (like libvirt) might rely on
>> the defaults and we don't want to break those. Anyways, no objections
>> from my side.
> 
> Yes; we have default machines partly for historical reasons
> and partly because x86 does, but unless there's a good
> reason for some architecture why this specific machine
> should be the default, I don't think we should have a default:
> making the user specify what they actually want helps to nudge
> them into thinking about what they do want, rather than
> assuming that QEMU will somehow magically be able to run
> guest images built for any random machine for the architecture.

OK now it makes sense.

> Anything in tests or whatever that breaks if there's no default
> machine for the architecture should be improved to handle that
> (it already needs to handle that case, though: arm does not
> have a defined default machine).

I tend to agree here.



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

* Re: Tricore default machine
@ 2020-02-10 13:25               ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 42+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-10 13:25 UTC (permalink / raw)
  To: Peter Maydell, Bastian Koppelmann
  Cc: Thomas Huth, QEMU Developers, Chris Wulff, Sagar Karandikar,
	Michael S. Tsirkin, Anthony Green, Mark Cave-Ayland,
	Alistair Francis, Edgar E. Iglesias, Guan Xuetao, Marek Vasut,
	Jia Liu, QEMU Trivial, Helge Deller, David Hildenbrand,
	Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
	Aleksandar Rikalo, Richard Henderson, Artyom Tarasenko,
	Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
	David Gibson, open list:RISC-V, Thomas Huth, Cornelia Huck,
	Laurent Vivier, Michael Walle, qemu-ppc, Aleksandar Markovic,
	Paolo Bonzini, Aurelien Jarno

On 2/10/20 2:22 PM, Peter Maydell wrote:
> On Mon, 10 Feb 2020 at 12:33, Bastian Koppelmann
> <kbastian@mail.uni-paderborn.de> wrote:
>>
>>
>> On 2/10/20 11:26 AM, Thomas Huth wrote:
>>> On 10/02/2020 11.08, Philippe Mathieu-Daudé wrote:
>>>> On 2/10/20 10:35 AM, Thomas Huth wrote:
>>>>> On 07/02/2020 17.19, Philippe Mathieu-Daudé wrote:
>>>>> I wonder whether we should simply make that machine the default for
>>>>> qemu-system-tricore? There is only one machine here, and not having a
>>>>> default machine always causes some headaches in the tests...
>>>>> (see e.g. tests/qemu-iotests/check for example)
>>>> Or make it generic? If a architecture has a single machine, use it by
>>>> default?
>>> Sounds like a good idea, too ... we've got a couple of targets that have
>>> only one machine.
> 
>> As far as I remember, I did not make it the default machine, since Peter
>> Maydell advised against it. His argument was that defaults are really
>> hard to get rid off since external tools (like libvirt) might rely on
>> the defaults and we don't want to break those. Anyways, no objections
>> from my side.
> 
> Yes; we have default machines partly for historical reasons
> and partly because x86 does, but unless there's a good
> reason for some architecture why this specific machine
> should be the default, I don't think we should have a default:
> making the user specify what they actually want helps to nudge
> them into thinking about what they do want, rather than
> assuming that QEMU will somehow magically be able to run
> guest images built for any random machine for the architecture.

OK now it makes sense.

> Anything in tests or whatever that breaks if there's no default
> machine for the architecture should be improved to handle that
> (it already needs to handle that case, though: arm does not
> have a defined default machine).

I tend to agree here.



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

end of thread, other threads:[~2020-02-10 13:26 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-07 16:19 [PATCH v4 0/3] Make MachineClass::is_default boolean, refuse multiple default machines Philippe Mathieu-Daudé
2020-02-07 16:19 ` Philippe Mathieu-Daudé
2020-02-07 16:19 ` [PATCH v4 1/3] hw: Do not initialize MachineClass::is_default to 0 Philippe Mathieu-Daudé
2020-02-07 16:19   ` Philippe Mathieu-Daudé
2020-02-07 17:44   ` Laurent Vivier
2020-02-07 17:44     ` Laurent Vivier
2020-02-08  9:23   ` David Gibson
2020-02-08  9:23     ` David Gibson
2020-02-10  9:35   ` Tricore default machine (was: [PATCH v4 1/3] hw: Do not initialize MachineClass::is_default to 0) Thomas Huth
2020-02-10  9:35     ` Thomas Huth
2020-02-10 10:08     ` Tricore default machine Philippe Mathieu-Daudé
2020-02-10 10:08       ` Philippe Mathieu-Daudé
2020-02-10 10:26       ` Thomas Huth
2020-02-10 10:26         ` Thomas Huth
2020-02-10 12:31         ` Bastian Koppelmann
2020-02-10 12:31           ` Bastian Koppelmann
2020-02-10 13:22           ` Peter Maydell
2020-02-10 13:22             ` Peter Maydell
2020-02-10 13:25             ` Philippe Mathieu-Daudé
2020-02-10 13:25               ` Philippe Mathieu-Daudé
2020-02-07 16:19 ` [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé
2020-02-07 16:19   ` Philippe Mathieu-Daudé
2020-02-07 16:32   ` Marc-André Lureau
2020-02-07 16:32     ` Marc-André Lureau
2020-02-07 17:48   ` Laurent Vivier
2020-02-07 17:48     ` Laurent Vivier
2020-02-08  9:24   ` David Gibson
2020-02-08  9:24     ` David Gibson
2020-02-10  8:51   ` Cornelia Huck
2020-02-10  8:51     ` Cornelia Huck
2020-02-10  9:22   ` Thomas Huth
2020-02-10  9:22     ` Thomas Huth
2020-02-07 16:19 ` [PATCH v4 3/3] vl: Abort if multiple machines are registered as default Philippe Mathieu-Daudé
2020-02-07 16:19   ` Philippe Mathieu-Daudé
2020-02-07 16:31   ` Marc-André Lureau
2020-02-07 16:31     ` Marc-André Lureau
2020-02-07 18:05   ` Laurent Vivier
2020-02-07 18:05     ` Laurent Vivier
2020-02-08  9:25   ` David Gibson
2020-02-08  9:25     ` David Gibson
2020-02-07 18:03 ` [PATCH v4 0/3] Make MachineClass::is_default boolean, refuse multiple default machines Eduardo Habkost
2020-02-07 18:03   ` Eduardo Habkost

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.