* [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).