* [PATCH v4 0/3] Make MachineClass::is_default boolean, refuse multiple default machines @ 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é ` (3 more replies) 0 siblings, 4 replies; 21+ 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] 21+ messages in thread
* [PATCH v4 1/3] hw: Do not initialize MachineClass::is_default to 0 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 17:44 ` Laurent Vivier ` (2 more replies) 2020-02-07 16:19 ` [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé ` (2 subsequent siblings) 3 siblings, 3 replies; 21+ 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] 21+ messages in thread
* Re: [PATCH v4 1/3] hw: Do not initialize MachineClass::is_default to 0 2020-02-07 16:19 ` [PATCH v4 1/3] hw: Do not initialize MachineClass::is_default to 0 Philippe Mathieu-Daudé @ 2020-02-07 17:44 ` Laurent Vivier 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 2 siblings, 0 replies; 21+ 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] 21+ messages in thread
* Re: [PATCH v4 1/3] hw: Do not initialize MachineClass::is_default to 0 2020-02-07 16:19 ` [PATCH v4 1/3] hw: Do not initialize MachineClass::is_default to 0 Philippe Mathieu-Daudé 2020-02-07 17:44 ` Laurent Vivier @ 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 2 siblings, 0 replies; 21+ 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] 21+ 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 ` [PATCH v4 1/3] hw: Do not initialize MachineClass::is_default to 0 Philippe Mathieu-Daudé 2020-02-07 17:44 ` Laurent Vivier 2020-02-08 9:23 ` David Gibson @ 2020-02-10 9:35 ` Thomas Huth 2020-02-10 10:08 ` Tricore default machine Philippe Mathieu-Daudé 2 siblings, 1 reply; 21+ 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] 21+ messages in thread
* Re: Tricore default machine 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 10:08 ` Philippe Mathieu-Daudé 2020-02-10 10:26 ` Thomas Huth 0 siblings, 1 reply; 21+ 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] 21+ messages in thread
* Re: Tricore default machine 2020-02-10 10:08 ` Tricore default machine Philippe Mathieu-Daudé @ 2020-02-10 10:26 ` Thomas Huth 2020-02-10 12:31 ` Bastian Koppelmann 0 siblings, 1 reply; 21+ 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] 21+ messages in thread
* Re: Tricore default machine 2020-02-10 10:26 ` Thomas Huth @ 2020-02-10 12:31 ` Bastian Koppelmann 2020-02-10 13:22 ` Peter Maydell 0 siblings, 1 reply; 21+ 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] 21+ messages in thread
* Re: Tricore default machine 2020-02-10 12:31 ` Bastian Koppelmann @ 2020-02-10 13:22 ` Peter Maydell 2020-02-10 13:25 ` Philippe Mathieu-Daudé 0 siblings, 1 reply; 21+ 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] 21+ messages in thread
* Re: Tricore default machine 2020-02-10 13:22 ` Peter Maydell @ 2020-02-10 13:25 ` Philippe Mathieu-Daudé 0 siblings, 0 replies; 21+ 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] 21+ messages in thread
* [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type 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 ` [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 16:32 ` Marc-André Lureau ` (4 more replies) 2020-02-07 16:19 ` [PATCH v4 3/3] vl: Abort if multiple machines are registered as default Philippe Mathieu-Daudé 2020-02-07 18:03 ` [PATCH v4 0/3] Make MachineClass::is_default boolean, refuse multiple default machines Eduardo Habkost 3 siblings, 5 replies; 21+ 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] 21+ messages in thread
* Re: [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type 2020-02-07 16:19 ` [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé @ 2020-02-07 16:32 ` Marc-André Lureau 2020-02-07 17:48 ` Laurent Vivier ` (3 subsequent siblings) 4 siblings, 0 replies; 21+ 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] 21+ messages in thread
* Re: [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type 2020-02-07 16:19 ` [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé 2020-02-07 16:32 ` Marc-André Lureau @ 2020-02-07 17:48 ` Laurent Vivier 2020-02-08 9:24 ` David Gibson ` (2 subsequent siblings) 4 siblings, 0 replies; 21+ 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] 21+ messages in thread
* Re: [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type 2020-02-07 16:19 ` [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé 2020-02-07 16:32 ` Marc-André Lureau 2020-02-07 17:48 ` Laurent Vivier @ 2020-02-08 9:24 ` David Gibson 2020-02-10 8:51 ` Cornelia Huck 2020-02-10 9:22 ` Thomas Huth 4 siblings, 0 replies; 21+ 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] 21+ messages in thread
* Re: [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type 2020-02-07 16:19 ` [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé ` (2 preceding siblings ...) 2020-02-08 9:24 ` David Gibson @ 2020-02-10 8:51 ` Cornelia Huck 2020-02-10 9:22 ` Thomas Huth 4 siblings, 0 replies; 21+ 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] 21+ messages in thread
* Re: [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type 2020-02-07 16:19 ` [PATCH v4 2/3] hw: Make MachineClass::is_default a boolean type Philippe Mathieu-Daudé ` (3 preceding siblings ...) 2020-02-10 8:51 ` Cornelia Huck @ 2020-02-10 9:22 ` Thomas Huth 4 siblings, 0 replies; 21+ 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] 21+ messages in thread
* [PATCH v4 3/3] vl: Abort if multiple machines are registered as default 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 ` [PATCH v4 1/3] hw: Do not initialize MachineClass::is_default to 0 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:31 ` Marc-André Lureau ` (2 more replies) 2020-02-07 18:03 ` [PATCH v4 0/3] Make MachineClass::is_default boolean, refuse multiple default machines Eduardo Habkost 3 siblings, 3 replies; 21+ 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] 21+ messages in thread
* Re: [PATCH v4 3/3] vl: Abort if multiple machines are registered as default 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:31 ` Marc-André Lureau 2020-02-07 18:05 ` Laurent Vivier 2020-02-08 9:25 ` David Gibson 2 siblings, 0 replies; 21+ 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] 21+ messages in thread
* Re: [PATCH v4 3/3] vl: Abort if multiple machines are registered as default 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:31 ` Marc-André Lureau @ 2020-02-07 18:05 ` Laurent Vivier 2020-02-08 9:25 ` David Gibson 2 siblings, 0 replies; 21+ 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] 21+ messages in thread
* Re: [PATCH v4 3/3] vl: Abort if multiple machines are registered as default 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:31 ` Marc-André Lureau 2020-02-07 18:05 ` Laurent Vivier @ 2020-02-08 9:25 ` David Gibson 2 siblings, 0 replies; 21+ 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] 21+ messages in thread
* Re: [PATCH v4 0/3] Make MachineClass::is_default boolean, refuse multiple default machines 2020-02-07 16:19 [PATCH v4 0/3] Make MachineClass::is_default boolean, refuse multiple default machines Philippe Mathieu-Daudé ` (2 preceding siblings ...) 2020-02-07 16:19 ` [PATCH v4 3/3] vl: Abort if multiple machines are registered as default Philippe Mathieu-Daudé @ 2020-02-07 18:03 ` Eduardo Habkost 3 siblings, 0 replies; 21+ 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] 21+ messages in thread
end of thread, other threads:[~2020-02-10 13:26 UTC | newest] Thread overview: 21+ 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 ` [PATCH v4 1/3] hw: Do not initialize MachineClass::is_default to 0 Philippe Mathieu-Daudé 2020-02-07 17:44 ` Laurent Vivier 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 10:08 ` Tricore default machine Philippe Mathieu-Daudé 2020-02-10 10:26 ` Thomas Huth 2020-02-10 12:31 ` Bastian Koppelmann 2020-02-10 13:22 ` Peter Maydell 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:32 ` Marc-André Lureau 2020-02-07 17:48 ` Laurent Vivier 2020-02-08 9:24 ` David Gibson 2020-02-10 8:51 ` Cornelia Huck 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:31 ` Marc-André Lureau 2020-02-07 18:05 ` Laurent Vivier 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
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).