On Fri, Nov 18 2022, Thomas Huth <th...@redhat.com> wrote: > On 11/11/2022 13.45, Cornelia Huck wrote: >> Add 8.0 machine types for arm/i440fx/m68k/q35/s390x/spapr. >> >> Signed-off-by: Cornelia Huck <coh...@redhat.com> >> --- > ... >> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c >> index 0ad0ed160387..1c0a7b83b545 100644 >> --- a/hw/i386/pc_piix.c >> +++ b/hw/i386/pc_piix.c >> @@ -435,7 +435,7 @@ static void pc_i440fx_machine_options(MachineClass *m) >> machine_class_allow_dynamic_sysbus_dev(m, TYPE_VMBUS_BRIDGE); >> } >> >> -static void pc_i440fx_7_2_machine_options(MachineClass *m) >> +static void pc_i440fx_8_0_machine_options(MachineClass *m) >> { >> PCMachineClass *pcmc = PC_MACHINE_CLASS(m); >> pc_i440fx_machine_options(m); >> @@ -444,6 +444,18 @@ static void pc_i440fx_7_2_machine_options(MachineClass >> *m) >> pcmc->default_cpu_version = 1; > > Instead of renaming pc_i440fx_7_2_machine_options() and introducing a new > pc_i440fx_7_2_machine_options() below, what about moving > pcmc->default_cpu_version = 1 into pc_i440fx_machine_options() instead, like > it is done with all other options? Then you could introduce a completely new > pc_i440fx_8_0_machine_options() which would be way more logical (also when > looking at this file with "git blame" later). > >> } >> >> +DEFINE_I440FX_MACHINE(v8_0, "pc-i440fx-8.0", NULL, >> + pc_i440fx_8_0_machine_options); >> + >> +static void pc_i440fx_7_2_machine_options(MachineClass *m) >> +{ >> + pc_i440fx_8_0_machine_options(m); >> + m->alias = NULL; >> + m->is_default = false; >> + compat_props_add(m->compat_props, hw_compat_7_2, hw_compat_7_2_len); >> + compat_props_add(m->compat_props, pc_compat_7_2, pc_compat_7_2_len); >> +} >> + >> DEFINE_I440FX_MACHINE(v7_2, "pc-i440fx-7.2", NULL, >> pc_i440fx_7_2_machine_options); >> >> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c >> index a496bd6e74f5..10bb49f679b0 100644 >> --- a/hw/i386/pc_q35.c >> +++ b/hw/i386/pc_q35.c >> @@ -370,7 +370,7 @@ static void pc_q35_machine_options(MachineClass *m) >> m->max_cpus = 288; >> } >> >> -static void pc_q35_7_2_machine_options(MachineClass *m) >> +static void pc_q35_8_0_machine_options(MachineClass *m) >> { >> PCMachineClass *pcmc = PC_MACHINE_CLASS(m); >> pc_q35_machine_options(m); >> @@ -378,6 +378,17 @@ static void pc_q35_7_2_machine_options(MachineClass *m) >> pcmc->default_cpu_version = 1; > > dito > >> } >> >> +DEFINE_Q35_MACHINE(v8_0, "pc-q35-8.0", NULL, >> + pc_q35_8_0_machine_options); >> + >> +static void pc_q35_7_2_machine_options(MachineClass *m) >> +{ >> + pc_q35_8_0_machine_options(m); >> + m->alias = NULL; >> + compat_props_add(m->compat_props, hw_compat_7_2, hw_compat_7_2_len); >> + compat_props_add(m->compat_props, pc_compat_7_2, pc_compat_7_2_len); >> +} >> + >> DEFINE_Q35_MACHINE(v7_2, "pc-q35-7.2", NULL, >> pc_q35_7_2_machine_options); >> > > Would it make sense to remove the m->alias = NULL from the 7.1 and earlier > machine types now?
Hm, all of this is how we've done machine type updates for the last few years :) We can certainly clean up the redundant stuff, but I'd prefer to do that via a separate patch.