All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Marc-André Lureau" <marcandre.lureau@redhat.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org
Subject: [Qemu-devel] [PULL 08/28] compat: replace PC_COMPAT_2_12 & HW_COMPAT_2_12 macros
Date: Fri,  4 Jan 2019 21:30:22 +0400	[thread overview]
Message-ID: <20190104173042.32714-9-marcandre.lureau@redhat.com> (raw)
In-Reply-To: <20190104173042.32714-1-marcandre.lureau@redhat.com>

Use static arrays instead.

Suggested-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Acked-by: Eduardo Habkost <ehabkost@redhat.com>
---
 include/hw/boards.h        |  3 +++
 include/hw/compat.h        | 27 ---------------------------
 include/hw/i386/pc.h       | 21 ++-------------------
 hw/arm/virt.c              |  5 +----
 hw/core/machine.c          | 29 +++++++++++++++++++++++++++++
 hw/i386/pc.c               | 21 +++++++++++++++++++++
 hw/i386/pc_piix.c          |  7 ++-----
 hw/i386/pc_q35.c           |  7 ++-----
 hw/ppc/spapr.c             |  2 +-
 hw/s390x/s390-virtio-ccw.c |  6 +-----
 10 files changed, 62 insertions(+), 66 deletions(-)

diff --git a/include/hw/boards.h b/include/hw/boards.h
index aaa57f1f6b..c6d828e73c 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -294,4 +294,7 @@ extern const size_t hw_compat_3_1_len;
 extern GlobalProperty hw_compat_3_0[];
 extern const size_t hw_compat_3_0_len;
 
+extern GlobalProperty hw_compat_2_12[];
+extern const size_t hw_compat_2_12_len;
+
 #endif
diff --git a/include/hw/compat.h b/include/hw/compat.h
index c08f4040bb..13242b831a 100644
--- a/include/hw/compat.h
+++ b/include/hw/compat.h
@@ -1,33 +1,6 @@
 #ifndef HW_COMPAT_H
 #define HW_COMPAT_H
 
