All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Marc-André Lureau" <marcandre.lureau@redhat.com>
To: qemu-devel@nongnu.org
Cc: imammedo@redhat.com, ehabkost@redhat.com
Subject: [Qemu-devel] [PATCH v7 14/28] compat: replace PC_COMPAT_2_6 & HW_COMPAT_2_6 macros
Date: Fri, 21 Dec 2018 13:03:56 +0400	[thread overview]
Message-ID: <20181221090410.27250-15-marcandre.lureau@redhat.com> (raw)
In-Reply-To: <20181221090410.27250-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>
---
 include/hw/boards.h        |  3 +++
 include/hw/compat.h        | 15 ---------------
 include/hw/i386/pc.h       | 23 ++---------------------
 hw/arm/virt.c              |  5 +----
 hw/core/machine.c          | 17 +++++++++++++++++
 hw/i386/pc.c               | 23 +++++++++++++++++++++++
 hw/i386/pc_piix.c          |  6 ++----
 hw/i386/pc_q35.c           |  6 ++----
 hw/ppc/spapr.c             |  2 +-
 hw/s390x/s390-virtio-ccw.c |  2 +-
 10 files changed, 52 insertions(+), 50 deletions(-)

diff --git a/include/hw/boards.h b/include/hw/boards.h
index 611b34b26a..a9d413cdb7 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -311,4 +311,7 @@ extern const size_t hw_compat_2_8_len;
 extern GlobalProperty hw_compat_2_7[];
 extern const size_t hw_compat_2_7_len;
 
+extern GlobalProperty hw_compat_2_6[];
+extern const size_t hw_compat_2_6_len;
+
 #endif
diff --git a/include/hw/compat.h b/include/hw/compat.h
index 7ceab17401..c744233fb6 100644
--- a/include/hw/compat.h
+++ b/include/hw/compat.h
@@ -1,21 +1,6 @@
 #ifndef HW_COMPAT_H
 #define HW_COMPAT_H
 
