All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH for-4.0 0/5] spapr/virt/pc: Eliminate custom instance_init functions
@ 2018-12-05 20:58 Eduardo Habkost
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 1/5] virt: Eliminate separate " Eduardo Habkost
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Eduardo Habkost @ 2018-12-05 20:58 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Marc-André Lureau, Eduardo Habkost,
	Marcel Apfelbaum, Michael S. Tsirkin, David Gibson, qemu-arm,
	qemu-ppc, Richard Henderson, Peter Maydell

Based-on: <154385451622.17724.12272989665681200621.stgit@gimli.home>

To help us make machine-type version differences introspectable
by QEMU, the info need to be available at class_init time, and
not require instantiating a machine object.

This series moves machine-type version differences to class_init
functions, and let us eliminate version-specific instance_init
functions from spapr and virt.

On PC the pc_compat_*() functions still have some KVM-specific
code that needs to be moved to class_init before we delete the
pc_compat_*() functions.  We will probably be able to implement
this using AccelClass::compat_props later.

I also plan to move default_machine_opts data to
MachineClass::compat_props, after the compat_props/globals
cleanup[1] being implemented by Marc-André Lureau is merged.

[1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg576381.html

Eduardo Habkost (5):
  virt: Eliminate separate instance_init functions
  spapr: Use default_machine_opts to set use_hotplug_event_source
  spapr: Use default_machine_opts to set suppress_vmdesc
  spapr: Delete instance_options functions
  pc: Use default_machine_opts to set suppress_vmdesc

 hw/arm/virt.c     | 87 +++++++++++---------------------------------
 hw/i386/pc_piix.c |  2 +-
 hw/ppc/spapr.c    | 91 ++---------------------------------------------
 3 files changed, 24 insertions(+), 156 deletions(-)

-- 
2.18.0.rc1.1.g3f1ff2140

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Qemu-devel] [PATCH for-4.0 1/5] virt: Eliminate separate instance_init functions
  2018-12-05 20:58 [Qemu-devel] [PATCH for-4.0 0/5] spapr/virt/pc: Eliminate custom instance_init functions Eduardo Habkost
@ 2018-12-05 20:58 ` Eduardo Habkost
  2018-12-06 14:06   ` Peter Maydell
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 2/5] spapr: Use default_machine_opts to set use_hotplug_event_source Eduardo Habkost
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 12+ messages in thread
From: Eduardo Habkost @ 2018-12-05 20:58 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Marc-André Lureau, Eduardo Habkost,
	Marcel Apfelbaum, Michael S. Tsirkin, David Gibson, qemu-arm,
	qemu-ppc, Richard Henderson, Peter Maydell

All instance_init functions for all virt machine-types run
exactly the same code, so we don't need separate functions.  We
only need to set instance_init for TYPE_VIRT_MACHINE.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 hw/arm/virt.c | 87 +++++++++++++--------------------------------------
 1 file changed, 21 insertions(+), 66 deletions(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index beaf6bc439..17f1b49d11 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -74,7 +74,6 @@
     static const TypeInfo machvirt_##major##_##minor##_info = { \
         .name = MACHINE_TYPE_NAME("virt-" # major "." # minor), \
         .parent = TYPE_VIRT_MACHINE, \
-        .instance_init = virt_##major##_##minor##_instance_init, \
         .class_init = virt_##major##_##minor##_class_init, \
     }; \
     static void machvirt_machine_##major##_##minor##_init(void) \
@@ -1778,26 +1777,7 @@ static void virt_machine_class_init(ObjectClass *oc, void *data)
     hc->plug = virt_machine_device_plug_cb;
 }
 
-static const TypeInfo virt_machine_info = {
-    .name          = TYPE_VIRT_MACHINE,
-    .parent        = TYPE_MACHINE,
-    .abstract      = true,
-    .instance_size = sizeof(VirtMachineState),
-    .class_size    = sizeof(VirtMachineClass),
-    .class_init    = virt_machine_class_init,
-    .interfaces = (InterfaceInfo[]) {
-         { TYPE_HOTPLUG_HANDLER },
-         { }
-    },
-};
-
-static void machvirt_machine_init(void)
-{
-    type_register_static(&virt_machine_info);
-}
-type_init(machvirt_machine_init);
-
-static void virt_4_0_instance_init(Object *obj)
+static void virt_instance_init(Object *obj)
 {
     VirtMachineState *vms = VIRT_MACHINE(obj);
     VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
@@ -1867,6 +1847,26 @@ static void virt_4_0_instance_init(Object *obj)
     vms->irqmap = a15irqmap;
 }
 
+static const TypeInfo virt_machine_info = {
+    .name          = TYPE_VIRT_MACHINE,
+    .parent        = TYPE_MACHINE,
+    .abstract      = true,
+    .instance_size = sizeof(VirtMachineState),
+    .class_size    = sizeof(VirtMachineClass),
+    .class_init    = virt_machine_class_init,
+	.instance_init = virt_instance_init,
+    .interfaces = (InterfaceInfo[]) {
+         { TYPE_HOTPLUG_HANDLER },
+         { }
+    },
+};
+
+static void machvirt_machine_init(void)
+{
+    type_register_static(&virt_machine_info);
+}
+type_init(machvirt_machine_init);
+
 static void virt_machine_4_0_options(MachineClass *mc)
 {
 }
