* [Qemu-devel] [PATCH v2 0/3] pc-*-2.5 machine-types @ 2015-09-11 20:14 Eduardo Habkost 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 1/3] q35: Move options common to all classes to pc_q35_machine_options() Eduardo Habkost ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Eduardo Habkost @ 2015-09-11 20:14 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 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() q35: Move options common to all classes to pc_i440fx_machine_options() pc: Introduce pc-*-2.5 machine classes hw/i386/pc_piix.c | 18 +++++++++++++++--- hw/i386/pc_q35.c | 20 +++++++++++++++----- include/hw/compat.h | 3 +++ include/hw/i386/pc.h | 4 ++++ 4 files changed, 37 insertions(+), 8 deletions(-) -- 2.1.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 1/3] q35: Move options common to all classes to pc_q35_machine_options() 2015-09-11 20:14 [Qemu-devel] [PATCH v2 0/3] pc-*-2.5 machine-types Eduardo Habkost @ 2015-09-11 20:14 ` Eduardo Habkost 2015-09-14 13:32 ` Igor Mammedov 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 2/3] q35: Move options common to all classes to pc_i440fx_machine_options() Eduardo Habkost 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 3/3] pc: Introduce pc-*-2.5 machine classes Eduardo Habkost 2 siblings, 1 reply; 8+ messages in thread From: Eduardo Habkost @ 2015-09-11 20:14 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. 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] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/3] q35: Move options common to all classes to pc_q35_machine_options() 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 1/3] q35: Move options common to all classes to pc_q35_machine_options() Eduardo Habkost @ 2015-09-14 13:32 ` Igor Mammedov 0 siblings, 0 replies; 8+ messages in thread From: Igor Mammedov @ 2015-09-14 13:32 UTC (permalink / raw) To: Eduardo Habkost Cc: Paolo Bonzini, Jason Wang, Michael S. Tsirkin, qemu-devel, Richard Henderson On Fri, 11 Sep 2015 17:14:23 -0300 Eduardo Habkost <ehabkost@redhat.com> wrote: > 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. > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Igor Mammedov <imammedo@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"; > } > ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 2/3] q35: Move options common to all classes to pc_i440fx_machine_options() 2015-09-11 20:14 [Qemu-devel] [PATCH v2 0/3] pc-*-2.5 machine-types Eduardo Habkost 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 1/3] q35: Move options common to all classes to pc_q35_machine_options() Eduardo Habkost @ 2015-09-11 20:14 ` Eduardo Habkost 2015-09-14 13:35 ` Igor Mammedov 2015-09-14 13:36 ` Igor Mammedov 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 3/3] pc: Introduce pc-*-2.5 machine classes Eduardo Habkost 2 siblings, 2 replies; 8+ messages in thread From: Eduardo Habkost @ 2015-09-11 20:14 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. 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] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/3] q35: Move options common to all classes to pc_i440fx_machine_options() 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 2/3] q35: Move options common to all classes to pc_i440fx_machine_options() Eduardo Habkost @ 2015-09-14 13:35 ` Igor Mammedov 2015-09-14 13:36 ` Igor Mammedov 1 sibling, 0 replies; 8+ messages in thread From: Igor Mammedov @ 2015-09-14 13:35 UTC (permalink / raw) To: Eduardo Habkost Cc: Paolo Bonzini, Jason Wang, Richard Henderson, qemu-devel, Michael S. Tsirkin On Fri, 11 Sep 2015 17:14:24 -0300 Eduardo Habkost <ehabkost@redhat.com> wrote: > 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. s/q35/piix/ or something like this, with this: 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; > } ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/3] q35: Move options common to all classes to pc_i440fx_machine_options() 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 2/3] q35: Move options common to all classes to pc_i440fx_machine_options() Eduardo Habkost 2015-09-14 13:35 ` Igor Mammedov @ 2015-09-14 13:36 ` Igor Mammedov 1 sibling, 0 replies; 8+ messages in thread From: Igor Mammedov @ 2015-09-14 13:36 UTC (permalink / raw) To: Eduardo Habkost Cc: Paolo Bonzini, Jason Wang, Richard Henderson, qemu-devel, Michael S. Tsirkin On Fri, 11 Sep 2015 17:14:24 -0300 Eduardo Habkost <ehabkost@redhat.com> wrote: > 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. s/q35/piix/ or something like this, with this: 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; > } ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 3/3] pc: Introduce pc-*-2.5 machine classes 2015-09-11 20:14 [Qemu-devel] [PATCH v2 0/3] pc-*-2.5 machine-types Eduardo Habkost 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 1/3] q35: Move options common to all classes to pc_q35_machine_options() Eduardo Habkost 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 2/3] q35: Move options common to all classes to pc_i440fx_machine_options() Eduardo Habkost @ 2015-09-11 20:14 ` Eduardo Habkost 2015-09-14 13:43 ` Igor Mammedov 2 siblings, 1 reply; 8+ messages in thread From: Eduardo Habkost @ 2015-09-11 20:14 UTC (permalink / raw) To: qemu-devel Cc: Paolo Bonzini, Igor Mammedov, Richard Henderson, Jason Wang, Michael S. Tsirkin Signed-off-by: Eduardo Habkost <ehabkost@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) { 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,\ -- 2.1.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 3/3] pc: Introduce pc-*-2.5 machine classes 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 3/3] pc: Introduce pc-*-2.5 machine classes Eduardo Habkost @ 2015-09-14 13:43 ` Igor Mammedov 0 siblings, 0 replies; 8+ messages in thread From: Igor Mammedov @ 2015-09-14 13:43 UTC (permalink / raw) To: Eduardo Habkost Cc: Paolo Bonzini, Jason Wang, Richard Henderson, qemu-devel, Michael S. Tsirkin On Fri, 11 Sep 2015 17:14:25 -0300 Eduardo Habkost <ehabkost@redhat.com> wrote: > Signed-off-by: Eduardo Habkost <ehabkost@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,\ ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-09-14 13:43 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-09-11 20:14 [Qemu-devel] [PATCH v2 0/3] pc-*-2.5 machine-types Eduardo Habkost 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 1/3] q35: Move options common to all classes to pc_q35_machine_options() Eduardo Habkost 2015-09-14 13:32 ` Igor Mammedov 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 2/3] q35: Move options common to all classes to pc_i440fx_machine_options() Eduardo Habkost 2015-09-14 13:35 ` Igor Mammedov 2015-09-14 13:36 ` Igor Mammedov 2015-09-11 20:14 ` [Qemu-devel] [PATCH v2 3/3] pc: Introduce pc-*-2.5 machine classes Eduardo Habkost 2015-09-14 13:43 ` Igor Mammedov
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).