-#define HW_COMPAT_2_6 \
-    {\
-        .driver   = "virtio-mmio",\
-        .property = "format_transport_address",\
-        .value    = "off",\
-    },{\
-        .driver   = "virtio-pci",\
-        .property = "disable-modern",\
-        .value    = "on",\
-    },{\
-        .driver   = "virtio-pci",\
-        .property = "disable-legacy",\
-        .value    = "off",\
-    },
-
 #define HW_COMPAT_2_5 \
     {\
         .driver   = "isa-fdc",\
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 504fbc79a9..ca62def2c9 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -318,27 +318,8 @@ extern const size_t pc_compat_2_8_len;
 extern GlobalProperty pc_compat_2_7[];
 extern const size_t pc_compat_2_7_len;
 
-#define PC_COMPAT_2_6 \
-    HW_COMPAT_2_6 \
-    {\
-        .driver   = TYPE_X86_CPU,\
-        .property = "cpuid-0xb",\
-        .value    = "off",\
-    },{\
-        .driver   = "vmxnet3",\
-        .property = "romfile",\
-        .value    = "",\
-    },\
-    {\
-        .driver = TYPE_X86_CPU,\
-        .property = "fill-mtrr-mask",\
-        .value = "off",\
-    },\
-    {\
-        .driver   = "apic-common",\
-        .property = "legacy-instance-id",\
-        .value    = "on",\
-    },
+extern GlobalProperty pc_compat_2_6[];
+extern const size_t pc_compat_2_6_len;
 
 #define PC_COMPAT_2_5 \
     HW_COMPAT_2_5
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index e01d19e5e1..5fe2eebb02 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1952,12 +1952,9 @@ DEFINE_VIRT_MACHINE(2, 7)
 static void virt_machine_2_6_options(MachineClass *mc)
 {
     VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
-    static GlobalProperty compat[] = {
-        HW_COMPAT_2_6
-    };
 
     virt_machine_2_7_options(mc);
-    compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
+    compat_props_add(mc->compat_props, hw_compat_2_6, hw_compat_2_6_len);
     vmc->disallow_affinity_adjustment = true;
     /* Disable PMU for 2.6 as PMU support was first introduced in 2.7 */
     vmc->no_pmu = true;
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 92f4c71354..5f1af02c86 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -183,6 +183,23 @@ GlobalProperty hw_compat_2_7[] = {
 };
 const size_t hw_compat_2_7_len = G_N_ELEMENTS(hw_compat_2_7);
 
+GlobalProperty hw_compat_2_6[] = {
+    {
+        .driver   = "virtio-mmio",
+        .property = "format_transport_address",
+        .value    = "off",
+    },{
+        .driver   = "virtio-pci",
+        .property = "disable-modern",
+        .value    = "on",
+    },{
+        .driver   = "virtio-pci",
+        .property = "disable-legacy",
+        .value    = "off",
+    },
+};
+const size_t hw_compat_2_6_len = G_N_ELEMENTS(hw_compat_2_6);
+
 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 96c64ccc4f..f719115f17 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -252,6 +252,29 @@ GlobalProperty pc_compat_2_7[] = {
 };
 const size_t pc_compat_2_7_len = G_N_ELEMENTS(pc_compat_2_7);
 
+GlobalProperty pc_compat_2_6[] = {
+    {
+        .driver   = TYPE_X86_CPU,
+        .property = "cpuid-0xb",
+        .value    = "off",
+    },{
+        .driver   = "vmxnet3",
+        .property = "romfile",
+        .value    = "",
+    },
+    {
+        .driver = TYPE_X86_CPU,
+        .property = "fill-mtrr-mask",
+        .value = "off",
+    },
+    {
+        .driver   = "apic-common",
+        .property = "legacy-instance-id",
+        .value    = "on",
+    }
+};
+const size_t pc_compat_2_6_len = G_N_ELEMENTS(pc_compat_2_6);
+
 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 b956b4abe0..5f3dc8a809 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -525,14 +525,12 @@ DEFINE_I440FX_MACHINE(v2_7, "pc-i440fx-2.7", NULL,
 static void pc_i440fx_2_6_machine_options(MachineClass *m)
 {
     PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
-    static GlobalProperty compat[] = {
-        PC_COMPAT_2_6
-    };
 
     pc_i440fx_2_7_machine_options(m);
     pcmc->legacy_cpu_hotplug = true;
     pcmc->linuxboot_dma_enabled = false;
-    compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat));
+    compat_props_add(m->compat_props, hw_compat_2_6, hw_compat_2_6_len);
+    compat_props_add(m->compat_props, pc_compat_2_6, pc_compat_2_6_len);
 }
 
 DEFINE_I440FX_MACHINE(v2_6, "pc-i440fx-2.6", NULL,
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index e321f14cb5..063df36cad 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -410,14 +410,12 @@ DEFINE_Q35_MACHINE(v2_7, "pc-q35-2.7", NULL,
 static void pc_q35_2_6_machine_options(MachineClass *m)
 {
     PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
-    static GlobalProperty compat[] = {
-        PC_COMPAT_2_6
-    };
 
     pc_q35_2_7_machine_options(m);
     pcmc->legacy_cpu_hotplug = true;
     pcmc->linuxboot_dma_enabled = false;
-    compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat));
+    compat_props_add(m->compat_props, hw_compat_2_6, hw_compat_2_6_len);
+    compat_props_add(m->compat_props, pc_compat_2_6, pc_compat_2_6_len);
 }
 
 DEFINE_Q35_MACHINE(v2_6, "pc-q35-2.6", NULL,
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 445996c0b4..797f480564 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4203,7 +4203,6 @@ DEFINE_SPAPR_MACHINE(2_7, "2.7", false);
 static void spapr_machine_2_6_class_options(MachineClass *mc)
 {
     static GlobalProperty compat[] = {
-        HW_COMPAT_2_6
         {
             .driver   = TYPE_SPAPR_PCI_HOST_BRIDGE,
             .property = "ddw",
@@ -4213,6 +4212,7 @@ static void spapr_machine_2_6_class_options(MachineClass *mc)
 
     spapr_machine_2_7_class_options(mc);
     mc->has_hotpluggable_cpus = false;
+    compat_props_add(mc->compat_props, hw_compat_2_6, hw_compat_2_6_len);
     compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
 }
 
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index f28feedd4b..6137c97875 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -811,7 +811,6 @@ static void ccw_machine_2_6_class_options(MachineClass *mc)
 {
     S390CcwMachineClass *s390mc = S390_MACHINE_CLASS(mc);
     static GlobalProperty compat[] = {
-        HW_COMPAT_2_6
         {
             .driver   = TYPE_S390_IPL,
             .property = "iplbext_migration",
@@ -825,6 +824,7 @@ static void ccw_machine_2_6_class_options(MachineClass *mc)
 
     s390mc->ri_allowed = false;
     ccw_machine_2_7_class_options(mc);
+    compat_props_add(mc->compat_props, hw_compat_2_6, hw_compat_2_6_len);
     compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
 }
 DEFINE_CCW_MACHINE(2_6, "2.6", false);
-- 
2.20.1.2.gb21ebb671b

  parent reply	other threads:[~2018-12-21  9:05 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-21  9:03 [Qemu-devel] [PATCH v7 00/28] Generalize machine compatibility properties Marc-André Lureau
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 01/28] hw: apply accel compat properties without touching globals Marc-André Lureau
2018-12-21 11:58   ` Cornelia Huck
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 02/28] machines: replace COMPAT define with a static array Marc-André Lureau
2018-12-21 12:33   ` Cornelia Huck
2018-12-21 14:17   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 03/28] hw: apply machine compat properties without touching globals Marc-André Lureau
2018-12-21 12:38   ` Cornelia Huck
2018-12-21 14:20   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 04/28] machine: move compat properties out of globals Marc-André Lureau
2018-12-21 12:44   ` Cornelia Huck
2018-12-21 14:21   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 05/28] hw: remove SET_MACHINE_COMPAT Marc-André Lureau
2018-12-21 12:44   ` Cornelia Huck
2018-12-21 14:22   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 06/28] compat: replace PC_COMPAT_3_1 & HW_COMPAT_3_1 macros Marc-André Lureau
2018-12-21 12:47   ` Cornelia Huck
2018-12-27  6:35   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 07/28] compat: replace PC_COMPAT_3_0 & HW_COMPAT_3_0 macros Marc-André Lureau
2018-12-21 12:50   ` Cornelia Huck
2018-12-27  6:37   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 08/28] compat: replace PC_COMPAT_2_12 & HW_COMPAT_2_12 macros Marc-André Lureau
2018-12-21 12:52   ` Cornelia Huck
2018-12-27  6:39   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 09/28] compat: replace PC_COMPAT_2_11 & HW_COMPAT_2_11 macros Marc-André Lureau
2018-12-21 12:53   ` Cornelia Huck
2018-12-27  6:40   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 10/28] compat: replace PC_COMPAT_2_10 & HW_COMPAT_2_10 macros Marc-André Lureau
2018-12-21 12:55   ` Cornelia Huck
2018-12-27  6:41   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 11/28] compat: replace PC_COMPAT_2_9 & HW_COMPAT_2_9 macros Marc-André Lureau
2018-12-21 12:56   ` Cornelia Huck
2018-12-27  6:44   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 12/28] compat: replace PC_COMPAT_2_8 & HW_COMPAT_2_8 macros Marc-André Lureau
2018-12-21 12:58   ` Cornelia Huck
2018-12-27  6:45   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 13/28] compat: replace PC_COMPAT_2_7 & HW_COMPAT_2_7 macros Marc-André Lureau
2018-12-21 13:00   ` Cornelia Huck
2018-12-27  6:47   ` Igor Mammedov
2018-12-21  9:03 ` Marc-André Lureau [this message]
2018-12-21 13:03   ` [Qemu-devel] [PATCH v7 14/28] compat: replace PC_COMPAT_2_6 & HW_COMPAT_2_6 macros Cornelia Huck
2018-12-27  6:48   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 15/28] compat: replace PC_COMPAT_2_5 & HW_COMPAT_2_5 macros Marc-André Lureau
2018-12-21 13:04   ` Cornelia Huck
2018-12-27  6:50   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 16/28] compat: replace PC_COMPAT_2_4 & HW_COMPAT_2_4 macros Marc-André Lureau
2018-12-21 13:05   ` Cornelia Huck
2018-12-27  6:51   ` Igor Mammedov
2018-12-21  9:03 ` [Qemu-devel] [PATCH v7 17/28] compat: replace PC_COMPAT_2_3 & HW_COMPAT_2_3 macros Marc-André Lureau
2018-12-21 13:07   ` Cornelia Huck
2018-12-27  6:52   ` Igor Mammedov
2018-12-21  9:04 ` [Qemu-devel] [PATCH v7 18/28] compat: replace PC_COMPAT_2_2 & HW_COMPAT_2_2 macros Marc-André Lureau
2018-12-21 13:08   ` Cornelia Huck
2018-12-27  6:53   ` Igor Mammedov
2018-12-21  9:04 ` [Qemu-devel] [PATCH v7 19/28] compat: replace PC_COMPAT_2_1 & HW_COMPAT_2_1 macros Marc-André Lureau
2018-12-21 13:09   ` Cornelia Huck
2018-12-27  6:54   ` Igor Mammedov
2018-12-21  9:04 ` [Qemu-devel] [PATCH v7 20/28] include: remove compat.h Marc-André Lureau
2018-12-21 13:10   ` Cornelia Huck
2018-12-27  6:56   ` Igor Mammedov
2018-12-21  9:04 ` [Qemu-devel] [PATCH v7 21/28] compat: remove remaining PC_COMPAT macros Marc-André Lureau
2018-12-21 13:12   ` Cornelia Huck
2018-12-27  6:58   ` Igor Mammedov
2018-12-21  9:04 ` [Qemu-devel] [PATCH v7 22/28] qdev: make a separate helper function to apply compat properties Marc-André Lureau
2018-12-21 14:38   ` Igor Mammedov
2018-12-21 15:25   ` Cornelia Huck
2018-12-21  9:04 ` [Qemu-devel] [PATCH v7 23/28] qdev: all globals are now user-provided Marc-André Lureau
2018-12-21 15:26   ` Cornelia Huck
2018-12-21  9:04 ` [Qemu-devel] [PATCH v7 24/28] qdev-props: convert global_props to GPtrArray Marc-André Lureau
2018-12-21 15:28   ` Cornelia Huck
2018-12-21  9:04 ` [Qemu-devel] [PATCH v7 25/28] qdev-props: remove errp from GlobalProperty Marc-André Lureau
2018-12-21 15:34   ` Cornelia Huck
2019-01-04 10:57     ` Marc-André Lureau
2019-01-04 11:04       ` Cornelia Huck
2018-12-21  9:04 ` [Qemu-devel] [PATCH v7 26/28] qdev-props: call object_apply_global_props() Marc-André Lureau
2018-12-21 15:35   ` Cornelia Huck
2018-12-21  9:04 ` [Qemu-devel] [PATCH v7 27/28] arm: replace instance_post_init() Marc-André Lureau
2018-12-21  9:04 ` [Qemu-devel] [PATCH v7 28/28] hostmem: use object id for memory region name with >= 4.0 Marc-André Lureau
2019-01-04 11:42 ` [Qemu-devel] [PATCH v7 00/28] Generalize machine compatibility properties Marc-André Lureau
2019-01-04 16:16   ` Eduardo Habkost

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=20181221090410.27250-15-marcandre.lureau@redhat.com \
    --to=marcandre.lureau@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --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.