diff mbox series

[v7,19/28] compat: replace PC_COMPAT_2_1 & HW_COMPAT_2_1 macros

Message ID 20181221090410.27250-20-marcandre.lureau@redhat.com
State New
Headers show
Series Generalize machine compatibility properties | expand

Commit Message

Marc-André Lureau Dec. 21, 2018, 9:04 a.m. UTC
Use static arrays instead.  I decided to rename the conflicting
pc_compat_2_1() function with pc_compat_2_1_fn().

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  | 31 -------------------------------
 include/hw/i386/pc.h | 17 +++--------------
 hw/core/machine.c    | 33 +++++++++++++++++++++++++++++++++
 hw/i386/pc.c         | 15 +++++++++++++++
 hw/i386/pc_piix.c    | 12 +++++-------
 hw/ppc/spapr.c       |  6 +-----
 7 files changed, 60 insertions(+), 57 deletions(-)

Comments

Cornelia Huck Dec. 21, 2018, 1:09 p.m. UTC | #1
On Fri, 21 Dec 2018 13:04:01 +0400
Marc-André Lureau <marcandre.lureau@redhat.com> wrote:

> Use static arrays instead.  I decided to rename the conflicting
> pc_compat_2_1() function with pc_compat_2_1_fn().
> 
> 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  | 31 -------------------------------
>  include/hw/i386/pc.h | 17 +++--------------
>  hw/core/machine.c    | 33 +++++++++++++++++++++++++++++++++
>  hw/i386/pc.c         | 15 +++++++++++++++
>  hw/i386/pc_piix.c    | 12 +++++-------
>  hw/ppc/spapr.c       |  6 +-----
>  7 files changed, 60 insertions(+), 57 deletions(-)

Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Igor Mammedov Dec. 27, 2018, 6:54 a.m. UTC | #2
On Fri, 21 Dec 2018 13:04:01 +0400
Marc-André Lureau <marcandre.lureau@redhat.com> wrote:

