On Fri, 11 Sep 2015 17:14:25 -0300 Eduardo Habkost <ehabk...@redhat.com> wrote:
> Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> > --- > hw/i386/pc_piix.c | 14 +++++++++++++- > hw/i386/pc_q35.c | 12 +++++++++++- > include/hw/compat.h | 3 +++ > include/hw/i386/pc.h | 4 ++++ > 4 files changed, 31 insertions(+), 2 deletions(-) > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index 2d9df7c..caa4edc 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -464,7 +464,7 @@ static void pc_i440fx_machine_options(MachineClass *m) > m->default_display = "std"; > } > > -static void pc_i440fx_2_4_machine_options(MachineClass *m) > +static void pc_i440fx_2_5_machine_options(MachineClass *m) > { > PCMachineClass *pcmc = PC_MACHINE_CLASS(m); > pc_i440fx_machine_options(m); > @@ -473,6 +473,18 @@ static void pc_i440fx_2_4_machine_options(MachineClass > *m) > m->is_default = 1; > } > > +DEFINE_I440FX_MACHINE(v2_5, "pc-i440fx-2.5", NULL, > + pc_i440fx_2_5_machine_options); > + > + > +static void pc_i440fx_2_4_machine_options(MachineClass *m) > +{ > + pc_i440fx_2_5_machine_options(m); > + m->alias = NULL; > + m->is_default = 0; > + SET_MACHINE_COMPAT(m, PC_COMPAT_2_4); > +} > + > DEFINE_I440FX_MACHINE(v2_4, "pc-i440fx-2.4", NULL, > pc_i440fx_2_4_machine_options) > > diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c > index 966eedb..506b6bf 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->no_tco = 0; > } > > -static void pc_q35_2_4_machine_options(MachineClass *m) > +static void pc_q35_2_5_machine_options(MachineClass *m) > { move pcmc->broken_reserved_end = true from 2.5 to 2.4 options, the same applies to piix case as well. > PCMachineClass *pcmc = PC_MACHINE_CLASS(m); > pc_q35_machine_options(m); > @@ -378,6 +378,16 @@ static void pc_q35_2_4_machine_options(MachineClass *m) > m->alias = "q35"; > } > > +DEFINE_Q35_MACHINE(v2_5, "pc-q35-2.5", NULL, > + pc_q35_2_5_machine_options); > + > +static void pc_q35_2_4_machine_options(MachineClass *m) > +{ > + pc_q35_2_5_machine_options(m); > + m->alias = NULL; > + SET_MACHINE_COMPAT(m, PC_COMPAT_2_4); > +} > + > DEFINE_Q35_MACHINE(v2_4, "pc-q35-2.4", NULL, > pc_q35_2_4_machine_options); > > diff --git a/include/hw/compat.h b/include/hw/compat.h > index 94c8097..095de5d 100644 > --- a/include/hw/compat.h > +++ b/include/hw/compat.h > @@ -1,6 +1,9 @@ > #ifndef HW_COMPAT_H > #define HW_COMPAT_H > > +#define HW_COMPAT_2_4 \ > + /* empty */ > + > #define HW_COMPAT_2_3 \ > {\ > .driver = "virtio-blk-pci",\ > diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h > index 3e002c9..6896328 100644 > --- a/include/hw/i386/pc.h > +++ b/include/hw/i386/pc.h > @@ -291,7 +291,11 @@ int e820_add_entry(uint64_t, uint64_t, uint32_t); > int e820_get_num_entries(void); > bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *); > > +#define PC_COMPAT_2_4 \ > + HW_COMPAT_2_4 > + > #define PC_COMPAT_2_3 \ > + PC_COMPAT_2_4 \ > HW_COMPAT_2_3 \ > {\ > .driver = TYPE_X86_CPU,\