* [Qemu-devel] [PATCH v3 0/3] pc-*-2.5 machine-types @ 2015-09-14 14:32 Eduardo Habkost 2015-09-14 14:32 ` [Qemu-devel] [PATCH v3 1/3] q35: Move options common to all classes to pc_q35_machine_options() Eduardo Habkost ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Eduardo Habkost @ 2015-09-14 14:32 UTC (permalink / raw) To: qemu-devel Cc: Paolo Bonzini, Igor Mammedov, Richard Henderson, Jason Wang, Michael S. Tsirkin This introduces the pc-q35-2.5 and pc-i440fx-2.5 machine-types. Changes v2 -> v3: * Move broken_reserved_end=true to pc_*_2_4_machine_options() Reported-by: Igor Mammedov <imammedo@redhat.com> * Fixed patch description on patch 2/3 (s/q35/piix/) Reported-by: Igor Mammedov <imammedo@redhat.com> * Improved patch description on patch 3/3 Changes v1 -> v2: * Trivial rebase on top of latest qemu.git master Eduardo Habkost (3): q35: Move options common to all classes to pc_q35_machine_options() piix: Move options common to all classes to pc_i440fx_machine_options() pc: Introduce pc-*-2.5 machine classes hw/i386/pc_piix.c | 22 +++++++++++++++++----- hw/i386/pc_q35.c | 22 ++++++++++++++++------ include/hw/compat.h | 3 +++ include/hw/i386/pc.h | 4 ++++ 4 files changed, 40 insertions(+), 11 deletions(-) -- 2.1.0 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH v3 1/3] q35: Move options common to all classes to pc_q35_machine_options() 2015-09-14 14:32 [Qemu-devel] [PATCH v3 0/3] pc-*-2.5 machine-types Eduardo Habkost @ 2015-09-14 14:32 ` Eduardo Habkost 2015-09-14 14:32 ` [Qemu-devel] [PATCH v3 2/3] piix: Move options common to all classes to pc_i440fx_machine_options() Eduardo Habkost 2015-09-14 14:32 ` [Qemu-devel] [PATCH v3 3/3] pc: Introduce pc-*-2.5 machine classes Eduardo Habkost 2 siblings, 0 replies; 6+ messages in thread From: Eduardo Habkost @ 2015-09-14 14:32 UTC (permalink / raw) To: qemu-devel Cc: Paolo Bonzini, Igor Mammedov, Richard Henderson, Jason Wang, Michael S. Tsirkin The existing default_machine_opts, default_display, no_floppy, and no_tco settings will still apply to future machine classes. So it makes sense to move them to pc_q35_machine_options() instead of keeping them in a version-specific machine_options function. Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- hw/i386/pc_q35.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 11601ab..966eedb 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -364,6 +364,10 @@ static void pc_q35_machine_options(MachineClass *m) m->desc = "Standard PC (Q35 + ICH9, 2009)"; m->hot_add_cpu = pc_hot_add_cpu; m->units_per_default_bus = 1; + m->default_machine_opts = "firmware=bios-256k.bin"; + m->default_display = "std"; + m->no_floppy = 1; + m->no_tco = 0; } static void pc_q35_2_4_machine_options(MachineClass *m) @@ -371,10 +375,6 @@ static void pc_q35_2_4_machine_options(MachineClass *m) PCMachineClass *pcmc = PC_MACHINE_CLASS(m); pc_q35_machine_options(m); pcmc->broken_reserved_end = true; - m->default_machine_opts = "firmware=bios-256k.bin"; - m->default_display = "std"; - m->no_floppy = 1; - m->no_tco = 0; m->alias = "q35"; } -- 2.1.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH v3 2/3] piix: Move options common to all classes to pc_i440fx_machine_options() 2015-09-14 14:32 [Qemu-devel] [PATCH v3 0/3] pc-*-2.5 machine-types Eduardo Habkost 2015-09-14 14:32 ` [Qemu-devel] [PATCH v3 1/3] q35: Move options common to all classes to pc_q35_machine_options() Eduardo Habkost @ 2015-09-14 14:32 ` Eduardo Habkost 2015-09-14 14:32 ` [Qemu-devel] [PATCH v3 3/3] pc: Introduce pc-*-2.5 machine classes Eduardo Habkost 2 siblings, 0 replies; 6+ messages in thread From: Eduardo Habkost @ 2015-09-14 14:32 UTC (permalink / raw) To: qemu-devel Cc: Paolo Bonzini, Igor Mammedov, Richard Henderson, Jason Wang, Michael S. Tsirkin The existing default_machine_opts and default_display settings will still apply to future machine classes. So it makes sense to move them to pc_i440fx_machine_options() instead of keeping them in a version-specific machine_options function. Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- hw/i386/pc_piix.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 3f925b2..2d9df7c 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -460,6 +460,8 @@ static void pc_i440fx_machine_options(MachineClass *m) m->family = "pc_piix"; m->desc = "Standard PC (i440FX + PIIX, 1996)"; m->hot_add_cpu = pc_hot_add_cpu; + m->default_machine_opts = "firmware=bios-256k.bin"; + m->default_display = "std"; } static void pc_i440fx_2_4_machine_options(MachineClass *m) @@ -467,8 +469,6 @@ static void pc_i440fx_2_4_machine_options(MachineClass *m) PCMachineClass *pcmc = PC_MACHINE_CLASS(m); pc_i440fx_machine_options(m); pcmc->broken_reserved_end = true; - m->default_machine_opts = "firmware=bios-256k.bin"; - m->default_display = "std"; m->alias = "pc"; m->is_default = 1; } -- 2.1.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH v3 3/3] pc: Introduce pc-*-2.5 machine classes 2015-09-14 14:32 [Qemu-devel] [PATCH v3 0/3] pc-*-2.5 machine-types Eduardo Habkost 2015-09-14 14:32 ` [Qemu-devel] [PATCH v3 1/3] q35: Move options common to all classes to pc_q35_machine_options() Eduardo Habkost 2015-09-14 14:32 ` [Qemu-devel] [PATCH v3 2/3] piix: Move options common to all classes to pc_i440fx_machine_options() Eduardo Habkost @ 2015-09-14 14:32 ` Eduardo Habkost 2015-09-14 16:27 ` Igor Mammedov 2 siblings, 1 reply; 6+ messages in thread From: Eduardo Habkost @ 2015-09-14 14:32 UTC (permalink / raw) To: qemu-devel Cc: Paolo Bonzini, Igor Mammedov, Richard Henderson, Jason Wang, Michael S. Tsirkin Introduce pc-*-2.5 machine classes, and add HW_COMPAT_2_4/PC_COMPAT_2_4 macros that will allow pc-*-2.4 compat properties to be added. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- Changes v1 -> v2: * Trivial rebase to qemu.git master Changes v2 -> v3: * Move broken_reserved_end=true to pc_*_2_4_machine_options() Reported-by: Igor Mammedov <imammedo@redhat.com> * Improved commit message --- hw/i386/pc_piix.c | 18 +++++++++++++++--- hw/i386/pc_q35.c | 14 ++++++++++++-- include/hw/compat.h | 3 +++ include/hw/i386/pc.h | 4 ++++ 4 files changed, 34 insertions(+), 5 deletions(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 2d9df7c..3ffb05f 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -464,15 +464,27 @@ 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); - pcmc->broken_reserved_end = true; m->alias = "pc"; 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) +{ + PCMachineClass *pcmc = PC_MACHINE_CLASS(m); + pc_i440fx_2_5_machine_options(m); + m->alias = NULL; + m->is_default = 0; + pcmc->broken_reserved_end = true; + 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..1b7d3b6 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -370,12 +370,22 @@ static void pc_q35_machine_options(MachineClass *m) m->no_tco = 0; } +static void pc_q35_2_5_machine_options(MachineClass *m) +{ + pc_q35_machine_options(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) { PCMachineClass *pcmc = PC_MACHINE_CLASS(m); - pc_q35_machine_options(m); + pc_q35_2_5_machine_options(m); + m->alias = NULL; pcmc->broken_reserved_end = true; - m->alias = "q35"; + SET_MACHINE_COMPAT(m, PC_COMPAT_2_4); } DEFINE_Q35_MACHINE(v2_4, "pc-q35-2.4", NULL, 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,\ -- 2.1.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH v3 3/3] pc: Introduce pc-*-2.5 machine classes 2015-09-14 14:32 ` [Qemu-devel] [PATCH v3 3/3] pc: Introduce pc-*-2.5 machine classes Eduardo Habkost @ 2015-09-14 16:27 ` Igor Mammedov 2015-09-15 3:23 ` Jason Wang 0 siblings, 1 reply; 6+ messages in thread From: Igor Mammedov @ 2015-09-14 16:27 UTC (permalink / raw) To: Eduardo Habkost Cc: Paolo Bonzini, Jason Wang, Richard Henderson, qemu-devel, Michael S. Tsirkin On Mon, 14 Sep 2015 11:32:45 -0300 Eduardo Habkost <ehabkost@redhat.com> wrote: > Introduce pc-*-2.5 machine classes, and add HW_COMPAT_2_4/PC_COMPAT_2_4 > macros that will allow pc-*-2.4 compat properties to be added. > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > Changes v1 -> v2: > * Trivial rebase to qemu.git master > > Changes v2 -> v3: > * Move broken_reserved_end=true to pc_*_2_4_machine_options() > Reported-by: Igor Mammedov <imammedo@redhat.com> > * Improved commit message > --- > hw/i386/pc_piix.c | 18 +++++++++++++++--- > hw/i386/pc_q35.c | 14 ++++++++++++-- > include/hw/compat.h | 3 +++ > include/hw/i386/pc.h | 4 ++++ > 4 files changed, 34 insertions(+), 5 deletions(-) > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index 2d9df7c..3ffb05f 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -464,15 +464,27 @@ 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); > - pcmc->broken_reserved_end = true; > m->alias = "pc"; > 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) > +{ > + PCMachineClass *pcmc = PC_MACHINE_CLASS(m); > + pc_i440fx_2_5_machine_options(m); > + m->alias = NULL; > + m->is_default = 0; > + pcmc->broken_reserved_end = true; > + 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..1b7d3b6 100644 > --- a/hw/i386/pc_q35.c > +++ b/hw/i386/pc_q35.c > @@ -370,12 +370,22 @@ static void pc_q35_machine_options(MachineClass *m) > m->no_tco = 0; > } > > +static void pc_q35_2_5_machine_options(MachineClass *m) > +{ > + pc_q35_machine_options(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) > { > PCMachineClass *pcmc = PC_MACHINE_CLASS(m); > - pc_q35_machine_options(m); > + pc_q35_2_5_machine_options(m); > + m->alias = NULL; > pcmc->broken_reserved_end = true; > - m->alias = "q35"; > + SET_MACHINE_COMPAT(m, PC_COMPAT_2_4); > } > > DEFINE_Q35_MACHINE(v2_4, "pc-q35-2.4", NULL, > 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,\ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH v3 3/3] pc: Introduce pc-*-2.5 machine classes 2015-09-14 16:27 ` Igor Mammedov @ 2015-09-15 3:23 ` Jason Wang 0 siblings, 0 replies; 6+ messages in thread From: Jason Wang @ 2015-09-15 3:23 UTC (permalink / raw) To: Igor Mammedov, Eduardo Habkost Cc: Paolo Bonzini, Richard Henderson, qemu-devel, Michael S. Tsirkin On 09/15/2015 12:27 AM, Igor Mammedov wrote: > On Mon, 14 Sep 2015 11:32:45 -0300 > Eduardo Habkost <ehabkost@redhat.com> wrote: > >> Introduce pc-*-2.5 machine classes, and add HW_COMPAT_2_4/PC_COMPAT_2_4 >> macros that will allow pc-*-2.4 compat properties to be added. >> >> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > Reviewed-by: Igor Mammedov <imammedo@redhat.com> > Thanks, I will include this in my new version of virtio-pci fixes. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-09-15 3:23 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-09-14 14:32 [Qemu-devel] [PATCH v3 0/3] pc-*-2.5 machine-types Eduardo Habkost 2015-09-14 14:32 ` [Qemu-devel] [PATCH v3 1/3] q35: Move options common to all classes to pc_q35_machine_options() Eduardo Habkost 2015-09-14 14:32 ` [Qemu-devel] [PATCH v3 2/3] piix: Move options common to all classes to pc_i440fx_machine_options() Eduardo Habkost 2015-09-14 14:32 ` [Qemu-devel] [PATCH v3 3/3] pc: Introduce pc-*-2.5 machine classes Eduardo Habkost 2015-09-14 16:27 ` Igor Mammedov 2015-09-15 3:23 ` Jason Wang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).