qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] pc-*-2.5 machine-types
@ 2015-08-27 19:48 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
                   ` (3 more replies)
  0 siblings, 4 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

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.

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] 5+ messages in thread

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

end of thread, other threads:[~2015-08-28  2:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [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

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