* [PATCH v3 0/3] Make MachineClass::is_default boolean, refuse multiple default machines
@ 2020-02-07 13:04 Philippe Mathieu-Daudé
2020-02-07 13:04 ` [PATCH v3 1/3] hw: Do not initialize MachineClass::is_default to 0 Philippe Mathieu-Daudé
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 13:04 UTC (permalink / raw)
To: qemu-devel
Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
Michael S. Tsirkin, Magnus Damm, Halil Pasic,
Christian Borntraeger, Palmer Dabbelt, Aleksandar Rikalo,
Richard Henderson, Philippe Mathieu-Daudé, Artyom Tarasenko,
Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
David Gibson, qemu-riscv, Thomas Huth, Bastian Koppelmann,
Cornelia Huck, Laurent Vivier, Michael Walle, qemu-ppc,
Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno
Cleanup after reviewing "ppc: function to setup latest class options":
https://www.mail-archive.com/qemu-devel@nongnu.org/msg677709.html
Philippe Mathieu-Daudé (3):
hw: Do not initialize MachineClass::is_default to 0
hw: Make MachineClass::is_default a boolean type
vl: Abort if multiple machines are registered as default
include/hw/boards.h | 2 +-
hw/alpha/dp264.c | 2 +-
hw/cris/axis_dev88.c | 2 +-
hw/hppa/machine.c | 2 +-
hw/i386/pc_piix.c | 10 +++++-----
hw/lm32/lm32_boards.c | 3 +--
hw/lm32/milkymist.c | 1 -
hw/m68k/mcf5208.c | 2 +-
hw/m68k/q800.c | 1 -
hw/microblaze/petalogix_ml605_mmu.c | 1 -
hw/microblaze/petalogix_s3adsp1800_mmu.c | 2 +-
hw/mips/mips_malta.c | 2 +-
hw/moxie/moxiesim.c | 2 +-
hw/nios2/10m50_devboard.c | 2 +-
hw/openrisc/openrisc_sim.c | 2 +-
hw/ppc/mac_oldworld.c | 2 +-
hw/ppc/spapr.c | 2 +-
hw/riscv/spike.c | 2 +-
hw/s390x/s390-virtio-ccw.c | 2 +-
hw/sh4/shix.c | 2 +-
hw/sparc/sun4m.c | 2 +-
hw/sparc64/niagara.c | 2 +-
hw/sparc64/sun4u.c | 4 ++--
hw/tricore/tricore_testboard.c | 1 -
hw/unicore32/puv3.c | 2 +-
vl.c | 4 ++++
26 files changed, 30 insertions(+), 31 deletions(-)
--
2.21.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 1/3] hw: Do not initialize MachineClass::is_default to 0
2020-02-07 13:04 [PATCH v3 0/3] Make MachineClass::is_default boolean, refuse multiple default machines Philippe Mathieu-Daudé
@ 2020-02-07 13:04 ` Philippe Mathieu-Daudé
2020-02-07 13:04 ` [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé
2020-02-07 13:04 ` [PATCH v3 3/3] vl: Abort if multiple machines are registered as default Philippe Mathieu-Daudé
2 siblings, 0 replies; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 13:04 UTC (permalink / raw)
To: qemu-devel
Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
Michael S. Tsirkin, Magnus Damm, Halil Pasic,
Christian Borntraeger, Palmer Dabbelt, Aleksandar Rikalo,
Richard Henderson, Philippe Mathieu-Daudé, Artyom Tarasenko,
Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
David Gibson, qemu-riscv, Thomas Huth, Bastian Koppelmann,
Cornelia Huck, Laurent Vivier, Michael Walle, qemu-ppc,
Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno
The MachineClass is already zeroed on creation.
Note: The code setting is_default=0 in hw/i386/pc_piix.c is
different (related to compat options). When adding a
new versioned machine, we want it to be the new default,
so we have to mark the previous one as not default.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v3: new patch
---
hw/lm32/lm32_boards.c | 1 -
hw/lm32/milkymist.c | 1 -
hw/m68k/q800.c | 1 -
hw/microblaze/petalogix_ml605_mmu.c | 1 -
hw/tricore/tricore_testboard.c | 1 -
5 files changed, 5 deletions(-)
diff --git a/hw/lm32/lm32_boards.c b/hw/lm32/lm32_boards.c
index d1894adab8..156b050abc 100644
--- a/hw/lm32/lm32_boards.c
+++ b/hw/lm32/lm32_boards.c
@@ -302,7 +302,6 @@ static void lm32_uclinux_class_init(ObjectClass *oc, void *data)
mc->desc = "lm32 platform for uClinux and u-boot by Theobroma Systems";
mc->init = lm32_uclinux_init;
- mc->is_default = 0;
mc->default_cpu_type = LM32_CPU_TYPE_NAME("lm32-full");
}
diff --git a/hw/lm32/milkymist.c b/hw/lm32/milkymist.c
index 6d46134232..9fa5fd7050 100644
--- a/hw/lm32/milkymist.c
+++ b/hw/lm32/milkymist.c
@@ -214,7 +214,6 @@ static void milkymist_machine_init(MachineClass *mc)
{
mc->desc = "Milkymist One";
mc->init = milkymist_init;
- mc->is_default = 0;
mc->default_cpu_type = LM32_CPU_TYPE_NAME("lm32-full");
}
diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c
index 1e32363688..788b5d663f 100644
--- a/hw/m68k/q800.c
+++ b/hw/m68k/q800.c
@@ -441,7 +441,6 @@ static void q800_machine_class_init(ObjectClass *oc, void *data)
mc->init = q800_init;
mc->default_cpu_type = M68K_CPU_TYPE_NAME("m68040");
mc->max_cpus = 1;
- mc->is_default = 0;
mc->block_default_type = IF_SCSI;
}
diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c
index 09486bc8bf..0a2640c40b 100644
--- a/hw/microblaze/petalogix_ml605_mmu.c
+++ b/hw/microblaze/petalogix_ml605_mmu.c
@@ -216,7 +216,6 @@ static void petalogix_ml605_machine_init(MachineClass *mc)
{
mc->desc = "PetaLogix linux refdesign for xilinx ml605 little endian";
mc->init = petalogix_ml605_init;
- mc->is_default = 0;
}
DEFINE_MACHINE("petalogix-ml605", petalogix_ml605_machine_init)
diff --git a/hw/tricore/tricore_testboard.c b/hw/tricore/tricore_testboard.c
index 20c9ccb3ce..8ec2b5bddd 100644
--- a/hw/tricore/tricore_testboard.c
+++ b/hw/tricore/tricore_testboard.c
@@ -105,7 +105,6 @@ static void ttb_machine_init(MachineClass *mc)
{
mc->desc = "a minimal TriCore board";
mc->init = tricoreboard_init;
- mc->is_default = 0;
mc->default_cpu_type = TRICORE_CPU_TYPE_NAME("tc1796");
}
--
2.21.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type
2020-02-07 13:04 [PATCH v3 0/3] Make MachineClass::is_default boolean, refuse multiple default machines Philippe Mathieu-Daudé
2020-02-07 13:04 ` [PATCH v3 1/3] hw: Do not initialize MachineClass::is_default to 0 Philippe Mathieu-Daudé
@ 2020-02-07 13:04 ` Philippe Mathieu-Daudé
2020-02-07 14:11 ` Michael S. Tsirkin
2020-02-07 13:04 ` [PATCH v3 3/3] vl: Abort if multiple machines are registered as default Philippe Mathieu-Daudé
2 siblings, 1 reply; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 13:04 UTC (permalink / raw)
To: qemu-devel
Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
Michael S. Tsirkin, Magnus Damm, Halil Pasic,
Christian Borntraeger, Palmer Dabbelt, Aleksandar Rikalo,
Richard Henderson, Philippe Mathieu-Daudé, Artyom Tarasenko,
Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
David Gibson, qemu-riscv, Thomas Huth, Bastian Koppelmann,
Cornelia Huck, Laurent Vivier, Michael Walle, qemu-ppc,
Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno
There's no good reason for it to be type int, change it to bool.
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v3: new patch
---
include/hw/boards.h | 2 +-
hw/alpha/dp264.c | 2 +-
hw/cris/axis_dev88.c | 2 +-
hw/hppa/machine.c | 2 +-
hw/i386/pc_piix.c | 10 +++++-----
hw/lm32/lm32_boards.c | 2 +-
hw/m68k/mcf5208.c | 2 +-
hw/microblaze/petalogix_s3adsp1800_mmu.c | 2 +-
hw/mips/mips_malta.c | 2 +-
hw/moxie/moxiesim.c | 2 +-
hw/nios2/10m50_devboard.c | 2 +-
hw/openrisc/openrisc_sim.c | 2 +-
hw/ppc/mac_oldworld.c | 2 +-
hw/ppc/spapr.c | 2 +-
hw/riscv/spike.c | 2 +-
hw/s390x/s390-virtio-ccw.c | 2 +-
hw/sh4/shix.c | 2 +-
hw/sparc/sun4m.c | 2 +-
hw/sparc64/niagara.c | 2 +-
hw/sparc64/sun4u.c | 4 ++--
hw/unicore32/puv3.c | 2 +-
21 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/include/hw/boards.h b/include/hw/boards.h
index fb1b43d5b9..30498cb367 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -200,7 +200,7 @@ struct MachineClass {
no_sdcard:1,
pci_allow_0_address:1,
legacy_fw_cfg_order:1;
- int is_default;
+ bool is_default;
const char *default_machine_opts;
const char *default_boot_order;
const char *default_display;
diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c
index a8f9a89cc4..083a198a64 100644
--- a/hw/alpha/dp264.c
+++ b/hw/alpha/dp264.c
@@ -181,7 +181,7 @@ static void clipper_machine_init(MachineClass *mc)
mc->init = clipper_init;
mc->block_default_type = IF_IDE;
mc->max_cpus = 4;
- mc->is_default = 1;
+ mc->is_default = true;
mc->default_cpu_type = ALPHA_CPU_TYPE_NAME("ev67");
}
diff --git a/hw/cris/axis_dev88.c b/hw/cris/axis_dev88.c
index be7760476a..de7b49188b 100644
--- a/hw/cris/axis_dev88.c
+++ b/hw/cris/axis_dev88.c
@@ -349,7 +349,7 @@ static void axisdev88_machine_init(MachineClass *mc)
{
mc->desc = "AXIS devboard 88";
mc->init = axisdev88_init;
- mc->is_default = 1;
+ mc->is_default = true;
mc->default_cpu_type = CRIS_CPU_TYPE_NAME("crisv32");
}
diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index d8755ec422..83ae87f565 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -295,7 +295,7 @@ static void machine_hppa_machine_init(MachineClass *mc)
mc->block_default_type = IF_SCSI;
mc->max_cpus = HPPA_MAX_CPUS;
mc->default_cpus = 1;
- mc->is_default = 1;
+ mc->is_default = true;
mc->default_ram_size = 512 * MiB;
mc->default_boot_order = "cd";
}
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index fa12203079..9088db8fb6 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -423,7 +423,7 @@ static void pc_i440fx_5_0_machine_options(MachineClass *m)
PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
pc_i440fx_machine_options(m);
m->alias = "pc";
- m->is_default = 1;
+ m->is_default = true;
pcmc->default_cpu_version = 1;
}
@@ -434,7 +434,7 @@ static void pc_i440fx_4_2_machine_options(MachineClass *m)
{
pc_i440fx_5_0_machine_options(m);
m->alias = NULL;
- m->is_default = 0;
+ m->is_default = false;
compat_props_add(m->compat_props, hw_compat_4_2, hw_compat_4_2_len);
compat_props_add(m->compat_props, pc_compat_4_2, pc_compat_4_2_len);
}
@@ -446,7 +446,7 @@ static void pc_i440fx_4_1_machine_options(MachineClass *m)
{
pc_i440fx_4_2_machine_options(m);
m->alias = NULL;
- m->is_default = 0;
+ m->is_default = false;
compat_props_add(m->compat_props, hw_compat_4_1, hw_compat_4_1_len);
compat_props_add(m->compat_props, pc_compat_4_1, pc_compat_4_1_len);
}
@@ -459,7 +459,7 @@ static void pc_i440fx_4_0_machine_options(MachineClass *m)
PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
pc_i440fx_4_1_machine_options(m);
m->alias = NULL;
- m->is_default = 0;
+ m->is_default = false;
pcmc->default_cpu_version = CPU_VERSION_LEGACY;
compat_props_add(m->compat_props, hw_compat_4_0, hw_compat_4_0_len);
compat_props_add(m->compat_props, pc_compat_4_0, pc_compat_4_0_len);
@@ -473,7 +473,7 @@ static void pc_i440fx_3_1_machine_options(MachineClass *m)
PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
pc_i440fx_4_0_machine_options(m);
- m->is_default = 0;
+ m->is_default = false;
pcmc->do_not_add_smb_acpi = true;
m->smbus_no_migration_support = true;
m->alias = NULL;
diff --git a/hw/lm32/lm32_boards.c b/hw/lm32/lm32_boards.c
index 156b050abc..352f69532e 100644
--- a/hw/lm32/lm32_boards.c
+++ b/hw/lm32/lm32_boards.c
@@ -286,7 +286,7 @@ static void lm32_evr_class_init(ObjectClass *oc, void *data)
mc->desc = "LatticeMico32 EVR32 eval system";
mc->init = lm32_evr_init;
- mc->is_default = 1;
+ mc->is_default = true;
mc->default_cpu_type = LM32_CPU_TYPE_NAME("lm32-full");
}
diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c
index a999c21982..5f8f6e4475 100644
--- a/hw/m68k/mcf5208.c
+++ b/hw/m68k/mcf5208.c
@@ -352,7 +352,7 @@ static void mcf5208evb_machine_init(MachineClass *mc)
{
mc->desc = "MCF5208EVB";
mc->init = mcf5208evb_init;
- mc->is_default = 1;
+ mc->is_default = true;
mc->default_cpu_type = M68K_CPU_TYPE_NAME("m5208");
}
diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c
index 849bafc186..0bb6cdea8d 100644
--- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
+++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
@@ -132,7 +132,7 @@ static void petalogix_s3adsp1800_machine_init(MachineClass *mc)
{
mc->desc = "PetaLogix linux refdesign for xilinx Spartan 3ADSP1800";
mc->init = petalogix_s3adsp1800_init;
- mc->is_default = 1;
+ mc->is_default = true;
}
DEFINE_MACHINE("petalogix-s3adsp1800", petalogix_s3adsp1800_machine_init)
diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
index 34b76bb6a1..499eac8d33 100644
--- a/hw/mips/mips_malta.c
+++ b/hw/mips/mips_malta.c
@@ -1442,7 +1442,7 @@ static void mips_malta_machine_init(MachineClass *mc)
mc->init = mips_malta_init;
mc->block_default_type = IF_IDE;
mc->max_cpus = 16;
- mc->is_default = 1;
+ mc->is_default = true;
#ifdef TARGET_MIPS64
mc->default_cpu_type = MIPS_CPU_TYPE_NAME("20Kc");
#else
diff --git a/hw/moxie/moxiesim.c b/hw/moxie/moxiesim.c
index 1d06e39fcb..51a98287b5 100644
--- a/hw/moxie/moxiesim.c
+++ b/hw/moxie/moxiesim.c
@@ -150,7 +150,7 @@ static void moxiesim_machine_init(MachineClass *mc)
{
mc->desc = "Moxie simulator platform";
mc->init = moxiesim_init;
- mc->is_default = 1;
+ mc->is_default = true;
mc->default_cpu_type = MOXIE_CPU_TYPE_NAME("MoxieLite");
}
diff --git a/hw/nios2/10m50_devboard.c b/hw/nios2/10m50_devboard.c
index ad8b2fc670..33dc2bf511 100644
--- a/hw/nios2/10m50_devboard.c
+++ b/hw/nios2/10m50_devboard.c
@@ -120,7 +120,7 @@ static void nios2_10m50_ghrd_machine_init(struct MachineClass *mc)
{
mc->desc = "Altera 10M50 GHRD Nios II design";
mc->init = nios2_10m50_ghrd_init;
- mc->is_default = 1;
+ mc->is_default = true;
}
DEFINE_MACHINE("10m50-ghrd", nios2_10m50_ghrd_machine_init);
diff --git a/hw/openrisc/openrisc_sim.c b/hw/openrisc/openrisc_sim.c
index ad5371250f..d08ce61811 100644
--- a/hw/openrisc/openrisc_sim.c
+++ b/hw/openrisc/openrisc_sim.c
@@ -176,7 +176,7 @@ static void openrisc_sim_machine_init(MachineClass *mc)
mc->desc = "or1k simulation";
mc->init = openrisc_sim_init;
mc->max_cpus = 2;
- mc->is_default = 1;
+ mc->is_default = true;
mc->default_cpu_type = OPENRISC_CPU_TYPE_NAME("or1200");
}
diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c
index 7318d7e9b4..1630663bc2 100644
--- a/hw/ppc/mac_oldworld.c
+++ b/hw/ppc/mac_oldworld.c
@@ -438,7 +438,7 @@ static void heathrow_class_init(ObjectClass *oc, void *data)
mc->block_default_type = IF_IDE;
mc->max_cpus = MAX_CPUS;
#ifndef TARGET_PPC64
- mc->is_default = 1;
+ mc->is_default = true;
#endif
/* TOFIX "cad" when Mac floppy is implemented */
mc->default_boot_order = "cd";
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index c9b2e0a5e0..e3e3208cd8 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4493,7 +4493,7 @@ static const TypeInfo spapr_machine_info = {
spapr_machine_##suffix##_class_options(mc); \
if (latest) { \
mc->alias = "pseries"; \
- mc->is_default = 1; \
+ mc->is_default = true; \
} \
} \
static const TypeInfo spapr_machine_##suffix##_info = { \
diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c
index 8823681783..6f03857660 100644
--- a/hw/riscv/spike.c
+++ b/hw/riscv/spike.c
@@ -448,7 +448,7 @@ static void spike_machine_init(MachineClass *mc)
mc->desc = "RISC-V Spike Board";
mc->init = spike_board_init;
mc->max_cpus = 1;
- mc->is_default = 1;
+ mc->is_default = true;
mc->default_cpu_type = SPIKE_V1_10_0_CPU;
}
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index e759eb5f83..c4b291e434 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -631,7 +631,7 @@ bool css_migration_enabled(void)
mc->desc = "VirtIO-ccw based S390 machine v" verstr; \
if (latest) { \
mc->alias = "s390-ccw-virtio"; \
- mc->is_default = 1; \
+ mc->is_default = true; \
} \
} \
static void ccw_machine_##suffix##_instance_init(Object *obj) \
diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c
index 2fc2915428..68b14ee5e7 100644
--- a/hw/sh4/shix.c
+++ b/hw/sh4/shix.c
@@ -82,7 +82,7 @@ static void shix_machine_init(MachineClass *mc)
{
mc->desc = "shix card";
mc->init = shix_init;
- mc->is_default = 1;
+ mc->is_default = true;
mc->default_cpu_type = TYPE_SH7750R_CPU;
}
diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
index 25e96db5ca..d6c9772f95 100644
--- a/hw/sparc/sun4m.c
+++ b/hw/sparc/sun4m.c
@@ -1411,7 +1411,7 @@ static void ss5_class_init(ObjectClass *oc, void *data)
mc->desc = "Sun4m platform, SPARCstation 5";
mc->init = ss5_init;
mc->block_default_type = IF_SCSI;
- mc->is_default = 1;
+ mc->is_default = true;
mc->default_boot_order = "c";
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904");
mc->default_display = "tcx";
diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c
index 5eb2d097b9..81a1748fad 100644
--- a/hw/sparc64/niagara.c
+++ b/hw/sparc64/niagara.c
@@ -170,7 +170,7 @@ static void niagara_class_init(ObjectClass *oc, void *data)
mc->desc = "Sun4v platform, Niagara";
mc->init = niagara_init;
- mc->max_cpus = 1; /* XXX for now */
+ mc->max_cpus = true; /* XXX for now */
mc->default_boot_order = "c";
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
}
diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index b7ac42f7a5..3c2c9d2eb0 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -816,7 +816,7 @@ static void sun4u_class_init(ObjectClass *oc, void *data)
mc->init = sun4u_init;
mc->block_default_type = IF_IDE;
mc->max_cpus = 1; /* XXX for now */
- mc->is_default = 1;
+ mc->is_default = true;
mc->default_boot_order = "c";
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi");
mc->ignore_boot_device_suffixes = true;
@@ -841,7 +841,7 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
mc->desc = "Sun4v platform";
mc->init = sun4v_init;
mc->block_default_type = IF_IDE;
- mc->max_cpus = 1; /* XXX for now */
+ mc->max_cpus = true; /* XXX for now */
mc->default_boot_order = "c";
mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
mc->default_display = "std";
diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c
index 7e933de228..7f9c0238fe 100644
--- a/hw/unicore32/puv3.c
+++ b/hw/unicore32/puv3.c
@@ -140,7 +140,7 @@ static void puv3_machine_init(MachineClass *mc)
{
mc->desc = "PKUnity Version-3 based on UniCore32";
mc->init = puv3_init;
- mc->is_default = 1;
+ mc->is_default = true;
mc->default_cpu_type = UNICORE32_CPU_TYPE_NAME("UniCore-II");
}
--
2.21.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 3/3] vl: Abort if multiple machines are registered as default
2020-02-07 13:04 [PATCH v3 0/3] Make MachineClass::is_default boolean, refuse multiple default machines Philippe Mathieu-Daudé
2020-02-07 13:04 ` [PATCH v3 1/3] hw: Do not initialize MachineClass::is_default to 0 Philippe Mathieu-Daudé
2020-02-07 13:04 ` [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé
@ 2020-02-07 13:04 ` Philippe Mathieu-Daudé
2020-02-07 14:11 ` Michael S. Tsirkin
2 siblings, 1 reply; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 13:04 UTC (permalink / raw)
To: qemu-devel
Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
Mark Cave-Ayland, Alistair Francis, Edgar E. Iglesias,
Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
Michael S. Tsirkin, Magnus Damm, Halil Pasic,
Christian Borntraeger, Palmer Dabbelt, Aleksandar Rikalo,
Richard Henderson, Philippe Mathieu-Daudé, Artyom Tarasenko,
Eduardo Habkost, Richard Henderson, qemu-s390x,
Marc-André Lureau, Stafford Horne, David Gibson, qemu-riscv,
Thomas Huth, Bastian Koppelmann, Cornelia Huck, Laurent Vivier,
Michael Walle, qemu-ppc, Aleksandar Markovic, Paolo Bonzini,
Aurelien Jarno
It would be confusing to have multiple default machines.
Abort if this ever occurs.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v2: Use assert() instead of human friendly message (Marc-André)
Cc: Marc-André Lureau <marcandre.lureau@gmail.com>
Cc: Laurent Vivier <laurent@vivier.eu>
---
vl.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/vl.c b/vl.c
index 7dcb0879c4..b3e0f7af25 100644
--- a/vl.c
+++ b/vl.c
@@ -2354,6 +2354,8 @@ static MachineClass *machine_parse(const char *name, GSList *machines)
GSList *el;
if (is_help_option(name)) {
+ int default_count = 0;
+
printf("Supported machines are:\n");
machines = g_slist_sort(machines, machine_class_cmp);
for (el = machines; el; el = el->next) {
@@ -2364,7 +2366,9 @@ static MachineClass *machine_parse(const char *name, GSList *machines)
printf("%-20s %s%s%s\n", mc->name, mc->desc,
mc->is_default ? " (default)" : "",
mc->deprecation_reason ? " (deprecated)" : "");
+ default_count += !!mc->is_default;
}
+ assert(default_count <= 1);
exit(0);
}
--
2.21.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 3/3] vl: Abort if multiple machines are registered as default
2020-02-07 13:04 ` [PATCH v3 3/3] vl: Abort if multiple machines are registered as default Philippe Mathieu-Daudé
@ 2020-02-07 14:11 ` Michael S. Tsirkin
0 siblings, 0 replies; 10+ messages in thread
From: Michael S. Tsirkin @ 2020-02-07 14:11 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
Mark Cave-Ayland, qemu-devel, Alistair Francis, Edgar E. Iglesias,
Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
Aleksandar Rikalo, Richard Henderson, Artyom Tarasenko,
Eduardo Habkost, Richard Henderson, qemu-s390x,
Marc-André Lureau, Stafford Horne, David Gibson, qemu-riscv,
Thomas Huth, Bastian Koppelmann, Cornelia Huck, Laurent Vivier,
Michael Walle, qemu-ppc, Aleksandar Markovic, Paolo Bonzini,
Aurelien Jarno
On Fri, Feb 07, 2020 at 02:04:53PM +0100, Philippe Mathieu-Daudé wrote:
> It would be confusing to have multiple default machines.
> Abort if this ever occurs.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v2: Use assert() instead of human friendly message (Marc-André)
>
> Cc: Marc-André Lureau <marcandre.lureau@gmail.com>
> Cc: Laurent Vivier <laurent@vivier.eu>
Is it really worth adding counting logic just so we can assert?
There are a bunch of other places that deal with
default, like qmp query machines and find_default_machine.
> ---
> vl.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/vl.c b/vl.c
> index 7dcb0879c4..b3e0f7af25 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2354,6 +2354,8 @@ static MachineClass *machine_parse(const char *name, GSList *machines)
> GSList *el;
>
> if (is_help_option(name)) {
> + int default_count = 0;
> +
> printf("Supported machines are:\n");
> machines = g_slist_sort(machines, machine_class_cmp);
> for (el = machines; el; el = el->next) {
> @@ -2364,7 +2366,9 @@ static MachineClass *machine_parse(const char *name, GSList *machines)
> printf("%-20s %s%s%s\n", mc->name, mc->desc,
> mc->is_default ? " (default)" : "",
> mc->deprecation_reason ? " (deprecated)" : "");
> + default_count += !!mc->is_default;
> }
> + assert(default_count <= 1);
> exit(0);
> }
>
> --
> 2.21.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type
2020-02-07 13:04 ` [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé
@ 2020-02-07 14:11 ` Michael S. Tsirkin
2020-02-07 14:22 ` Laurent Vivier
0 siblings, 1 reply; 10+ messages in thread
From: Michael S. Tsirkin @ 2020-02-07 14:11 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
Mark Cave-Ayland, qemu-devel, Alistair Francis, Edgar E. Iglesias,
Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
Aleksandar Rikalo, Richard Henderson, Artyom Tarasenko,
Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
David Gibson, qemu-riscv, Thomas Huth, Bastian Koppelmann,
Cornelia Huck, Laurent Vivier, Michael Walle, qemu-ppc,
Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno
On Fri, Feb 07, 2020 at 02:04:52PM +0100, Philippe Mathieu-Daudé wrote:
> There's no good reason for it to be type int, change it to bool.
>
> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> v3: new patch
> ---
> include/hw/boards.h | 2 +-
> hw/alpha/dp264.c | 2 +-
> hw/cris/axis_dev88.c | 2 +-
> hw/hppa/machine.c | 2 +-
> hw/i386/pc_piix.c | 10 +++++-----
> hw/lm32/lm32_boards.c | 2 +-
> hw/m68k/mcf5208.c | 2 +-
> hw/microblaze/petalogix_s3adsp1800_mmu.c | 2 +-
> hw/mips/mips_malta.c | 2 +-
> hw/moxie/moxiesim.c | 2 +-
> hw/nios2/10m50_devboard.c | 2 +-
> hw/openrisc/openrisc_sim.c | 2 +-
> hw/ppc/mac_oldworld.c | 2 +-
> hw/ppc/spapr.c | 2 +-
> hw/riscv/spike.c | 2 +-
> hw/s390x/s390-virtio-ccw.c | 2 +-
> hw/sh4/shix.c | 2 +-
> hw/sparc/sun4m.c | 2 +-
> hw/sparc64/niagara.c | 2 +-
> hw/sparc64/sun4u.c | 4 ++--
> hw/unicore32/puv3.c | 2 +-
> 21 files changed, 26 insertions(+), 26 deletions(-)
>
> diff --git a/include/hw/boards.h b/include/hw/boards.h
> index fb1b43d5b9..30498cb367 100644
> --- a/include/hw/boards.h
> +++ b/include/hw/boards.h
> @@ -200,7 +200,7 @@ struct MachineClass {
> no_sdcard:1,
> pci_allow_0_address:1,
> legacy_fw_cfg_order:1;
> - int is_default;
> + bool is_default;
> const char *default_machine_opts;
> const char *default_boot_order;
> const char *default_display;
> diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c
> index a8f9a89cc4..083a198a64 100644
> --- a/hw/alpha/dp264.c
> +++ b/hw/alpha/dp264.c
> @@ -181,7 +181,7 @@ static void clipper_machine_init(MachineClass *mc)
> mc->init = clipper_init;
> mc->block_default_type = IF_IDE;
> mc->max_cpus = 4;
> - mc->is_default = 1;
> + mc->is_default = true;
> mc->default_cpu_type = ALPHA_CPU_TYPE_NAME("ev67");
> }
>
> diff --git a/hw/cris/axis_dev88.c b/hw/cris/axis_dev88.c
> index be7760476a..de7b49188b 100644
> --- a/hw/cris/axis_dev88.c
> +++ b/hw/cris/axis_dev88.c
> @@ -349,7 +349,7 @@ static void axisdev88_machine_init(MachineClass *mc)
> {
> mc->desc = "AXIS devboard 88";
> mc->init = axisdev88_init;
> - mc->is_default = 1;
> + mc->is_default = true;
> mc->default_cpu_type = CRIS_CPU_TYPE_NAME("crisv32");
> }
>
> diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
> index d8755ec422..83ae87f565 100644
> --- a/hw/hppa/machine.c
> +++ b/hw/hppa/machine.c
> @@ -295,7 +295,7 @@ static void machine_hppa_machine_init(MachineClass *mc)
> mc->block_default_type = IF_SCSI;
> mc->max_cpus = HPPA_MAX_CPUS;
> mc->default_cpus = 1;
> - mc->is_default = 1;
> + mc->is_default = true;
> mc->default_ram_size = 512 * MiB;
> mc->default_boot_order = "cd";
> }
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index fa12203079..9088db8fb6 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -423,7 +423,7 @@ static void pc_i440fx_5_0_machine_options(MachineClass *m)
> PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
> pc_i440fx_machine_options(m);
> m->alias = "pc";
> - m->is_default = 1;
> + m->is_default = true;
> pcmc->default_cpu_version = 1;
> }
>
> @@ -434,7 +434,7 @@ static void pc_i440fx_4_2_machine_options(MachineClass *m)
> {
> pc_i440fx_5_0_machine_options(m);
> m->alias = NULL;
> - m->is_default = 0;
> + m->is_default = false;
> compat_props_add(m->compat_props, hw_compat_4_2, hw_compat_4_2_len);
> compat_props_add(m->compat_props, pc_compat_4_2, pc_compat_4_2_len);
> }
> @@ -446,7 +446,7 @@ static void pc_i440fx_4_1_machine_options(MachineClass *m)
> {
> pc_i440fx_4_2_machine_options(m);
> m->alias = NULL;
> - m->is_default = 0;
> + m->is_default = false;
> compat_props_add(m->compat_props, hw_compat_4_1, hw_compat_4_1_len);
> compat_props_add(m->compat_props, pc_compat_4_1, pc_compat_4_1_len);
> }
> @@ -459,7 +459,7 @@ static void pc_i440fx_4_0_machine_options(MachineClass *m)
> PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
> pc_i440fx_4_1_machine_options(m);
> m->alias = NULL;
> - m->is_default = 0;
> + m->is_default = false;
> pcmc->default_cpu_version = CPU_VERSION_LEGACY;
> compat_props_add(m->compat_props, hw_compat_4_0, hw_compat_4_0_len);
> compat_props_add(m->compat_props, pc_compat_4_0, pc_compat_4_0_len);
> @@ -473,7 +473,7 @@ static void pc_i440fx_3_1_machine_options(MachineClass *m)
> PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
>
> pc_i440fx_4_0_machine_options(m);
> - m->is_default = 0;
> + m->is_default = false;
> pcmc->do_not_add_smb_acpi = true;
> m->smbus_no_migration_support = true;
> m->alias = NULL;
> diff --git a/hw/lm32/lm32_boards.c b/hw/lm32/lm32_boards.c
> index 156b050abc..352f69532e 100644
> --- a/hw/lm32/lm32_boards.c
> +++ b/hw/lm32/lm32_boards.c
> @@ -286,7 +286,7 @@ static void lm32_evr_class_init(ObjectClass *oc, void *data)
>
> mc->desc = "LatticeMico32 EVR32 eval system";
> mc->init = lm32_evr_init;
> - mc->is_default = 1;
> + mc->is_default = true;
> mc->default_cpu_type = LM32_CPU_TYPE_NAME("lm32-full");
> }
>
> diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c
> index a999c21982..5f8f6e4475 100644
> --- a/hw/m68k/mcf5208.c
> +++ b/hw/m68k/mcf5208.c
> @@ -352,7 +352,7 @@ static void mcf5208evb_machine_init(MachineClass *mc)
> {
> mc->desc = "MCF5208EVB";
> mc->init = mcf5208evb_init;
> - mc->is_default = 1;
> + mc->is_default = true;
> mc->default_cpu_type = M68K_CPU_TYPE_NAME("m5208");
> }
>
> diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c
> index 849bafc186..0bb6cdea8d 100644
> --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
> +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
> @@ -132,7 +132,7 @@ static void petalogix_s3adsp1800_machine_init(MachineClass *mc)
> {
> mc->desc = "PetaLogix linux refdesign for xilinx Spartan 3ADSP1800";
> mc->init = petalogix_s3adsp1800_init;
> - mc->is_default = 1;
> + mc->is_default = true;
> }
>
> DEFINE_MACHINE("petalogix-s3adsp1800", petalogix_s3adsp1800_machine_init)
> diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
> index 34b76bb6a1..499eac8d33 100644
> --- a/hw/mips/mips_malta.c
> +++ b/hw/mips/mips_malta.c
> @@ -1442,7 +1442,7 @@ static void mips_malta_machine_init(MachineClass *mc)
> mc->init = mips_malta_init;
> mc->block_default_type = IF_IDE;
> mc->max_cpus = 16;
> - mc->is_default = 1;
> + mc->is_default = true;
> #ifdef TARGET_MIPS64
> mc->default_cpu_type = MIPS_CPU_TYPE_NAME("20Kc");
> #else
> diff --git a/hw/moxie/moxiesim.c b/hw/moxie/moxiesim.c
> index 1d06e39fcb..51a98287b5 100644
> --- a/hw/moxie/moxiesim.c
> +++ b/hw/moxie/moxiesim.c
> @@ -150,7 +150,7 @@ static void moxiesim_machine_init(MachineClass *mc)
> {
> mc->desc = "Moxie simulator platform";
> mc->init = moxiesim_init;
> - mc->is_default = 1;
> + mc->is_default = true;
> mc->default_cpu_type = MOXIE_CPU_TYPE_NAME("MoxieLite");
> }
>
> diff --git a/hw/nios2/10m50_devboard.c b/hw/nios2/10m50_devboard.c
> index ad8b2fc670..33dc2bf511 100644
> --- a/hw/nios2/10m50_devboard.c
> +++ b/hw/nios2/10m50_devboard.c
> @@ -120,7 +120,7 @@ static void nios2_10m50_ghrd_machine_init(struct MachineClass *mc)
> {
> mc->desc = "Altera 10M50 GHRD Nios II design";
> mc->init = nios2_10m50_ghrd_init;
> - mc->is_default = 1;
> + mc->is_default = true;
> }
>
> DEFINE_MACHINE("10m50-ghrd", nios2_10m50_ghrd_machine_init);
> diff --git a/hw/openrisc/openrisc_sim.c b/hw/openrisc/openrisc_sim.c
> index ad5371250f..d08ce61811 100644
> --- a/hw/openrisc/openrisc_sim.c
> +++ b/hw/openrisc/openrisc_sim.c
> @@ -176,7 +176,7 @@ static void openrisc_sim_machine_init(MachineClass *mc)
> mc->desc = "or1k simulation";
> mc->init = openrisc_sim_init;
> mc->max_cpus = 2;
> - mc->is_default = 1;
> + mc->is_default = true;
> mc->default_cpu_type = OPENRISC_CPU_TYPE_NAME("or1200");
> }
>
> diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c
> index 7318d7e9b4..1630663bc2 100644
> --- a/hw/ppc/mac_oldworld.c
> +++ b/hw/ppc/mac_oldworld.c
> @@ -438,7 +438,7 @@ static void heathrow_class_init(ObjectClass *oc, void *data)
> mc->block_default_type = IF_IDE;
> mc->max_cpus = MAX_CPUS;
> #ifndef TARGET_PPC64
> - mc->is_default = 1;
> + mc->is_default = true;
> #endif
> /* TOFIX "cad" when Mac floppy is implemented */
> mc->default_boot_order = "cd";
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index c9b2e0a5e0..e3e3208cd8 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -4493,7 +4493,7 @@ static const TypeInfo spapr_machine_info = {
> spapr_machine_##suffix##_class_options(mc); \
> if (latest) { \
> mc->alias = "pseries"; \
> - mc->is_default = 1; \
> + mc->is_default = true; \
> } \
> } \
> static const TypeInfo spapr_machine_##suffix##_info = { \
> diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c
> index 8823681783..6f03857660 100644
> --- a/hw/riscv/spike.c
> +++ b/hw/riscv/spike.c
> @@ -448,7 +448,7 @@ static void spike_machine_init(MachineClass *mc)
> mc->desc = "RISC-V Spike Board";
> mc->init = spike_board_init;
> mc->max_cpus = 1;
> - mc->is_default = 1;
> + mc->is_default = true;
> mc->default_cpu_type = SPIKE_V1_10_0_CPU;
> }
>
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index e759eb5f83..c4b291e434 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -631,7 +631,7 @@ bool css_migration_enabled(void)
> mc->desc = "VirtIO-ccw based S390 machine v" verstr; \
> if (latest) { \
> mc->alias = "s390-ccw-virtio"; \
> - mc->is_default = 1; \
> + mc->is_default = true; \
> } \
> } \
> static void ccw_machine_##suffix##_instance_init(Object *obj) \
> diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c
> index 2fc2915428..68b14ee5e7 100644
> --- a/hw/sh4/shix.c
> +++ b/hw/sh4/shix.c
> @@ -82,7 +82,7 @@ static void shix_machine_init(MachineClass *mc)
> {
> mc->desc = "shix card";
> mc->init = shix_init;
> - mc->is_default = 1;
> + mc->is_default = true;
> mc->default_cpu_type = TYPE_SH7750R_CPU;
> }
>
> diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
> index 25e96db5ca..d6c9772f95 100644
> --- a/hw/sparc/sun4m.c
> +++ b/hw/sparc/sun4m.c
> @@ -1411,7 +1411,7 @@ static void ss5_class_init(ObjectClass *oc, void *data)
> mc->desc = "Sun4m platform, SPARCstation 5";
> mc->init = ss5_init;
> mc->block_default_type = IF_SCSI;
> - mc->is_default = 1;
> + mc->is_default = true;
> mc->default_boot_order = "c";
> mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904");
> mc->default_display = "tcx";
> diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c
> index 5eb2d097b9..81a1748fad 100644
> --- a/hw/sparc64/niagara.c
> +++ b/hw/sparc64/niagara.c
> @@ -170,7 +170,7 @@ static void niagara_class_init(ObjectClass *oc, void *data)
>
> mc->desc = "Sun4v platform, Niagara";
> mc->init = niagara_init;
> - mc->max_cpus = 1; /* XXX for now */
> + mc->max_cpus = true; /* XXX for now */
> mc->default_boot_order = "c";
> mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
> }
> diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
> index b7ac42f7a5..3c2c9d2eb0 100644
> --- a/hw/sparc64/sun4u.c
> +++ b/hw/sparc64/sun4u.c
> @@ -816,7 +816,7 @@ static void sun4u_class_init(ObjectClass *oc, void *data)
> mc->init = sun4u_init;
> mc->block_default_type = IF_IDE;
> mc->max_cpus = 1; /* XXX for now */
> - mc->is_default = 1;
> + mc->is_default = true;
> mc->default_boot_order = "c";
> mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi");
> mc->ignore_boot_device_suffixes = true;
> @@ -841,7 +841,7 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
> mc->desc = "Sun4v platform";
> mc->init = sun4v_init;
> mc->block_default_type = IF_IDE;
> - mc->max_cpus = 1; /* XXX for now */
> + mc->max_cpus = true; /* XXX for now */
> mc->default_boot_order = "c";
> mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
> mc->default_display = "std";
> diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c
> index 7e933de228..7f9c0238fe 100644
> --- a/hw/unicore32/puv3.c
> +++ b/hw/unicore32/puv3.c
> @@ -140,7 +140,7 @@ static void puv3_machine_init(MachineClass *mc)
> {
> mc->desc = "PKUnity Version-3 based on UniCore32";
> mc->init = puv3_init;
> - mc->is_default = 1;
> + mc->is_default = true;
> mc->default_cpu_type = UNICORE32_CPU_TYPE_NAME("UniCore-II");
> }
>
> --
> 2.21.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type
2020-02-07 14:11 ` Michael S. Tsirkin
@ 2020-02-07 14:22 ` Laurent Vivier
2020-02-07 14:25 ` Michael S. Tsirkin
2020-02-07 14:31 ` Philippe Mathieu-Daudé
0 siblings, 2 replies; 10+ messages in thread
From: Laurent Vivier @ 2020-02-07 14:22 UTC (permalink / raw)
To: Michael S. Tsirkin, Philippe Mathieu-Daudé
Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
Mark Cave-Ayland, qemu-devel, Alistair Francis, Edgar E. Iglesias,
Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
Aleksandar Rikalo, Richard Henderson, Artyom Tarasenko,
Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
David Gibson, qemu-riscv, Thomas Huth, Bastian Koppelmann,
Cornelia Huck, Michael Walle, qemu-ppc, Aleksandar Markovic,
Paolo Bonzini, Aurelien Jarno
Le 07/02/2020 à 15:11, Michael S. Tsirkin a écrit :
> On Fri, Feb 07, 2020 at 02:04:52PM +0100, Philippe Mathieu-Daudé wrote:
>> There's no good reason for it to be type int, change it to bool.
>>
>> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
>
>> ---
>> v3: new patch
>> ---
>> include/hw/boards.h | 2 +-
>> hw/alpha/dp264.c | 2 +-
>> hw/cris/axis_dev88.c | 2 +-
>> hw/hppa/machine.c | 2 +-
>> hw/i386/pc_piix.c | 10 +++++-----
>> hw/lm32/lm32_boards.c | 2 +-
>> hw/m68k/mcf5208.c | 2 +-
>> hw/microblaze/petalogix_s3adsp1800_mmu.c | 2 +-
>> hw/mips/mips_malta.c | 2 +-
>> hw/moxie/moxiesim.c | 2 +-
>> hw/nios2/10m50_devboard.c | 2 +-
>> hw/openrisc/openrisc_sim.c | 2 +-
>> hw/ppc/mac_oldworld.c | 2 +-
>> hw/ppc/spapr.c | 2 +-
>> hw/riscv/spike.c | 2 +-
>> hw/s390x/s390-virtio-ccw.c | 2 +-
>> hw/sh4/shix.c | 2 +-
>> hw/sparc/sun4m.c | 2 +-
>> hw/sparc64/niagara.c | 2 +-
>> hw/sparc64/sun4u.c | 4 ++--
>> hw/unicore32/puv3.c | 2 +-
>> 21 files changed, 26 insertions(+), 26 deletions(-)
>>
...
>> diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c
>> index 5eb2d097b9..81a1748fad 100644
>> --- a/hw/sparc64/niagara.c
>> +++ b/hw/sparc64/niagara.c
>> @@ -170,7 +170,7 @@ static void niagara_class_init(ObjectClass *oc, void *data)
>>
>> mc->desc = "Sun4v platform, Niagara";
>> mc->init = niagara_init;
>> - mc->max_cpus = 1; /* XXX for now */
>> + mc->max_cpus = true; /* XXX for now */
what happened here ^^^
>> mc->default_boot_order = "c";
>> mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
>> }
>> diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
>> index b7ac42f7a5..3c2c9d2eb0 100644
>> --- a/hw/sparc64/sun4u.c
>> +++ b/hw/sparc64/sun4u.c
>> @@ -816,7 +816,7 @@ static void sun4u_class_init(ObjectClass *oc, void *data)
>> mc->init = sun4u_init;
>> mc->block_default_type = IF_IDE;
>> mc->max_cpus = 1; /* XXX for now */
>> - mc->is_default = 1;
>> + mc->is_default = true;
>> mc->default_boot_order = "c";
>> mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi");
>> mc->ignore_boot_device_suffixes = true;
>> @@ -841,7 +841,7 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
>> mc->desc = "Sun4v platform";
>> mc->init = sun4v_init;
>> mc->block_default_type = IF_IDE;
>> - mc->max_cpus = 1; /* XXX for now */
>> + mc->max_cpus = true; /* XXX for now */
and here ^^
Thanks,
Laurent
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type
2020-02-07 14:22 ` Laurent Vivier
@ 2020-02-07 14:25 ` Michael S. Tsirkin
2020-02-23 9:04 ` Paolo Bonzini
2020-02-07 14:31 ` Philippe Mathieu-Daudé
1 sibling, 1 reply; 10+ messages in thread
From: Michael S. Tsirkin @ 2020-02-07 14:25 UTC (permalink / raw)
To: Laurent Vivier
Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
Mark Cave-Ayland, qemu-devel, Alistair Francis, Edgar E. Iglesias,
Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
Aleksandar Rikalo, Richard Henderson, Philippe Mathieu-Daudé,
Artyom Tarasenko, Eduardo Habkost, Richard Henderson, qemu-s390x,
Stafford Horne, David Gibson, qemu-riscv, Thomas Huth,
Bastian Koppelmann, Cornelia Huck, Michael Walle, qemu-ppc,
Aleksandar Markovic, Paolo Bonzini, Aurelien Jarno
On Fri, Feb 07, 2020 at 03:22:19PM +0100, Laurent Vivier wrote:
> Le 07/02/2020 à 15:11, Michael S. Tsirkin a écrit :
> > On Fri, Feb 07, 2020 at 02:04:52PM +0100, Philippe Mathieu-Daudé wrote:
> >> There's no good reason for it to be type int, change it to bool.
> >>
> >> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> >
> > Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> >
> >> ---
> >> v3: new patch
> >> ---
> >> include/hw/boards.h | 2 +-
> >> hw/alpha/dp264.c | 2 +-
> >> hw/cris/axis_dev88.c | 2 +-
> >> hw/hppa/machine.c | 2 +-
> >> hw/i386/pc_piix.c | 10 +++++-----
> >> hw/lm32/lm32_boards.c | 2 +-
> >> hw/m68k/mcf5208.c | 2 +-
> >> hw/microblaze/petalogix_s3adsp1800_mmu.c | 2 +-
> >> hw/mips/mips_malta.c | 2 +-
> >> hw/moxie/moxiesim.c | 2 +-
> >> hw/nios2/10m50_devboard.c | 2 +-
> >> hw/openrisc/openrisc_sim.c | 2 +-
> >> hw/ppc/mac_oldworld.c | 2 +-
> >> hw/ppc/spapr.c | 2 +-
> >> hw/riscv/spike.c | 2 +-
> >> hw/s390x/s390-virtio-ccw.c | 2 +-
> >> hw/sh4/shix.c | 2 +-
> >> hw/sparc/sun4m.c | 2 +-
> >> hw/sparc64/niagara.c | 2 +-
> >> hw/sparc64/sun4u.c | 4 ++--
> >> hw/unicore32/puv3.c | 2 +-
> >> 21 files changed, 26 insertions(+), 26 deletions(-)
> >>
> ...
> >> diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c
> >> index 5eb2d097b9..81a1748fad 100644
> >> --- a/hw/sparc64/niagara.c
> >> +++ b/hw/sparc64/niagara.c
> >> @@ -170,7 +170,7 @@ static void niagara_class_init(ObjectClass *oc, void *data)
> >>
> >> mc->desc = "Sun4v platform, Niagara";
> >> mc->init = niagara_init;
> >> - mc->max_cpus = 1; /* XXX for now */
> >> + mc->max_cpus = true; /* XXX for now */
>
> what happened here ^^^
>
> >> mc->default_boot_order = "c";
> >> mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
> >> }
> >> diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
> >> index b7ac42f7a5..3c2c9d2eb0 100644
> >> --- a/hw/sparc64/sun4u.c
> >> +++ b/hw/sparc64/sun4u.c
> >> @@ -816,7 +816,7 @@ static void sun4u_class_init(ObjectClass *oc, void *data)
> >> mc->init = sun4u_init;
> >> mc->block_default_type = IF_IDE;
> >> mc->max_cpus = 1; /* XXX for now */
> >> - mc->is_default = 1;
> >> + mc->is_default = true;
> >> mc->default_boot_order = "c";
> >> mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi");
> >> mc->ignore_boot_device_suffixes = true;
> >> @@ -841,7 +841,7 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
> >> mc->desc = "Sun4v platform";
> >> mc->init = sun4v_init;
> >> mc->block_default_type = IF_IDE;
> >> - mc->max_cpus = 1; /* XXX for now */
> >> + mc->max_cpus = true; /* XXX for now */
>
> and here ^^
>
> Thanks,
> Laurent
Ooh good catch. Which probably means we don't have a unit test for these
...
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type
2020-02-07 14:22 ` Laurent Vivier
2020-02-07 14:25 ` Michael S. Tsirkin
@ 2020-02-07 14:31 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-07 14:31 UTC (permalink / raw)
To: Laurent Vivier, Michael S. Tsirkin
Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
Mark Cave-Ayland, qemu-devel, Alistair Francis, Edgar E. Iglesias,
Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
Aleksandar Rikalo, Richard Henderson, Artyom Tarasenko,
Eduardo Habkost, Richard Henderson, qemu-s390x, Stafford Horne,
David Gibson, qemu-riscv, Thomas Huth, Bastian Koppelmann,
Cornelia Huck, Michael Walle, qemu-ppc, Aleksandar Markovic,
Paolo Bonzini, Aurelien Jarno
On 2/7/20 3:22 PM, Laurent Vivier wrote:
> Le 07/02/2020 à 15:11, Michael S. Tsirkin a écrit :
>> On Fri, Feb 07, 2020 at 02:04:52PM +0100, Philippe Mathieu-Daudé wrote:
>>> There's no good reason for it to be type int, change it to bool.
>>>
>>> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>
>> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
>>
>>> ---
>>> v3: new patch
>>> ---
>>> include/hw/boards.h | 2 +-
>>> hw/alpha/dp264.c | 2 +-
>>> hw/cris/axis_dev88.c | 2 +-
>>> hw/hppa/machine.c | 2 +-
>>> hw/i386/pc_piix.c | 10 +++++-----
>>> hw/lm32/lm32_boards.c | 2 +-
>>> hw/m68k/mcf5208.c | 2 +-
>>> hw/microblaze/petalogix_s3adsp1800_mmu.c | 2 +-
>>> hw/mips/mips_malta.c | 2 +-
>>> hw/moxie/moxiesim.c | 2 +-
>>> hw/nios2/10m50_devboard.c | 2 +-
>>> hw/openrisc/openrisc_sim.c | 2 +-
>>> hw/ppc/mac_oldworld.c | 2 +-
>>> hw/ppc/spapr.c | 2 +-
>>> hw/riscv/spike.c | 2 +-
>>> hw/s390x/s390-virtio-ccw.c | 2 +-
>>> hw/sh4/shix.c | 2 +-
>>> hw/sparc/sun4m.c | 2 +-
>>> hw/sparc64/niagara.c | 2 +-
>>> hw/sparc64/sun4u.c | 4 ++--
>>> hw/unicore32/puv3.c | 2 +-
>>> 21 files changed, 26 insertions(+), 26 deletions(-)
>>>
> ...
>>> diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c
>>> index 5eb2d097b9..81a1748fad 100644
>>> --- a/hw/sparc64/niagara.c
>>> +++ b/hw/sparc64/niagara.c
>>> @@ -170,7 +170,7 @@ static void niagara_class_init(ObjectClass *oc, void *data)
>>>
>>> mc->desc = "Sun4v platform, Niagara";
>>> mc->init = niagara_init;
>>> - mc->max_cpus = 1; /* XXX for now */
>>> + mc->max_cpus = true; /* XXX for now */
>
> what happened here ^^^
>
>>> mc->default_boot_order = "c";
>>> mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Sun-UltraSparc-T1");
>>> }
>>> diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
>>> index b7ac42f7a5..3c2c9d2eb0 100644
>>> --- a/hw/sparc64/sun4u.c
>>> +++ b/hw/sparc64/sun4u.c
>>> @@ -816,7 +816,7 @@ static void sun4u_class_init(ObjectClass *oc, void *data)
>>> mc->init = sun4u_init;
>>> mc->block_default_type = IF_IDE;
>>> mc->max_cpus = 1; /* XXX for now */
>>> - mc->is_default = 1;
>>> + mc->is_default = true;
>>> mc->default_boot_order = "c";
>>> mc->default_cpu_type = SPARC_CPU_TYPE_NAME("TI-UltraSparc-IIi");
>>> mc->ignore_boot_device_suffixes = true;
>>> @@ -841,7 +841,7 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
>>> mc->desc = "Sun4v platform";
>>> mc->init = sun4v_init;
>>> mc->block_default_type = IF_IDE;
>>> - mc->max_cpus = 1; /* XXX for now */
>>> + mc->max_cpus = true; /* XXX for now */
>
> and here ^^
lol too few cases so I was lazy to use a sed regex... v4 coming soon.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type
2020-02-07 14:25 ` Michael S. Tsirkin
@ 2020-02-23 9:04 ` Paolo Bonzini
0 siblings, 0 replies; 10+ messages in thread
From: Paolo Bonzini @ 2020-02-23 9:04 UTC (permalink / raw)
To: Michael S. Tsirkin, Laurent Vivier
Cc: Chris Wulff, Sagar Karandikar, David Hildenbrand, Anthony Green,
Mark Cave-Ayland, qemu-devel, Alistair Francis, Edgar E. Iglesias,
Guan Xuetao, Marek Vasut, Jia Liu, qemu-trivial, Helge Deller,
Magnus Damm, Halil Pasic, Christian Borntraeger, Palmer Dabbelt,
Aleksandar Rikalo, Richard Henderson, Philippe Mathieu-Daudé,
Artyom Tarasenko, Eduardo Habkost, Richard Henderson, qemu-s390x,
Stafford Horne, David Gibson, qemu-riscv, Thomas Huth,
Bastian Koppelmann, Cornelia Huck, Michael Walle, qemu-ppc,
Aleksandar Markovic, Aurelien Jarno
On 07/02/20 15:25, Michael S. Tsirkin wrote:
>>>> @@ -841,7 +841,7 @@ static void sun4v_class_init(ObjectClass *oc, void *data)
>>>> mc->desc = "Sun4v platform";
>>>> mc->init = sun4v_init;
>>>> mc->block_default_type = IF_IDE;
>>>> - mc->max_cpus = 1; /* XXX for now */
>>>> + mc->max_cpus = true; /* XXX for now */
>>
>> and here ^^
>>
>> Thanks,
>> Laurent
>
> Ooh good catch. Which probably means we don't have a unit test for these
"= true" just becomes "= 1".
Paolo
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2020-02-23 9:05 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-07 13:04 [PATCH v3 0/3] Make MachineClass::is_default boolean, refuse multiple default machines Philippe Mathieu-Daudé
2020-02-07 13:04 ` [PATCH v3 1/3] hw: Do not initialize MachineClass::is_default to 0 Philippe Mathieu-Daudé
2020-02-07 13:04 ` [PATCH v3 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé
2020-02-07 14:11 ` Michael S. Tsirkin
2020-02-07 14:22 ` Laurent Vivier
2020-02-07 14:25 ` Michael S. Tsirkin
2020-02-23 9:04 ` Paolo Bonzini
2020-02-07 14:31 ` Philippe Mathieu-Daudé
2020-02-07 13:04 ` [PATCH v3 3/3] vl: Abort if multiple machines are registered as default Philippe Mathieu-Daudé
2020-02-07 14:11 ` Michael S. Tsirkin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).