> Use static arrays instead.  I decided to rename the conflicting
> pc_compat_2_1() function with pc_compat_2_1_fn().
> 
> Suggested-by: Eduardo Habkost <ehabkost@redhat.com>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> ---
>  include/hw/boards.h  |  3 +++
>  include/hw/compat.h  | 31 -------------------------------
>  include/hw/i386/pc.h | 17 +++--------------
>  hw/core/machine.c    | 33 +++++++++++++++++++++++++++++++++
>  hw/i386/pc.c         | 15 +++++++++++++++
>  hw/i386/pc_piix.c    | 12 +++++-------
>  hw/ppc/spapr.c       |  6 +-----
>  7 files changed, 60 insertions(+), 57 deletions(-)
> 
> diff --git a/include/hw/boards.h b/include/hw/boards.h
> index 0b0a1f4079..d4aca54968 100644
> --- a/include/hw/boards.h
> +++ b/include/hw/boards.h
> @@ -326,4 +326,7 @@ extern const size_t hw_compat_2_3_len;
>  extern GlobalProperty hw_compat_2_2[];
>  extern const size_t hw_compat_2_2_len;
>  
> +extern GlobalProperty hw_compat_2_1[];
> +extern const size_t hw_compat_2_1_len;
> +
>  #endif
> diff --git a/include/hw/compat.h b/include/hw/compat.h
> index 3bd91908e4..b2d0bdd599 100644
> --- a/include/hw/compat.h
> +++ b/include/hw/compat.h
> @@ -1,35 +1,4 @@
>  #ifndef HW_COMPAT_H
>  #define HW_COMPAT_H
>  
> -#define HW_COMPAT_2_1 \
> -    {\
> -        .driver   = "intel-hda",\
> -        .property = "old_msi_addr",\
> -        .value    = "on",\
> -    },{\
> -        .driver   = "VGA",\
> -        .property = "qemu-extended-regs",\
> -        .value    = "off",\
> -    },{\
> -        .driver   = "secondary-vga",\
> -        .property = "qemu-extended-regs",\
> -        .value    = "off",\
> -    },{\
> -        .driver   = "virtio-scsi-pci",\
> -        .property = "any_layout",\
> -        .value    = "off",\
> -    },{\
> -        .driver   = "usb-mouse",\
> -        .property = "usb_version",\
> -        .value    = stringify(1),\
> -    },{\
> -        .driver   = "usb-kbd",\
> -        .property = "usb_version",\
> -        .value    = stringify(1),\
> -    },{\
> -        .driver   = "virtio-pci",\
> -        .property = "virtio-pci-bus-master-bug-migration",\
> -        .value    = "on",\
> -    },
> -
>  #endif /* HW_COMPAT_H */
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index 49b45bb79d..784ea7a92c 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -333,6 +333,9 @@ extern const size_t pc_compat_2_3_len;
>  extern GlobalProperty pc_compat_2_2[];
>  extern const size_t pc_compat_2_2_len;
>  
> +extern GlobalProperty pc_compat_2_1[];
> +extern const size_t pc_compat_2_1_len;
> +
>  /* Helper for setting model-id for CPU models that changed model-id
>   * depending on QEMU versions up to QEMU 2.4.
>   */
> @@ -353,20 +356,6 @@ extern const size_t pc_compat_2_2_len;
>          .value    = "QEMU Virtual CPU version " v,\
>      },
>  
> -#define PC_COMPAT_2_1 \
> -    HW_COMPAT_2_1 \
> -    PC_CPU_MODEL_IDS("2.1.0") \
> -    {\
> -        .driver = "coreduo" "-" TYPE_X86_CPU,\
> -        .property = "vmx",\
> -        .value = "on",\
> -    },\
> -    {\
> -        .driver = "core2duo" "-" TYPE_X86_CPU,\
> -        .property = "vmx",\
> -        .value = "on",\
> -    },
> -
>  #define PC_COMPAT_2_0 \
>      PC_CPU_MODEL_IDS("2.0.0") \
>      {\
> diff --git a/hw/core/machine.c b/hw/core/machine.c
> index 8f387e9063..7570408caa 100644
> --- a/hw/core/machine.c
> +++ b/hw/core/machine.c
> @@ -299,6 +299,39 @@ const size_t hw_compat_2_3_len = G_N_ELEMENTS(hw_compat_2_3);
>  GlobalProperty hw_compat_2_2[] = {};
>  const size_t hw_compat_2_2_len = G_N_ELEMENTS(hw_compat_2_2);
>  
> +GlobalProperty hw_compat_2_1[] = {
> +    {
> +        .driver   = "intel-hda",
> +        .property = "old_msi_addr",
> +        .value    = "on",
> +    },{
> +        .driver   = "VGA",
> +        .property = "qemu-extended-regs",
> +        .value    = "off",
> +    },{
> +        .driver   = "secondary-vga",
> +        .property = "qemu-extended-regs",
> +        .value    = "off",
> +    },{
> +        .driver   = "virtio-scsi-pci",
> +        .property = "any_layout",
> +        .value    = "off",
> +    },{
> +        .driver   = "usb-mouse",
> +        .property = "usb_version",
> +        .value    = stringify(1),
> +    },{
> +        .driver   = "usb-kbd",
> +        .property = "usb_version",
> +        .value    = stringify(1),
> +    },{
> +        .driver   = "virtio-pci",
> +        .property = "virtio-pci-bus-master-bug-migration",
> +        .value    = "on",
> +    },
> +};
> +const size_t hw_compat_2_1_len = G_N_ELEMENTS(hw_compat_2_1);
> +
>  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 aeba5a770e..f0c8f54aaf 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -530,6 +530,21 @@ GlobalProperty pc_compat_2_2[] = {
>  };
>  const size_t pc_compat_2_2_len = G_N_ELEMENTS(pc_compat_2_2);
>  
> +GlobalProperty pc_compat_2_1[] = {
> +    PC_CPU_MODEL_IDS("2.1.0")
> +    {
> +        .driver = "coreduo" "-" TYPE_X86_CPU,
> +        .property = "vmx",
> +        .value = "on",
> +    },
> +    {
> +        .driver = "core2duo" "-" TYPE_X86_CPU,
> +        .property = "vmx",
> +        .value = "on",
> +    },
> +};
> +const size_t pc_compat_2_1_len = G_N_ELEMENTS(pc_compat_2_1);
> +
>  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 6c250e64fc..c7b5e0a3ad 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -323,7 +323,7 @@ static void pc_compat_2_2_fn(MachineState *machine)
>      pc_compat_2_3_fn(machine);
>  }
>  
> -static void pc_compat_2_1(MachineState *machine)
> +static void pc_compat_2_1_fn(MachineState *machine)
>  {
>      pc_compat_2_2_fn(machine);
>      x86_cpu_change_kvm_default("svm", NULL);
> @@ -331,7 +331,7 @@ static void pc_compat_2_1(MachineState *machine)
>  
>  static void pc_compat_2_0(MachineState *machine)
>  {
> -    pc_compat_2_1(machine);
> +    pc_compat_2_1_fn(machine);
>  }
>  
>  static void pc_compat_1_7(MachineState *machine)
> @@ -593,19 +593,17 @@ DEFINE_I440FX_MACHINE(v2_2, "pc-i440fx-2.2", pc_compat_2_2_fn,
>  static void pc_i440fx_2_1_machine_options(MachineClass *m)
>  {
>      PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
> -    static GlobalProperty compat[] = {
> -        PC_COMPAT_2_1
> -    };
>  
>      pc_i440fx_2_2_machine_options(m);
>      m->hw_version = "2.1.0";
>      m->default_display = NULL;
> -    compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat));
> +    compat_props_add(m->compat_props, hw_compat_2_1, hw_compat_2_1_len);
> +    compat_props_add(m->compat_props, pc_compat_2_1, pc_compat_2_1_len);
>      pcmc->smbios_uuid_encoded = false;
>      pcmc->enforce_aligned_dimm = false;
>  }
>  
> -DEFINE_I440FX_MACHINE(v2_1, "pc-i440fx-2.1", pc_compat_2_1,
> +DEFINE_I440FX_MACHINE(v2_1, "pc-i440fx-2.1", pc_compat_2_1_fn,
>                        pc_i440fx_2_1_machine_options);
>  
>  static void pc_i440fx_2_0_machine_options(MachineClass *m)
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 2e71eb08e9..1c5b0e40b1 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -4302,12 +4302,8 @@ DEFINE_SPAPR_MACHINE(2_2, "2.2", false);
>  
>  static void spapr_machine_2_1_class_options(MachineClass *mc)
>  {
> -    static GlobalProperty compat[] = {
> -        HW_COMPAT_2_1
> -    };
> -
>      spapr_machine_2_2_class_options(mc);
> -    compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
> +    compat_props_add(mc->compat_props, hw_compat_2_1, hw_compat_2_1_len);
>  }
>  DEFINE_SPAPR_MACHINE(2_1, "2.1", false);
>
diff mbox series

Patch

diff --git a/include/hw/boards.h b/include/hw/boards.h
index 0b0a1f4079..d4aca54968 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -326,4 +326,7 @@  extern const size_t hw_compat_2_3_len;
 extern GlobalProperty hw_compat_2_2[];
 extern const size_t hw_compat_2_2_len;
 
+extern GlobalProperty hw_compat_2_1[];
+extern const size_t hw_compat_2_1_len;
+
 #endif
diff --git a/include/hw/compat.h b/include/hw/compat.h
index 3bd91908e4..b2d0bdd599 100644
--- a/include/hw/compat.h
+++ b/include/hw/compat.h
@@ -1,35 +1,4 @@ 
 #ifndef HW_COMPAT_H
 #define HW_COMPAT_H
 
-#define HW_COMPAT_2_1 \
-    {\
-        .driver   = "intel-hda",\
-        .property = "old_msi_addr",\
-        .value    = "on",\
-    },{\
-        .driver   = "VGA",\
-        .property = "qemu-extended-regs",\
-        .value    = "off",\
-    },{\
-        .driver   = "secondary-vga",\
-        .property = "qemu-extended-regs",\
-        .value    = "off",\
-    },{\
-        .driver   = "virtio-scsi-pci",\
-        .property = "any_layout",\
-        .value    = "off",\
-    },{\
-        .driver   = "usb-mouse",\
-        .property = "usb_version",\
-        .value    = stringify(1),\
-    },{\
-        .driver   = "usb-kbd",\
-        .property = "usb_version",\
-        .value    = stringify(1),\
-    },{\
-        .driver   = "virtio-pci",\
-        .property = "virtio-pci-bus-master-bug-migration",\
-        .value    = "on",\
-    },
-
 #endif /* HW_COMPAT_H */
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 49b45bb79d..784ea7a92c 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -333,6 +333,9 @@  extern const size_t pc_compat_2_3_len;
 extern GlobalProperty pc_compat_2_2[];
 extern const size_t pc_compat_2_2_len;
 
+extern GlobalProperty pc_compat_2_1[];
+extern const size_t pc_compat_2_1_len;
+
 /* Helper for setting model-id for CPU models that changed model-id
  * depending on QEMU versions up to QEMU 2.4.
  */
@@ -353,20 +356,6 @@  extern const size_t pc_compat_2_2_len;
         .value    = "QEMU Virtual CPU version " v,\
     },
 
