On Sat, 8 Feb 2020 17:56:44 +0100 Philippe Mathieu-Daudé <f4...@amsat.org> wrote:
> With the exception of the ignore_memory_transaction_failures > flag set for the raspi2, both machine_class_init() methods > are now identical. Merge them to keep a unique method. > > Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> Reviewed-by: Igor Mammedov <imamm...@redhat.com> > --- > hw/arm/raspi.c | 31 ++++++------------------------- > 1 file changed, 6 insertions(+), 25 deletions(-) > > diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c > index 0537fc0a2d..bee6ca0a08 100644 > --- a/hw/arm/raspi.c > +++ b/hw/arm/raspi.c > @@ -294,7 +294,7 @@ static void raspi_machine_init(MachineState *machine) > setup_boot(machine, version, machine->ram_size - vcram_size); > } > > -static void raspi2_machine_class_init(ObjectClass *oc, void *data) > +static void raspi_machine_class_init(ObjectClass *oc, void *data) > { > MachineClass *mc = MACHINE_CLASS(oc); > RaspiMachineClass *rmc = RASPI_MACHINE_CLASS(oc); > @@ -311,41 +311,22 @@ static void raspi2_machine_class_init(ObjectClass *oc, > void *data) > mc->min_cpus = BCM283X_NCPUS; > mc->default_cpus = BCM283X_NCPUS; > mc->default_ram_size = board_ram_size(board_rev); > - mc->ignore_memory_transaction_failures = true; > + if (board_version(board_rev) == 2) { > + mc->ignore_memory_transaction_failures = true; > + } > }; > > -#ifdef TARGET_AARCH64 > -static void raspi3_machine_class_init(ObjectClass *oc, void *data) > -{ > - MachineClass *mc = MACHINE_CLASS(oc); > - RaspiMachineClass *rmc = RASPI_MACHINE_CLASS(oc); > - uint32_t board_rev = (uint32_t)(uintptr_t)data; > - > - rmc->board_rev = board_rev; > - mc->desc = g_strdup_printf("Raspberry Pi %s", board_type(board_rev)); > - mc->init = raspi_machine_init; > - mc->block_default_type = IF_SD; > - mc->no_parallel = 1; > - mc->no_floppy = 1; > - mc->no_cdrom = 1; > - mc->max_cpus = BCM283X_NCPUS; > - mc->min_cpus = BCM283X_NCPUS; > - mc->default_cpus = BCM283X_NCPUS; > - mc->default_ram_size = board_ram_size(board_rev); > -} > -#endif > - > static const TypeInfo raspi_machine_types[] = { > { > .name = MACHINE_TYPE_NAME("raspi2"), > .parent = TYPE_RASPI_MACHINE, > - .class_init = raspi2_machine_class_init, > + .class_init = raspi_machine_class_init, > .class_data = (void *)0xa21041, > #ifdef TARGET_AARCH64 > }, { > .name = MACHINE_TYPE_NAME("raspi3"), > .parent = TYPE_RASPI_MACHINE, > - .class_init = raspi3_machine_class_init, > + .class_init = raspi_machine_class_init, > .class_data = (void *)0xa02082, > #endif > }, {