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.