@@ -1875,11 +1875,6 @@ DEFINE_VIRT_MACHINE_AS_LATEST(4, 0)
 #define VIRT_COMPAT_3_1 \
     HW_COMPAT_3_1
 
-static void virt_3_1_instance_init(Object *obj)
-{
-    virt_4_0_instance_init(obj);
-}
-
 static void virt_machine_3_1_options(MachineClass *mc)
 {
     virt_machine_4_0_options(mc);
@@ -1890,11 +1885,6 @@ DEFINE_VIRT_MACHINE(3, 1)
 #define VIRT_COMPAT_3_0 \
     HW_COMPAT_3_0
 
-static void virt_3_0_instance_init(Object *obj)
-{
-    virt_3_1_instance_init(obj);
-}
-
 static void virt_machine_3_0_options(MachineClass *mc)
 {
     virt_machine_3_1_options(mc);
@@ -1905,11 +1895,6 @@ DEFINE_VIRT_MACHINE(3, 0)
 #define VIRT_COMPAT_2_12 \
     HW_COMPAT_2_12
 
-static void virt_2_12_instance_init(Object *obj)
-{
-    virt_3_0_instance_init(obj);
-}
-
 static void virt_machine_2_12_options(MachineClass *mc)
 {
     VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
@@ -1924,11 +1909,6 @@ DEFINE_VIRT_MACHINE(2, 12)
 #define VIRT_COMPAT_2_11 \
     HW_COMPAT_2_11
 
-static void virt_2_11_instance_init(Object *obj)
-{
-    virt_2_12_instance_init(obj);
-}
-
 static void virt_machine_2_11_options(MachineClass *mc)
 {
     VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
@@ -1942,11 +1922,6 @@ DEFINE_VIRT_MACHINE(2, 11)
 #define VIRT_COMPAT_2_10 \
     HW_COMPAT_2_10
 
-static void virt_2_10_instance_init(Object *obj)
-{
-    virt_2_11_instance_init(obj);
-}
-
 static void virt_machine_2_10_options(MachineClass *mc)
 {
     virt_machine_2_11_options(mc);
@@ -1959,11 +1934,6 @@ DEFINE_VIRT_MACHINE(2, 10)
 #define VIRT_COMPAT_2_9 \
     HW_COMPAT_2_9
 
-static void virt_2_9_instance_init(Object *obj)
-{
-    virt_2_10_instance_init(obj);
-}
-
 static void virt_machine_2_9_options(MachineClass *mc)
 {
     virt_machine_2_10_options(mc);
@@ -1974,11 +1944,6 @@ DEFINE_VIRT_MACHINE(2, 9)
 #define VIRT_COMPAT_2_8 \
     HW_COMPAT_2_8
 
-static void virt_2_8_instance_init(Object *obj)
-{
-    virt_2_9_instance_init(obj);
-}
-
 static void virt_machine_2_8_options(MachineClass *mc)
 {
     VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
@@ -1995,11 +1960,6 @@ DEFINE_VIRT_MACHINE(2, 8)
 #define VIRT_COMPAT_2_7 \
     HW_COMPAT_2_7
 
-static void virt_2_7_instance_init(Object *obj)
-{
-    virt_2_8_instance_init(obj);
-}
-
 static void virt_machine_2_7_options(MachineClass *mc)
 {
     VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
@@ -2016,11 +1976,6 @@ DEFINE_VIRT_MACHINE(2, 7)
 #define VIRT_COMPAT_2_6 \
     HW_COMPAT_2_6
 
-static void virt_2_6_instance_init(Object *obj)
-{
-    virt_2_7_instance_init(obj);
-}
-
 static void virt_machine_2_6_options(MachineClass *mc)
 {
     VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-- 
2.18.0.rc1.1.g3f1ff2140

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Qemu-devel] [PATCH for-4.0 2/5] spapr: Use default_machine_opts to set use_hotplug_event_source
  2018-12-05 20:58 [Qemu-devel] [PATCH for-4.0 0/5] spapr/virt/pc: Eliminate custom instance_init functions Eduardo Habkost
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 1/5] virt: Eliminate separate " Eduardo Habkost
@ 2018-12-05 20:58 ` Eduardo Habkost
  2018-12-05 22:29   ` David Gibson
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 3/5] spapr: Use default_machine_opts to set suppress_vmdesc Eduardo Habkost
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 12+ messages in thread
From: Eduardo Habkost @ 2018-12-05 20:58 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Marc-André Lureau, Eduardo Habkost,
	Marcel Apfelbaum, Michael S. Tsirkin, David Gibson, qemu-arm,
	qemu-ppc, Richard Henderson, Peter Maydell

Instead of setting use_hotplug_event_source at instance_init
time, set default_machine_opts on spapr_machine_2_7_class_options()
to implement equivalent behavior.

This will let us eliminate the need for separate instance_init
functions for each spapr machine-type.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 hw/ppc/spapr.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 80d8498867..f6b60e6fbd 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4240,10 +4240,7 @@ static void phb_placement_2_7(sPAPRMachineState *spapr, uint32_t index,
 
 static void spapr_machine_2_7_instance_options(MachineState *machine)
 {
-    sPAPRMachineState *spapr = SPAPR_MACHINE(machine);
-
     spapr_machine_2_8_instance_options(machine);
-    spapr->use_hotplug_event_source = false;
 }
 
 static void spapr_machine_2_7_class_options(MachineClass *mc)
@@ -4252,6 +4249,7 @@ static void spapr_machine_2_7_class_options(MachineClass *mc)
 
     spapr_machine_2_8_class_options(mc);
     mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power7_v2.3");
+    mc->default_machine_opts = "modern-hotplug-events=off";
     SET_MACHINE_COMPAT(mc, SPAPR_COMPAT_2_7);
     smc->phb_placement = phb_placement_2_7;
 }
-- 
2.18.0.rc1.1.g3f1ff2140

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Qemu-devel] [PATCH for-4.0 3/5] spapr: Use default_machine_opts to set suppress_vmdesc
  2018-12-05 20:58 [Qemu-devel] [PATCH for-4.0 0/5] spapr/virt/pc: Eliminate custom instance_init functions Eduardo Habkost
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 1/5] virt: Eliminate separate " Eduardo Habkost
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 2/5] spapr: Use default_machine_opts to set use_hotplug_event_source Eduardo Habkost
@ 2018-12-05 20:58 ` Eduardo Habkost
  2018-12-05 22:29   ` David Gibson
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 4/5] spapr: Delete instance_options functions Eduardo Habkost
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 5/5] pc: Use default_machine_opts to set suppress_vmdesc Eduardo Habkost
  4 siblings, 1 reply; 12+ messages in thread
From: Eduardo Habkost @ 2018-12-05 20:58 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Marc-André Lureau, Eduardo Habkost,
	Marcel Apfelbaum, Michael S. Tsirkin, David Gibson, qemu-arm,
	qemu-ppc, Richard Henderson, Peter Maydell

Instead of setting suppress_vmdesc at instance_init time, set
default_machine_opts on spapr_machine_2_2_class_options() to
implement equivalent behavior.

This will let us eliminate the need for separate instance_init
functions for each spapr machine-type.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 hw/ppc/spapr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index f6b60e6fbd..0c3b27a8cc 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4368,13 +4368,13 @@ DEFINE_SPAPR_MACHINE(2_3, "2.3", false);
 static void spapr_machine_2_2_instance_options(MachineState *machine)
 {
     spapr_machine_2_3_instance_options(machine);
-    machine->suppress_vmdesc = true;
 }
 
 static void spapr_machine_2_2_class_options(MachineClass *mc)
 {
     spapr_machine_2_3_class_options(mc);
     SET_MACHINE_COMPAT(mc, SPAPR_COMPAT_2_2);
+    mc->default_machine_opts = "modern-hotplug-events=off,suppress-vmdesc=on";
 }
 DEFINE_SPAPR_MACHINE(2_2, "2.2", false);
 
-- 
2.18.0.rc1.1.g3f1ff2140

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Qemu-devel] [PATCH for-4.0 4/5] spapr: Delete instance_options functions
  2018-12-05 20:58 [Qemu-devel] [PATCH for-4.0 0/5] spapr/virt/pc: Eliminate custom instance_init functions Eduardo Habkost
                   ` (2 preceding siblings ...)
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 3/5] spapr: Use default_machine_opts to set suppress_vmdesc Eduardo Habkost
@ 2018-12-05 20:58 ` Eduardo Habkost
  2018-12-05 22:30   ` David Gibson
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 5/5] pc: Use default_machine_opts to set suppress_vmdesc Eduardo Habkost
  4 siblings, 1 reply; 12+ messages in thread
From: Eduardo Habkost @ 2018-12-05 20:58 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Marc-André Lureau, Eduardo Habkost,
	Marcel Apfelbaum, Michael S. Tsirkin, David Gibson, qemu-arm,
	qemu-ppc, Richard Henderson, Peter Maydell

Now that all instance_options functions for spapr are empty,
delete them.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 hw/ppc/spapr.c | 85 --------------------------------------------------
 1 file changed, 85 deletions(-)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 0c3b27a8cc..523e5d83f8 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -3939,16 +3939,10 @@ static const TypeInfo spapr_machine_info = {
             mc->is_default = 1;                                      \
         }                                                            \
     }                                                                \
-    static void spapr_machine_##suffix##_instance_init(Object *obj)  \
-    {                                                                \
-        MachineState *machine = MACHINE(obj);                        \
-        spapr_machine_##suffix##_instance_options(machine);          \
-    }                                                                \
     static const TypeInfo spapr_machine_##suffix##_info = {          \
         .name = MACHINE_TYPE_NAME("pseries-" verstr),                \
         .parent = TYPE_SPAPR_MACHINE,                                \
         .class_init = spapr_machine_##suffix##_class_init,           \
-        .instance_init = spapr_machine_##suffix##_instance_init,     \
     };                                                               \
     static void spapr_machine_register_##suffix(void)                \
     {                                                                \
@@ -3959,10 +3953,6 @@ static const TypeInfo spapr_machine_info = {
 /*
  * pseries-4.0
  */
-static void spapr_machine_4_0_instance_options(MachineState *machine)
-{
-}
-
 static void spapr_machine_4_0_class_options(MachineClass *mc)
 {
     /* Defaults for the latest behaviour inherited from the base class */
@@ -3976,11 +3966,6 @@ DEFINE_SPAPR_MACHINE(4_0, "4.0", true);
 #define SPAPR_COMPAT_3_1                                              \
     HW_COMPAT_3_1
 
-static void spapr_machine_3_1_instance_options(MachineState *machine)
-{
-    spapr_machine_4_0_instance_options(machine);
-}
-
 static void spapr_machine_3_1_class_options(MachineClass *mc)
 {
     spapr_machine_3_1_class_options(mc);
@@ -3995,11 +3980,6 @@ DEFINE_SPAPR_MACHINE(3_1, "3.1", false);
 #define SPAPR_COMPAT_3_0                                              \
     HW_COMPAT_3_0
 
-static void spapr_machine_3_0_instance_options(MachineState *machine)
-{
-    spapr_machine_3_1_instance_options(machine);
-}
-
 static void spapr_machine_3_0_class_options(MachineClass *mc)
 {
     sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
@@ -4029,11 +4009,6 @@ DEFINE_SPAPR_MACHINE(3_0, "3.0", false);
         .value    = "on",                                              \
     },
 
-static void spapr_machine_2_12_instance_options(MachineState *machine)
-{
-    spapr_machine_3_0_instance_options(machine);
-}
-
 static void spapr_machine_2_12_class_options(MachineClass *mc)
 {
     sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
@@ -4051,11 +4026,6 @@ static void spapr_machine_2_12_class_options(MachineClass *mc)
 
 DEFINE_SPAPR_MACHINE(2_12, "2.12", false);
 
-static void spapr_machine_2_12_sxxm_instance_options(MachineState *machine)
-{
-    spapr_machine_2_12_instance_options(machine);
-}
-
 static void spapr_machine_2_12_sxxm_class_options(MachineClass *mc)
 {
     sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
@@ -4074,11 +4044,6 @@ DEFINE_SPAPR_MACHINE(2_12_sxxm, "2.12-sxxm", false);
 #define SPAPR_COMPAT_2_11                                              \
     HW_COMPAT_2_11
 
-static void spapr_machine_2_11_instance_options(MachineState *machine)
-{
-    spapr_machine_2_12_instance_options(machine);
-}
-
 static void spapr_machine_2_11_class_options(MachineClass *mc)
 {
     sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
@@ -4096,11 +4061,6 @@ DEFINE_SPAPR_MACHINE(2_11, "2.11", false);
 #define SPAPR_COMPAT_2_10                                              \
     HW_COMPAT_2_10
 
-static void spapr_machine_2_10_instance_options(MachineState *machine)
-{
-    spapr_machine_2_11_instance_options(machine);
-}
-
 static void spapr_machine_2_10_class_options(MachineClass *mc)
 {
     spapr_machine_2_11_class_options(mc);
@@ -4120,11 +4080,6 @@ DEFINE_SPAPR_MACHINE(2_10, "2.10", false);
         .value    = "on",                                              \
     },                                                                 \
 
-static void spapr_machine_2_9_instance_options(MachineState *machine)
-{
-    spapr_machine_2_10_instance_options(machine);
-}
-
 static void spapr_machine_2_9_class_options(MachineClass *mc)
 {
     sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
@@ -4149,11 +4104,6 @@ DEFINE_SPAPR_MACHINE(2_9, "2.9", false);
         .value    = "off",                                      \
     },
 
-static void spapr_machine_2_8_instance_options(MachineState *machine)
-{
-    spapr_machine_2_9_instance_options(machine);
-}
-
 static void spapr_machine_2_8_class_options(MachineClass *mc)
 {
     spapr_machine_2_9_class_options(mc);
@@ -4238,11 +4188,6 @@ static void phb_placement_2_7(sPAPRMachineState *spapr, uint32_t index,
      */
 }
 
-static void spapr_machine_2_7_instance_options(MachineState *machine)
-{
-    spapr_machine_2_8_instance_options(machine);
-}
-
 static void spapr_machine_2_7_class_options(MachineClass *mc)
 {
     sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
@@ -4267,11 +4212,6 @@ DEFINE_SPAPR_MACHINE(2_7, "2.7", false);
         .value    = stringify(off),\
     },
 
-static void spapr_machine_2_6_instance_options(MachineState *machine)
-{
-    spapr_machine_2_7_instance_options(machine);
-}
-
 static void spapr_machine_2_6_class_options(MachineClass *mc)
 {
     spapr_machine_2_7_class_options(mc);
@@ -4292,11 +4232,6 @@ DEFINE_SPAPR_MACHINE(2_6, "2.6", false);
         .value    = "off", \
     },
 
-static void spapr_machine_2_5_instance_options(MachineState *machine)
-{
-    spapr_machine_2_6_instance_options(machine);
-}
-
 static void spapr_machine_2_5_class_options(MachineClass *mc)
 {
     sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
@@ -4314,11 +4249,6 @@ DEFINE_SPAPR_MACHINE(2_5, "2.5", false);
 #define SPAPR_COMPAT_2_4 \
         HW_COMPAT_2_4
 
-static void spapr_machine_2_4_instance_options(MachineState *machine)
-{
-    spapr_machine_2_5_instance_options(machine);
-}
-
 static void spapr_machine_2_4_class_options(MachineClass *mc)
 {
     sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
@@ -4341,11 +4271,6 @@ DEFINE_SPAPR_MACHINE(2_4, "2.4", false);
             .value    = "off",\
         },
 
-static void spapr_machine_2_3_instance_options(MachineState *machine)
-{
-    spapr_machine_2_4_instance_options(machine);
-}
-
 static void spapr_machine_2_3_class_options(MachineClass *mc)
 {
     spapr_machine_2_4_class_options(mc);
@@ -4365,11 +4290,6 @@ DEFINE_SPAPR_MACHINE(2_3, "2.3", false);
             .value    = "0x20000000",\
         },
 
-static void spapr_machine_2_2_instance_options(MachineState *machine)
-{
-    spapr_machine_2_3_instance_options(machine);
-}
-
 static void spapr_machine_2_2_class_options(MachineClass *mc)
 {
     spapr_machine_2_3_class_options(mc);
@@ -4384,11 +4304,6 @@ DEFINE_SPAPR_MACHINE(2_2, "2.2", false);
 #define SPAPR_COMPAT_2_1 \
         HW_COMPAT_2_1
 
-static void spapr_machine_2_1_instance_options(MachineState *machine)
-{
-    spapr_machine_2_2_instance_options(machine);
-}
-
 static void spapr_machine_2_1_class_options(MachineClass *mc)
 {
     spapr_machine_2_2_class_options(mc);
-- 
2.18.0.rc1.1.g3f1ff2140

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Qemu-devel] [PATCH for-4.0 5/5] pc: Use default_machine_opts to set suppress_vmdesc
  2018-12-05 20:58 [Qemu-devel] [PATCH for-4.0 0/5] spapr/virt/pc: Eliminate custom instance_init functions Eduardo Habkost
                   ` (3 preceding siblings ...)
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 4/5] spapr: Delete instance_options functions Eduardo Habkost
@ 2018-12-05 20:58 ` Eduardo Habkost
  4 siblings, 0 replies; 12+ messages in thread
From: Eduardo Habkost @ 2018-12-05 20:58 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Marc-André Lureau, Eduardo Habkost,
	Marcel Apfelbaum, Michael S. Tsirkin, David Gibson, qemu-arm,
	qemu-ppc, Richard Henderson, Peter Maydell

Instead of setting suppress_vmdesc at instance_init time, set
default_machine_opts on pc_i440fx_2_2_machine_options() to
implement equivalent behavior.

This will let us eliminate the need for pc_compat_*() functions
for PC machine-types.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 hw/i386/pc_piix.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index cfaa83ee2f..c1f6f3dfda 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -320,7 +320,6 @@ static void pc_compat_2_3(MachineState *machine)
 static void pc_compat_2_2(MachineState *machine)
 {
     pc_compat_2_3(machine);
-    machine->suppress_vmdesc = true;
 }
 
 static void pc_compat_2_1(MachineState *machine)
@@ -571,6 +570,7 @@ static void pc_i440fx_2_2_machine_options(MachineClass *m)
     PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
     pc_i440fx_2_3_machine_options(m);
     m->hw_version = "2.2.0";
+    m->default_machine_opts = "firmware=bios-256k.bin,suppress-vmdesc=on";
     SET_MACHINE_COMPAT(m, PC_COMPAT_2_2);
     pcmc->rsdp_in_ram = false;
 }
-- 
2.18.0.rc1.1.g3f1ff2140

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH for-4.0 2/5] spapr: Use default_machine_opts to set use_hotplug_event_source
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 2/5] spapr: Use default_machine_opts to set use_hotplug_event_source Eduardo Habkost
@ 2018-12-05 22:29   ` David Gibson
  0 siblings, 0 replies; 12+ messages in thread
