On Fri, Dec 17, 2021 at 03:29:13PM +0100, Cornelia Huck wrote: > On Fri, Dec 17 2021, Daniel P. Berrangé <berra...@redhat.com> wrote: > > > On Fri, Dec 17, 2021 at 09:13:55AM +0100, Cornelia Huck wrote: > >> On Wed, Dec 08 2021, Cornelia Huck <coh...@redhat.com> wrote: > >> > >> > Add 7.0 machine types for arm/i440fx/q35/s390x/spapr. > >> > > >> > Signed-off-by: Cornelia Huck <coh...@redhat.com> > >> > --- > >> > hw/arm/virt.c | 9 ++++++++- > >> > hw/core/machine.c | 3 +++ > >> > hw/i386/pc.c | 3 +++ > >> > hw/i386/pc_piix.c | 14 +++++++++++++- > >> > hw/i386/pc_q35.c | 13 ++++++++++++- > >> > hw/ppc/spapr.c | 15 +++++++++++++-- > >> > hw/s390x/s390-virtio-ccw.c | 14 +++++++++++++- > >> > include/hw/boards.h | 3 +++ > >> > include/hw/i386/pc.h | 3 +++ > >> > 9 files changed, 71 insertions(+), 6 deletions(-) > >> > > >> > > > > > >> > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > >> > index 223dd3e05d15..b03026bf0648 100644 > >> > --- a/hw/i386/pc_piix.c > >> > +++ b/hw/i386/pc_piix.c > >> > @@ -413,7 +413,7 @@ static void pc_i440fx_machine_options(MachineClass > >> > *m) > >> > machine_class_allow_dynamic_sysbus_dev(m, TYPE_VMBUS_BRIDGE); > >> > } > >> > > >> > -static void pc_i440fx_6_2_machine_options(MachineClass *m) > >> > +static void pc_i440fx_7_0_machine_options(MachineClass *m) > >> > { > >> > PCMachineClass *pcmc = PC_MACHINE_CLASS(m); > >> > pc_i440fx_machine_options(m); > >> > @@ -422,6 +422,18 @@ static void > >> > pc_i440fx_6_2_machine_options(MachineClass *m) > >> > pcmc->default_cpu_version = 1; > >> > } > >> > > >> > +DEFINE_I440FX_MACHINE(v7_0, "pc-i440fx-7.0", NULL, > >> > + pc_i440fx_7_0_machine_options); > >> > + > >> > +static void pc_i440fx_6_2_machine_options(MachineClass *m) > >> > +{ > >> > + pc_i440fx_machine_options(m); > > > > Needs to be pc_i440fx_7_0_machine_options() > > > >> > + m->alias = NULL; > >> > + m->is_default = false; > >> > + compat_props_add(m->compat_props, hw_compat_6_2, hw_compat_6_2_len); > >> > + compat_props_add(m->compat_props, pc_compat_6_2, pc_compat_6_2_len); > >> > +} > >> > + > >> > DEFINE_I440FX_MACHINE(v6_2, "pc-i440fx-6.2", NULL, > >> > pc_i440fx_6_2_machine_options); > >> > > >> > diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c > >> > index e1e100316d93..6b66eb16bb64 100644 > >> > --- a/hw/i386/pc_q35.c > >> > +++ b/hw/i386/pc_q35.c > >> > @@ -360,7 +360,7 @@ static void pc_q35_machine_options(MachineClass *m) > >> > m->max_cpus = 288; > >> > } > >> > > >> > -static void pc_q35_6_2_machine_options(MachineClass *m) > >> > +static void pc_q35_7_0_machine_options(MachineClass *m) > >> > { > >> > PCMachineClass *pcmc = PC_MACHINE_CLASS(m); > >> > pc_q35_machine_options(m); > >> > @@ -368,6 +368,17 @@ static void pc_q35_6_2_machine_options(MachineClass > >> > *m) > >> > pcmc->default_cpu_version = 1; > >> > } > >> > > >> > +DEFINE_Q35_MACHINE(v7_0, "pc-q35-7.0", NULL, > >> > + pc_q35_7_0_machine_options); > >> > + > >> > +static void pc_q35_6_2_machine_options(MachineClass *m) > >> > +{ > >> > + pc_q35_machine_options(m); > > > > Needs to be pc_q35_7_0_machine_options() > > > >> > + m->alias = NULL; > >> > + compat_props_add(m->compat_props, hw_compat_6_2, hw_compat_6_2_len); > >> > + compat_props_add(m->compat_props, pc_compat_6_2, pc_compat_6_2_len); > >> > +} > >> > + > >> > DEFINE_Q35_MACHINE(v6_2, "pc-q35-6.2", NULL, > >> > pc_q35_6_2_machine_options); > >> > > >> > >> So, this apparently causes some problems with one of the avocado tests: > >> > >> 162-tests/avocado/x86_cpu_model_versions.py:X86CPUModelAliases.test_4_1_alias > >> -> AssertionError: None != 'Cascadelake-Server-v1' : Cascadelake-Server > >> must be an alias of Cascadelake-Server-v1 > >> > >> (full output at https://gitlab.com/qemu-project/qemu/-/jobs/1893456217) > >> > >> I have looked at the patch again and do not see what might be wrong (has > >> something changed with the cpu model versioning recently?) > >> > >> Does anyone else (especially the x86 folks) have an idea? > > > > AFAICT, just a typo in chaining up the methods I've pointed out inline. > > Duh, indeed. Thanks for spotting this. > > Will send a v2. > >
/me wonders if this patch could be generated with a "simple" script in order to avoid typos and/or forgetting lines. It seems like all architectures have pretty consistent patterns. Thanks, drew