-#define PC_COMPAT_2_1 \
-    HW_COMPAT_2_1 \
-    PC_CPU_MODEL_IDS("2.1.0") \
-    {\
-        .driver = "coreduo" "-" TYPE_X86_CPU,\
-        .property = "vmx",\
-        .value = "on",\
-    },\
-    {\
-        .driver = "core2duo" "-" TYPE_X86_CPU,\
-        .property = "vmx",\
-        .value = "on",\
-    },
-
 #define PC_COMPAT_2_0 \
     PC_CPU_MODEL_IDS("2.0.0") \
     {\
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 8f387e9063..7570408caa 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -299,6 +299,39 @@  const size_t hw_compat_2_3_len = G_N_ELEMENTS(hw_compat_2_3);
 GlobalProperty hw_compat_2_2[] = {};
 const size_t hw_compat_2_2_len = G_N_ELEMENTS(hw_compat_2_2);
 
+GlobalProperty hw_compat_2_1[] = {
+    {
+        .driver   = "intel-hda",
+        .property = "old_msi_addr",
+        .value    = "on",
+    },{
+        .driver   = "VGA",
+        .property = "qemu-extended-regs",
+        .value    = "off",
+    },{
+        .driver   = "secondary-vga",
+        .property = "qemu-extended-regs",
+        .value    = "off",
+    },{
+        .driver   = "virtio-scsi-pci",
+        .property = "any_layout",
+        .value    = "off",
+    },{
+        .driver   = "usb-mouse",
+        .property = "usb_version",
+        .value    = stringify(1),
+    },{
+        .driver   = "usb-kbd",
+        .property = "usb_version",
+        .value    = stringify(1),
+    },{
+        .driver   = "virtio-pci",
+        .property = "virtio-pci-bus-master-bug-migration",
+        .value    = "on",
+    },
+};
+const size_t hw_compat_2_1_len = G_N_ELEMENTS(hw_compat_2_1);
+
 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 aeba5a770e..f0c8f54aaf 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -530,6 +530,21 @@  GlobalProperty pc_compat_2_2[] = {
 };
 const size_t pc_compat_2_2_len = G_N_ELEMENTS(pc_compat_2_2);
 
+GlobalProperty pc_compat_2_1[] = {
+    PC_CPU_MODEL_IDS("2.1.0")
+    {
+        .driver = "coreduo" "-" TYPE_X86_CPU,
+        .property = "vmx",
+        .value = "on",
+    },
+    {
+        .driver = "core2duo" "-" TYPE_X86_CPU,
+        .property = "vmx",
+        .value = "on",
+    },
+};
+const size_t pc_compat_2_1_len = G_N_ELEMENTS(pc_compat_2_1);
+
 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 6c250e64fc..c7b5e0a3ad 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -323,7 +323,7 @@  static void pc_compat_2_2_fn(MachineState *machine)
     pc_compat_2_3_fn(machine);
 }
 