From: David Gibson @ 2018-12-05 22:29 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: qemu-devel, Paolo Bonzini, Marc-André Lureau,
	Marcel Apfelbaum, Michael S. Tsirkin, qemu-arm, qemu-ppc,
	Richard Henderson, Peter Maydell

[-- Attachment #1: Type: text/plain, Size: 1689 bytes --]

On Wed, Dec 05, 2018 at 06:58:24PM -0200, Eduardo Habkost wrote:
> Instead of setting use_hotplug_event_source at instance_init
> time, set default_machine_opts on spapr_machine_2_7_class_options()
> to implement equivalent behavior.
> 
> This will let us eliminate the need for separate instance_init
> functions for each spapr machine-type.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>

Acked-by: David Gibson <david@gibson.dropbear.id.au>

> ---
>  hw/ppc/spapr.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 80d8498867..f6b60e6fbd 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -4240,10 +4240,7 @@ static void phb_placement_2_7(sPAPRMachineState *spapr, uint32_t index,
>  
>  static void spapr_machine_2_7_instance_options(MachineState *machine)
>  {
> -    sPAPRMachineState *spapr = SPAPR_MACHINE(machine);
> -
>      spapr_machine_2_8_instance_options(machine);
> -    spapr->use_hotplug_event_source = false;
>  }
>  
>  static void spapr_machine_2_7_class_options(MachineClass *mc)
> @@ -4252,6 +4249,7 @@ static void spapr_machine_2_7_class_options(MachineClass *mc)
>  
>      spapr_machine_2_8_class_options(mc);
>      mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power7_v2.3");
> +    mc->default_machine_opts = "modern-hotplug-events=off";
>      SET_MACHINE_COMPAT(mc, SPAPR_COMPAT_2_7);
>      smc->phb_placement = phb_placement_2_7;
>  }

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH for-4.0 3/5] spapr: Use default_machine_opts to set suppress_vmdesc
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 3/5] spapr: Use default_machine_opts to set suppress_vmdesc Eduardo Habkost
@ 2018-12-05 22:29   ` David Gibson
  0 siblings, 0 replies; 12+ messages in thread
From: David Gibson @ 2018-12-05 22:29 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: qemu-devel, Paolo Bonzini, Marc-André Lureau,
	Marcel Apfelbaum, Michael S. Tsirkin, qemu-arm, qemu-ppc,
	Richard Henderson, Peter Maydell

[-- Attachment #1: Type: text/plain, Size: 1436 bytes --]

On Wed, Dec 05, 2018 at 06:58:25PM -0200, Eduardo Habkost wrote:
> Instead of setting suppress_vmdesc at instance_init time, set
> default_machine_opts on spapr_machine_2_2_class_options() to
> implement equivalent behavior.
> 
> This will let us eliminate the need for separate instance_init
> functions for each spapr machine-type.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>

Acked-by: David Gibson <david@gibson.dropbear.id.au>

> ---
>  hw/ppc/spapr.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index f6b60e6fbd..0c3b27a8cc 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -4368,13 +4368,13 @@ DEFINE_SPAPR_MACHINE(2_3, "2.3", false);
>  static void spapr_machine_2_2_instance_options(MachineState *machine)
>  {
>      spapr_machine_2_3_instance_options(machine);
> -    machine->suppress_vmdesc = true;
>  }
>  
>  static void spapr_machine_2_2_class_options(MachineClass *mc)
>  {
>      spapr_machine_2_3_class_options(mc);
>      SET_MACHINE_COMPAT(mc, SPAPR_COMPAT_2_2);
> +    mc->default_machine_opts = "modern-hotplug-events=off,suppress-vmdesc=on";
>  }
>  DEFINE_SPAPR_MACHINE(2_2, "2.2", false);
>  

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH for-4.0 4/5] spapr: Delete instance_options functions
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 4/5] spapr: Delete instance_options functions Eduardo Habkost
@ 2018-12-05 22:30   ` David Gibson
  2018-12-06 12:48     ` Eduardo Habkost
  0 siblings, 1 reply; 12+ messages in thread
From: David Gibson @ 2018-12-05 22:30 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: qemu-devel, Paolo Bonzini, Marc-André Lureau,
	Marcel Apfelbaum, Michael S. Tsirkin, qemu-arm, qemu-ppc,
	Richard Henderson, Peter Maydell

[-- Attachment #1: Type: text/plain, Size: 8774 bytes --]

On Wed, Dec 05, 2018 at 06:58:26PM -0200, Eduardo Habkost wrote:
> Now that all instance_options functions for spapr are empty,
> delete them.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>

Acked-by: David Gibson <david@gibson.dropbear.id.au>

Do you want me to stage the ppc patches in my ppc-for-4.0 tree, or
would you prefer to keep your series together to go in via your tree?

> ---
>  hw/ppc/spapr.c | 85 --------------------------------------------------
>  1 file changed, 85 deletions(-)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 0c3b27a8cc..523e5d83f8 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -3939,16 +3939,10 @@ static const TypeInfo spapr_machine_info = {
>              mc->is_default = 1;                                      \
>          }                                                            \
>      }                                                                \
> -    static void spapr_machine_##suffix##_instance_init(Object *obj)  \
> -    {                                                                \
> -        MachineState *machine = MACHINE(obj);                        \
> -        spapr_machine_##suffix##_instance_options(machine);          \
> -    }                                                                \
>      static const TypeInfo spapr_machine_##suffix##_info = {          \
>          .name = MACHINE_TYPE_NAME("pseries-" verstr),                \
>          .parent = TYPE_SPAPR_MACHINE,                                \
>          .class_init = spapr_machine_##suffix##_class_init,           \
> -        .instance_init = spapr_machine_##suffix##_instance_init,     \
>      };                                                               \
>      static void spapr_machine_register_##suffix(void)                \
>      {                                                                \
> @@ -3959,10 +3953,6 @@ static const TypeInfo spapr_machine_info = {
>  /*
>   * pseries-4.0
>   */
> -static void spapr_machine_4_0_instance_options(MachineState *machine)
> -{
> -}
> -
>  static void spapr_machine_4_0_class_options(MachineClass *mc)
>  {
>      /* Defaults for the latest behaviour inherited from the base class */
> @@ -3976,11 +3966,6 @@ DEFINE_SPAPR_MACHINE(4_0, "4.0", true);
>  #define SPAPR_COMPAT_3_1                                              \
>      HW_COMPAT_3_1
>  
> -static void spapr_machine_3_1_instance_options(MachineState *machine)
> -{
> -    spapr_machine_4_0_instance_options(machine);
> -}
> -
>  static void spapr_machine_3_1_class_options(MachineClass *mc)
>  {
>      spapr_machine_3_1_class_options(mc);
> @@ -3995,11 +3980,6 @@ DEFINE_SPAPR_MACHINE(3_1, "3.1", false);
>  #define SPAPR_COMPAT_3_0                                              \
>      HW_COMPAT_3_0
>  
> -static void spapr_machine_3_0_instance_options(MachineState *machine)
> -{
> -    spapr_machine_3_1_instance_options(machine);
> -}
> -
>  static void spapr_machine_3_0_class_options(MachineClass *mc)
>  {
>      sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
> @@ -4029,11 +4009,6 @@ DEFINE_SPAPR_MACHINE(3_0, "3.0", false);
>          .value    = "on",                                              \
>      },
>  
> -static void spapr_machine_2_12_instance_options(MachineState *machine)
> -{
> -    spapr_machine_3_0_instance_options(machine);
> -}
> -
>  static void spapr_machine_2_12_class_options(MachineClass *mc)
>  {
>      sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
> @@ -4051,11 +4026,6 @@ static void spapr_machine_2_12_class_options(MachineClass *mc)
>  
>  DEFINE_SPAPR_MACHINE(2_12, "2.12", false);
>  
> -static void spapr_machine_2_12_sxxm_instance_options(MachineState *machine)
> -{
> -    spapr_machine_2_12_instance_options(machine);
> -}
> -
>  static void spapr_machine_2_12_sxxm_class_options(MachineClass *mc)
>  {
>      sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
> @@ -4074,11 +4044,6 @@ DEFINE_SPAPR_MACHINE(2_12_sxxm, "2.12-sxxm", false);
>  #define SPAPR_COMPAT_2_11                                              \
>      HW_COMPAT_2_11
>  
> -static void spapr_machine_2_11_instance_options(MachineState *machine)
> -{
> -    spapr_machine_2_12_instance_options(machine);
> -}
> -
>  static void spapr_machine_2_11_class_options(MachineClass *mc)
>  {
>      sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
> @@ -4096,11 +4061,6 @@ DEFINE_SPAPR_MACHINE(2_11, "2.11", false);
>  #define SPAPR_COMPAT_2_10                                              \
>      HW_COMPAT_2_10
>  
> -static void spapr_machine_2_10_instance_options(MachineState *machine)
> -{
> -    spapr_machine_2_11_instance_options(machine);
> -}
> -
>  static void spapr_machine_2_10_class_options(MachineClass *mc)
>  {
>      spapr_machine_2_11_class_options(mc);
> @@ -4120,11 +4080,6 @@ DEFINE_SPAPR_MACHINE(2_10, "2.10", false);
>          .value    = "on",                                              \
>      },                                                                 \
>  
> -static void spapr_machine_2_9_instance_options(MachineState *machine)
> -{
> -    spapr_machine_2_10_instance_options(machine);
> -}
> -
>  static void spapr_machine_2_9_class_options(MachineClass *mc)
>  {
>      sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
> @@ -4149,11 +4104,6 @@ DEFINE_SPAPR_MACHINE(2_9, "2.9", false);
>          .value    = "off",                                      \
>      },
>  
> -static void spapr_machine_2_8_instance_options(MachineState *machine)
> -{
> -    spapr_machine_2_9_instance_options(machine);
> -}
> -
>  static void spapr_machine_2_8_class_options(MachineClass *mc)
>  {
>      spapr_machine_2_9_class_options(mc);
> @@ -4238,11 +4188,6 @@ static void phb_placement_2_7(sPAPRMachineState *spapr, uint32_t index,
>       */
>  }
>  
> -static void spapr_machine_2_7_instance_options(MachineState *machine)
> -{
> -    spapr_machine_2_8_instance_options(machine);
> -}
> -
>  static void spapr_machine_2_7_class_options(MachineClass *mc)
>  {
>      sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
> @@ -4267,11 +4212,6 @@ DEFINE_SPAPR_MACHINE(2_7, "2.7", false);
>          .value    = stringify(off),\
>      },
>  
> -static void spapr_machine_2_6_instance_options(MachineState *machine)
> -{
> -    spapr_machine_2_7_instance_options(machine);
> -}
> -
>  static void spapr_machine_2_6_class_options(MachineClass *mc)
>  {
>      spapr_machine_2_7_class_options(mc);
> @@ -4292,11 +4232,6 @@ DEFINE_SPAPR_MACHINE(2_6, "2.6", false);
>          .value    = "off", \
>      },
>  
> -static void spapr_machine_2_5_instance_options(MachineState *machine)
> -{
> -    spapr_machine_2_6_instance_options(machine);
> -}
> -
>  static void spapr_machine_2_5_class_options(MachineClass *mc)
>  {
>      sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
> @@ -4314,11 +4249,6 @@ DEFINE_SPAPR_MACHINE(2_5, "2.5", false);
>  #define SPAPR_COMPAT_2_4 \
>          HW_COMPAT_2_4
>  
> -static void spapr_machine_2_4_instance_options(MachineState *machine)
> -{
> -    spapr_machine_2_5_instance_options(machine);
> -}
> -
>  static void spapr_machine_2_4_class_options(MachineClass *mc)
>  {
>      sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
> @@ -4341,11 +4271,6 @@ DEFINE_SPAPR_MACHINE(2_4, "2.4", false);
>              .value    = "off",\
>          },
>  
> -static void spapr_machine_2_3_instance_options(MachineState *machine)
> -{
> -    spapr_machine_2_4_instance_options(machine);
> -}
> -
>  static void spapr_machine_2_3_class_options(MachineClass *mc)
>  {
>      spapr_machine_2_4_class_options(mc);
> @@ -4365,11 +4290,6 @@ DEFINE_SPAPR_MACHINE(2_3, "2.3", false);
>              .value    = "0x20000000",\
>          },
>  
> -static void spapr_machine_2_2_instance_options(MachineState *machine)
> -{
> -    spapr_machine_2_3_instance_options(machine);
> -}
> -
>  static void spapr_machine_2_2_class_options(MachineClass *mc)
>  {
>      spapr_machine_2_3_class_options(mc);
> @@ -4384,11 +4304,6 @@ DEFINE_SPAPR_MACHINE(2_2, "2.2", false);
>  #define SPAPR_COMPAT_2_1 \
>          HW_COMPAT_2_1
>  
> -static void spapr_machine_2_1_instance_options(MachineState *machine)
> -{
> -    spapr_machine_2_2_instance_options(machine);
> -}
> -
>  static void spapr_machine_2_1_class_options(MachineClass *mc)
>  {
>      spapr_machine_2_2_class_options(mc);

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH for-4.0 4/5] spapr: Delete instance_options functions
  2018-12-05 22:30   ` David Gibson