-#define HW_COMPAT_2_12 \
-    {\
-        .driver   = "migration",\
-        .property = "decompress-error-check",\
-        .value    = "off",\
-    },{\
-        .driver   = "hda-audio",\
-        .property = "use-timer",\
-        .value    = "false",\
-    },{\
-        .driver   = "cirrus-vga",\
-        .property = "global-vmstate",\
-        .value    = "true",\
-    },{\
-        .driver   = "VGA",\
-        .property = "global-vmstate",\
-        .value    = "true",\
-    },{\
-        .driver   = "vmware-svga",\
-        .property = "global-vmstate",\
-        .value    = "true",\
-    },{\
-        .driver   = "qxl-vga",\
-        .property = "global-vmstate",\
-        .value    = "true",\
-    },
-
 #define HW_COMPAT_2_11 \
     {\
         .driver   = "hpet",\
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 197131ff9a..91cb3283f0 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -300,25 +300,8 @@ extern const size_t pc_compat_3_1_len;
 extern GlobalProperty pc_compat_3_0[];
 extern const size_t pc_compat_3_0_len;
 
-#define PC_COMPAT_2_12 \
-    HW_COMPAT_2_12 \
-    {\
-        .driver   = TYPE_X86_CPU,\
-        .property = "legacy-cache",\
-        .value    = "on",\
-    },{\
-        .driver   = TYPE_X86_CPU,\
-        .property = "topoext",\
-        .value    = "off",\
-    },{\
-        .driver   = "EPYC-" TYPE_X86_CPU,\
-        .property = "xlevel",\
-        .value    = stringify(0x8000000a),\
-    },{\
-        .driver   = "EPYC-IBPB-" TYPE_X86_CPU,\
-        .property = "xlevel",\
-        .value    = stringify(0x8000000a),\
-    },
+extern GlobalProperty pc_compat_2_12[];
+extern const size_t pc_compat_2_12_len;
 
 #define PC_COMPAT_2_11 \
     HW_COMPAT_2_11 \
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 5c541ec55e..228ee63d99 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1889,12 +1889,9 @@ DEFINE_VIRT_MACHINE(3, 0)
 static void virt_machine_2_12_options(MachineClass *mc)
 {
     VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-    static GlobalProperty compat[] = {
-        HW_COMPAT_2_12
-    };
 
     virt_machine_3_0_options(mc);
-    compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
+    compat_props_add(mc->compat_props, hw_compat_2_12, hw_compat_2_12_len);
     vmc->no_highmem_ecam = true;
     mc->max_cpus = 255;
 }
diff --git a/hw/core/machine.c b/hw/core/machine.c
index f00f6381d2..ae94f5e4ca 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -38,6 +38,35 @@ const size_t hw_compat_3_1_len = G_N_ELEMENTS(hw_compat_3_1);
 GlobalProperty hw_compat_3_0[] = {};
 const size_t hw_compat_3_0_len = G_N_ELEMENTS(hw_compat_3_0);
 
+GlobalProperty hw_compat_2_12[] = {
+    {
+        .driver   = "migration",
+        .property = "decompress-error-check",
+        .value    = "off",
+    },{
+        .driver   = "hda-audio",
+        .property = "use-timer",
+        .value    = "false",
+    },{
+        .driver   = "cirrus-vga",
+        .property = "global-vmstate",
+        .value    = "true",
+    },{
+        .driver   = "VGA",
+        .property = "global-vmstate",
+        .value    = "true",
+    },{
+        .driver   = "vmware-svga",
+        .property = "global-vmstate",
+        .value    = "true",
+    },{
+        .driver   = "qxl-vga",
+        .property = "global-vmstate",
+        .value    = "true",
+    },
+};
+const size_t hw_compat_2_12_len = G_N_ELEMENTS(hw_compat_2_12);
+
 static char *machine_get_accel(Object *obj, Error **errp)
 {
     MachineState *ms = MACHINE(obj);
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index b5799985a1..031602a005 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -135,6 +135,27 @@ GlobalProperty pc_compat_3_0[] = {
 };
 const size_t pc_compat_3_0_len = G_N_ELEMENTS(pc_compat_3_0);
 
+GlobalProperty pc_compat_2_12[] = {
+    {
+        .driver   = TYPE_X86_CPU,
+        .property = "legacy-cache",
+        .value    = "on",
+    },{
+        .driver   = TYPE_X86_CPU,
+        .property = "topoext",
+        .value    = "off",
+    },{
+        .driver   = "EPYC-" TYPE_X86_CPU,
+        .property = "xlevel",
+        .value    = stringify(0x8000000a),
+    },{
+        .driver   = "EPYC-IBPB-" TYPE_X86_CPU,
+        .property = "xlevel",
+        .value    = stringify(0x8000000a),
+    },
+};
+const size_t pc_compat_2_12_len = G_N_ELEMENTS(pc_compat_2_12);
+
 void gsi_handler(void *opaque, int n, int level)
 {
     GSIState *s = opaque;
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index cc8b249ccc..fd3906cda6 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -462,12 +462,9 @@ DEFINE_I440FX_MACHINE(v3_0, "pc-i440fx-3.0", NULL,
 
 static void pc_i440fx_2_12_machine_options(MachineClass *m)
 {
-    static GlobalProperty compat[] = {
-        PC_COMPAT_2_12
-    };
-
     pc_i440fx_3_0_machine_options(m);
-    compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat));
+    compat_props_add(m->compat_props, hw_compat_2_12, hw_compat_2_12_len);
+    compat_props_add(m->compat_props, pc_compat_2_12, pc_compat_2_12_len);
 }
 
 DEFINE_I440FX_MACHINE(v2_12, "pc-i440fx-2.12", NULL,
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 39378ee1cd..7928f703d0 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -345,12 +345,9 @@ DEFINE_Q35_MACHINE(v3_0, "pc-q35-3.0", NULL,
 
 static void pc_q35_2_12_machine_options(MachineClass *m)
 {
-    static GlobalProperty compat[] = {
-        PC_COMPAT_2_12
-    };
-
     pc_q35_3_0_machine_options(m);
-    compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat));
+    compat_props_add(m->compat_props, hw_compat_2_12, hw_compat_2_12_len);
+    compat_props_add(m->compat_props, pc_compat_2_12, pc_compat_2_12_len);
 }
 
 DEFINE_Q35_MACHINE(v2_12, "pc-q35-2.12", NULL,
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 8a99e4d9b8..f1fe455c71 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4054,7 +4054,6 @@ static void spapr_machine_2_12_class_options(MachineClass *mc)
 {
     sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
     static GlobalProperty compat[] = {
-        HW_COMPAT_2_12
         {
             .driver = TYPE_POWERPC_CPU,
             .property = "pre-3.0-migration",
@@ -4068,6 +4067,7 @@ static void spapr_machine_2_12_class_options(MachineClass *mc)
     };
 
     spapr_machine_3_0_class_options(mc);
+    compat_props_add(mc->compat_props, hw_compat_2_12, hw_compat_2_12_len);
     compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
 
     /* We depend on kvm_enabled() to choose a default value for the
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index e54e6f6dd0..ce22a9d511 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -696,12 +696,8 @@ static void ccw_machine_2_12_instance_options(MachineState *machine)
 
 static void ccw_machine_2_12_class_options(MachineClass *mc)
 {
-    static GlobalProperty compat[] = {
-        HW_COMPAT_2_12
-    };
-
     ccw_machine_3_0_class_options(mc);
-    compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
+    compat_props_add(mc->compat_props, hw_compat_2_12, hw_compat_2_12_len);
 }
 DEFINE_CCW_MACHINE(2_12, "2.12", false);
 
-- 
2.20.1.2.gb21ebb671b

  parent reply	other threads:[~2019-01-04 17:31 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-04 17:30 [Qemu-devel] [PULL 00/28] Machine props patches Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 01/28] hw: apply accel compat properties without touching globals Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 02/28] machines: replace COMPAT define with a static array Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 03/28] hw: apply machine compat properties without touching globals Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 04/28] machine: move compat properties out of globals Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 05/28] hw: remove SET_MACHINE_COMPAT Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 06/28] compat: replace PC_COMPAT_3_1 & HW_COMPAT_3_1 macros Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 07/28] compat: replace PC_COMPAT_3_0 & HW_COMPAT_3_0 macros Marc-André Lureau
2019-01-04 17:30 ` Marc-André Lureau [this message]
2019-01-04 17:30 ` [Qemu-devel] [PULL 09/28] compat: replace PC_COMPAT_2_11 & HW_COMPAT_2_11 macros Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 10/28] compat: replace PC_COMPAT_2_10 & HW_COMPAT_2_10 macros Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 11/28] compat: replace PC_COMPAT_2_9 & HW_COMPAT_2_9 macros Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 12/28] compat: replace PC_COMPAT_2_8 & HW_COMPAT_2_8 macros Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 13/28] compat: replace PC_COMPAT_2_7 & HW_COMPAT_2_7 macros Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 14/28] compat: replace PC_COMPAT_2_6 & HW_COMPAT_2_6 macros Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 15/28] compat: replace PC_COMPAT_2_5 & HW_COMPAT_2_5 macros Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 16/28] compat: replace PC_COMPAT_2_4 & HW_COMPAT_2_4 macros Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 17/28] compat: replace PC_COMPAT_2_3 & HW_COMPAT_2_3 macros Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 18/28] compat: replace PC_COMPAT_2_2 & HW_COMPAT_2_2 macros Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 19/28] compat: replace PC_COMPAT_2_1 & HW_COMPAT_2_1 macros Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 20/28] include: remove compat.h Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 21/28] compat: remove remaining PC_COMPAT macros Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 22/28] qdev: make a separate helper function to apply compat properties Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 23/28] qdev: all globals are now user-provided Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 24/28] qdev-props: convert global_props to GPtrArray Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 25/28] qdev-props: remove errp from GlobalProperty Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 26/28] qdev-props: call object_apply_global_props() Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 27/28] arm: replace instance_post_init() Marc-André Lureau
2019-01-04 17:30 ` [Qemu-devel] [PULL 28/28] hostmem: use object id for memory region name with >= 4.0 Marc-André Lureau
2019-01-07 11:55 ` [Qemu-devel] [PULL 00/28] Machine props patches Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190104173042.32714-9-marcandre.lureau@redhat.com \
    --to=marcandre.lureau@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.