* [Qemu-devel] [PATCH 1/3] q35: Move options common to all classes to pc_q35_machine_options()
2015-08-27 19:48 [Qemu-devel] [PATCH 0/3] pc-*-2.5 machine-types Eduardo Habkost
@ 2015-08-27 19:48 ` Eduardo Habkost
2015-08-27 19:48 ` [Qemu-devel] [PATCH 2/3] q35: Move options common to all classes to pc_i440fx_machine_options() Eduardo Habkost
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Eduardo Habkost @ 2015-08-27 19:48 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Jason Wang, Richard Henderson, 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 c07d65b..baae402 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -365,15 +365,15 @@ 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)
{
pc_q35_machine_options(m);
- 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] 5+ messages in thread
* [Qemu-devel] [PATCH 2/3] q35: Move options common to all classes to pc_i440fx_machine_options()
2015-08-27 19:48 [Qemu-devel] [PATCH 0/3] pc-*-2.5 machine-types Eduardo Habkost
2015-08-27 19:48 ` [Qemu-devel] [PATCH 1/3] q35: Move options common to all classes to pc_q35_machine_options() Eduardo Habkost
@ 2015-08-27 19:48 ` Eduardo Habkost
2015-08-27 19:48 ` [Qemu-devel] [PATCH 3/3] pc: Introduce pc-*-2.5 machine classes Eduardo Habkost
2015-08-28 2:23 ` [Qemu-devel] [PATCH 0/3] pc-*-2.5 machine-types Jason Wang
3 siblings, 0 replies; 5+ messages in thread
From: Eduardo Habkost @ 2015-08-27 19:48 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Jason Wang, Richard Henderson, 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 9558467..7ca3fcf 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -446,13 +446,13 @@ 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)
{
pc_i440fx_machine_options(m);
- 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] 5+ messages in thread
* [Qemu-devel] [PATCH 3/3] pc: Introduce pc-*-2.5 machine classes
2015-08-27 19:48 [Qemu-devel] [PATCH 0/3] pc-*-2.5 machine-types Eduardo Habkost
2015-08-27 19:48 ` [Qemu-devel] [PATCH 1/3] q35: Move options common to all classes to pc_q35_machine_options() Eduardo Habkost
2015-08-27 19:48 ` [Qemu-devel] [PATCH 2/3] q35: Move options common to all classes to pc_i440fx_machine_options() Eduardo Habkost
@ 2015-08-27 19:48 ` Eduardo Habkost
2015-08-28 2:23 ` [Qemu-devel] [PATCH 0/3] pc-*-2.5 machine-types Jason Wang
3 siblings, 0 replies; 5+ messages in thread
From: Eduardo Habkost @ 2015-08-27 19:48 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Jason Wang, Richard Henderson, 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 7ca3fcf..b40411b 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -450,13 +450,25 @@ 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)
{
pc_i440fx_machine_options(m);
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)
+{
+ 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 baae402..57af102 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -371,12 +371,22 @@ 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)
{
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)
+{
+ 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 d0cad87..21c1cff 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -284,7 +284,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] 5+ messages in thread
* Re: [Qemu-devel] [PATCH 0/3] pc-*-2.5 machine-types
2015-08-27 19:48 [Qemu-devel] [PATCH 0/3] pc-*-2.5 machine-types Eduardo Habkost
` (2 preceding siblings ...)
2015-08-27 19:48 ` [Qemu-devel] [PATCH 3/3] pc: Introduce pc-*-2.5 machine classes Eduardo Habkost
@ 2015-08-28 2:23 ` Jason Wang
3 siblings, 0 replies; 5+ messages in thread
From: Jason Wang @ 2015-08-28 2:23 UTC (permalink / raw)
To: Eduardo Habkost, qemu-devel
Cc: Paolo Bonzini, Richard Henderson, Michael S. Tsirkin
On 08/28/2015 03:48 AM, Eduardo Habkost wrote:
> This introduces the pc-q35-2.5 and pc-i440fx-2.5 machine-types.
>
> Jason Wang, I know you were going to do it as part of the virtio pci work, but
> I would like to simplify the existing code before introducing the new machine.
> Feel free to include it as part of your series, if necessary.
Ok, thanks.
>
> 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(-)
>
^ permalink raw reply [flat|nested] 5+ messages in thread