@ 2018-12-06 12:48     ` Eduardo Habkost
  2018-12-07  0:22       ` David Gibson
  0 siblings, 1 reply; 12+ messages in thread
From: Eduardo Habkost @ 2018-12-06 12:48 UTC (permalink / raw)
  To: David Gibson
  Cc: qemu-devel, Paolo Bonzini, Marc-André Lureau,
	Marcel Apfelbaum, Michael S. Tsirkin, qemu-arm, qemu-ppc,
	Richard Henderson, Peter Maydell

On Thu, Dec 06, 2018 at 09:30:35AM +1100, David Gibson wrote:
> On Wed, Dec 05, 2018 at 06:58:26PM -0200, Eduardo Habkost wrote:
> > Now that all instance_options functions for spapr are empty,
> > delete them.
> > 
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> 
> Acked-by: David Gibson <david@gibson.dropbear.id.au>

Thanks!

> 
> Do you want me to stage the ppc patches in my ppc-for-4.0 tree, or
> would you prefer to keep your series together to go in via your tree?

I wouldn't mind to get this queued through the ppc tree, but
maybe it will be easier to get them through the machine tree
because of the dependency on the 4.0 machine-type patch.

-- 
Eduardo

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH for-4.0 1/5] virt: Eliminate separate instance_init functions
  2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 1/5] virt: Eliminate separate " Eduardo Habkost