-static void pc_compat_2_1(MachineState *machine)
+static void pc_compat_2_1_fn(MachineState *machine)
 {
     pc_compat_2_2_fn(machine);
     x86_cpu_change_kvm_default("svm", NULL);
@@ -331,7 +331,7 @@  static void pc_compat_2_1(MachineState *machine)
 
 static void pc_compat_2_0(MachineState *machine)
 {
-    pc_compat_2_1(machine);
+    pc_compat_2_1_fn(machine);
 }
 
 static void pc_compat_1_7(MachineState *machine)
@@ -593,19 +593,17 @@  DEFINE_I440FX_MACHINE(v2_2, "pc-i440fx-2.2", pc_compat_2_2_fn,
 static void pc_i440fx_2_1_machine_options(MachineClass *m)
 {
     PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
-    static GlobalProperty compat[] = {
-        PC_COMPAT_2_1
-    };
 
     pc_i440fx_2_2_machine_options(m);
     m->hw_version = "2.1.0";
     m->default_display = NULL;
-    compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat));
+    compat_props_add(m->compat_props, hw_compat_2_1, hw_compat_2_1_len);
+    compat_props_add(m->compat_props, pc_compat_2_1, pc_compat_2_1_len);
     pcmc->smbios_uuid_encoded = false;
     pcmc->enforce_aligned_dimm = false;
 }
 
-DEFINE_I440FX_MACHINE(v2_1, "pc-i440fx-2.1", pc_compat_2_1,
+DEFINE_I440FX_MACHINE(v2_1, "pc-i440fx-2.1", pc_compat_2_1_fn,
                       pc_i440fx_2_1_machine_options);
 
 static void pc_i440fx_2_0_machine_options(MachineClass *m)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 2e71eb08e9..1c5b0e40b1 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4302,12 +4302,8 @@  DEFINE_SPAPR_MACHINE(2_2, "2.2", false);
 
 static void spapr_machine_2_1_class_options(MachineClass *mc)
 {
-    static GlobalProperty compat[] = {
-        HW_COMPAT_2_1
-    };
-
     spapr_machine_2_2_class_options(mc);
-    compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
+    compat_props_add(mc->compat_props, hw_compat_2_1, hw_compat_2_1_len);
 }
 DEFINE_SPAPR_MACHINE(2_1, "2.1", false);