@ 2018-12-06 14:06   ` Peter Maydell
  0 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2018-12-06 14:06 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: QEMU Developers, Paolo Bonzini, Marc-André Lureau,
	Marcel Apfelbaum, Michael S. Tsirkin, David Gibson, qemu-arm,
	qemu-ppc, Richard Henderson

On Wed, 5 Dec 2018 at 20:58, Eduardo Habkost <ehabkost@redhat.com> wrote:
>
> All instance_init functions for all virt machine-types run
> exactly the same code, so we don't need separate functions.  We
> only need to set instance_init for TYPE_VIRT_MACHINE.
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  hw/arm/virt.c | 87 +++++++++++++--------------------------------------
>  1 file changed, 21 insertions(+), 66 deletions(-)
>
> +static const TypeInfo virt_machine_info = {
> +    .name          = TYPE_VIRT_MACHINE,
> +    .parent        = TYPE_MACHINE,
> +    .abstract      = true,
> +    .instance_size = sizeof(VirtMachineState),
> +    .class_size    = sizeof(VirtMachineClass),
> +    .class_init    = virt_machine_class_init,
> +       .instance_init = virt_instance_init,

Indentation looks like it's not quite right here.

> +    .interfaces = (InterfaceInfo[]) {
> +         { TYPE_HOTPLUG_HANDLER },
> +         { }
> +    },
> +};

Otherwise
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] [PATCH for-4.0 4/5] spapr: Delete instance_options functions
  2018-12-06 12:48     ` Eduardo Habkost
@ 2018-12-07  0:22       ` David Gibson
  0 siblings, 0 replies; 12+ messages in thread
From: David Gibson @ 2018-12-07  0:22 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: qemu-devel, Paolo Bonzini, Marc-André Lureau,
	Marcel Apfelbaum, Michael S. Tsirkin, qemu-arm, qemu-ppc,
	Richard Henderson, Peter Maydell

[-- Attachment #1: Type: text/plain, Size: 990 bytes --]

On Thu, Dec 06, 2018 at 10:48:51AM -0200, Eduardo Habkost wrote:
> On Thu, Dec 06, 2018 at 09:30:35AM +1100, David Gibson wrote:
> > On Wed, Dec 05, 2018 at 06:58:26PM -0200, Eduardo Habkost wrote:
> > > Now that all instance_options functions for spapr are empty,
> > > delete them.
> > > 
> > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > 
> > Acked-by: David Gibson <david@gibson.dropbear.id.au>
> 
> Thanks!
> 
> > 
> > Do you want me to stage the ppc patches in my ppc-for-4.0 tree, or
> > would you prefer to keep your series together to go in via your tree?
> 
> I wouldn't mind to get this queued through the ppc tree, but
> maybe it will be easier to get them through the machine tree
> because of the dependency on the 4.0 machine-type patch.

Sure.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-12-07  0:47 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-05 20:58 [Qemu-devel] [PATCH for-4.0 0/5] spapr/virt/pc: Eliminate custom instance_init functions Eduardo Habkost
2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 1/5] virt: Eliminate separate " Eduardo Habkost
2018-12-06 14:06   ` Peter Maydell
2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 2/5] spapr: Use default_machine_opts to set use_hotplug_event_source Eduardo Habkost
2018-12-05 22:29   ` David Gibson
2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 3/5] spapr: Use default_machine_opts to set suppress_vmdesc Eduardo Habkost
2018-12-05 22:29   ` David Gibson
2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 4/5] spapr: Delete instance_options functions Eduardo Habkost
2018-12-05 22:30   ` David Gibson
2018-12-06 12:48     ` Eduardo Habkost
2018-12-07  0:22       ` David Gibson
2018-12-05 20:58 ` [Qemu-devel] [PATCH for-4.0 5/5] pc: Use default_machine_opts to set suppress_vmdesc Eduardo Habkost

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.