[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v7 07/28] compat: replace PC_COMPAT_3_0 & HW_COM
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH v7 07/28] compat: replace PC_COMPAT_3_0 & HW_COMPAT_3_0 macros |
Date: |
Thu, 27 Dec 2018 07:37:11 +0100 |
On Fri, 21 Dec 2018 13:03:49 +0400
Marc-André Lureau <address@hidden> wrote:
> Use static arrays instead.
>
> Suggested-by: Eduardo Habkost <address@hidden>
> Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
> ---
> include/hw/boards.h | 3 +++
> include/hw/compat.h | 3 ---
> include/hw/i386/pc.h | 17 ++---------------
> hw/arm/virt.c | 6 +-----
> hw/core/machine.c | 3 +++
> hw/i386/pc.c | 17 +++++++++++++++++
> hw/i386/pc_piix.c | 7 ++-----
> hw/i386/pc_q35.c | 7 ++-----
> hw/ppc/spapr.c | 5 +----
> hw/s390x/s390-virtio-ccw.c | 5 +----
> 10 files changed, 32 insertions(+), 41 deletions(-)
>
> diff --git a/include/hw/boards.h b/include/hw/boards.h
> index dc8c748c62..6b94d36d6a 100644
> --- a/include/hw/boards.h
> +++ b/include/hw/boards.h
> @@ -290,4 +290,7 @@ struct MachineState {
> extern GlobalProperty hw_compat_3_1[];
> extern const size_t hw_compat_3_1_len;
>
> +extern GlobalProperty hw_compat_3_0[];
> +extern const size_t hw_compat_3_0_len;
> +
> #endif
> diff --git a/include/hw/compat.h b/include/hw/compat.h
> index 6f4d5fc647..c08f4040bb 100644
> --- a/include/hw/compat.h
> +++ b/include/hw/compat.h
> @@ -1,9 +1,6 @@
> #ifndef HW_COMPAT_H
> #define HW_COMPAT_H
>
> -#define HW_COMPAT_3_0 \
> - /* empty */
> -
> #define HW_COMPAT_2_12 \
> {\
> .driver = "migration",\
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index dd1d6fd0f3..197131ff9a 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -297,21 +297,8 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t
> *);
> extern GlobalProperty pc_compat_3_1[];
> extern const size_t pc_compat_3_1_len;
>
> -#define PC_COMPAT_3_0 \
> - HW_COMPAT_3_0 \
> - {\
> - .driver = TYPE_X86_CPU,\
> - .property = "x-hv-synic-kvm-only",\
> - .value = "on",\
> - },{\
> - .driver = "Skylake-Server" "-" TYPE_X86_CPU,\
> - .property = "pku",\
> - .value = "off",\
> - },{\
> - .driver = "Skylake-Server-IBRS" "-" TYPE_X86_CPU,\
> - .property = "pku",\
> - .value = "off",\
> - },
> +extern GlobalProperty pc_compat_3_0[];
> +extern const size_t pc_compat_3_0_len;
>
> #define PC_COMPAT_2_12 \
> HW_COMPAT_2_12 \
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index b1ecccfaab..d226e7922e 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -1881,12 +1881,8 @@ DEFINE_VIRT_MACHINE(3, 1)
>
> static void virt_machine_3_0_options(MachineClass *mc)
> {
> - static GlobalProperty compat[] = {
> - HW_COMPAT_3_0
> - };
> -
> virt_machine_3_1_options(mc);
> - compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
> + compat_props_add(mc->compat_props, hw_compat_3_0, hw_compat_3_0_len);
> }
> DEFINE_VIRT_MACHINE(3, 0)
>
> diff --git a/hw/core/machine.c b/hw/core/machine.c
> index bdeeda68e4..cd55366f2e 100644
> --- a/hw/core/machine.c
> +++ b/hw/core/machine.c
> @@ -25,6 +25,9 @@
> GlobalProperty hw_compat_3_1[] = {};
> 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);
> +
> 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 74d8a82f64..7b9271a7ff 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -112,6 +112,23 @@ struct hpet_fw_config hpet_cfg = {.count = UINT8_MAX};
> GlobalProperty pc_compat_3_1[] = {};
> const size_t pc_compat_3_1_len = G_N_ELEMENTS(pc_compat_3_1);
>
> +GlobalProperty pc_compat_3_0[] = {
> + {
> + .driver = TYPE_X86_CPU,
> + .property = "x-hv-synic-kvm-only",
> + .value = "on",
> + },{
> + .driver = "Skylake-Server" "-" TYPE_X86_CPU,
> + .property = "pku",
> + .value = "off",
> + },{
> + .driver = "Skylake-Server-IBRS" "-" TYPE_X86_CPU,
> + .property = "pku",
> + .value = "off",
> + },
> +};
> +const size_t pc_compat_3_0_len = G_N_ELEMENTS(pc_compat_3_0);
> +
> 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 5342019d83..c1a9a10911 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -452,12 +452,9 @@ DEFINE_I440FX_MACHINE(v3_1, "pc-i440fx-3.1", NULL,
>
> static void pc_i440fx_3_0_machine_options(MachineClass *m)
> {
> - static GlobalProperty compat[] = {
> - PC_COMPAT_3_0
> - };
> -
> pc_i440fx_3_1_machine_options(m);
> - compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat));
> + compat_props_add(m->compat_props, hw_compat_3_0, hw_compat_3_0_len);
> + compat_props_add(m->compat_props, pc_compat_3_0, pc_compat_3_0_len);
> }
>
> DEFINE_I440FX_MACHINE(v3_0, "pc-i440fx-3.0", NULL,
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 1eb1e82b25..231b1269d1 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -333,12 +333,9 @@ DEFINE_Q35_MACHINE(v3_1, "pc-q35-3.1", NULL,
>
> static void pc_q35_3_0_machine_options(MachineClass *m)
> {
> - static GlobalProperty compat[] = {
> - PC_COMPAT_3_0
> - };
> -
> pc_q35_3_1_machine_options(m);
> - compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat));
> + compat_props_add(m->compat_props, hw_compat_3_0, hw_compat_3_0_len);
> + compat_props_add(m->compat_props, pc_compat_3_0, pc_compat_3_0_len);
> }
>
> DEFINE_Q35_MACHINE(v3_0, "pc-q35-3.0", NULL,
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 038d1859a6..5c4c6be22f 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -3978,12 +3978,9 @@ DEFINE_SPAPR_MACHINE(3_1, "3.1", false);
> static void spapr_machine_3_0_class_options(MachineClass *mc)
> {
> sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
> - static GlobalProperty compat[] = {
> - HW_COMPAT_3_0
> - };
>
> spapr_machine_3_1_class_options(mc);
> - compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
> + compat_props_add(mc->compat_props, hw_compat_3_0, hw_compat_3_0_len);
>
> smc->legacy_irq_allocation = true;
> smc->irq = &spapr_irq_xics_legacy;
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index 5e8b48e75b..e54e6f6dd0 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -680,13 +680,10 @@ static void
> ccw_machine_3_0_instance_options(MachineState *machine)
> static void ccw_machine_3_0_class_options(MachineClass *mc)
> {
> S390CcwMachineClass *s390mc = S390_MACHINE_CLASS(mc);
> - static GlobalProperty compat[] = {
> - HW_COMPAT_3_0
> - };
>
> s390mc->hpage_1m_allowed = false;
> ccw_machine_3_1_class_options(mc);
> - compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
> + compat_props_add(mc->compat_props, hw_compat_3_0, hw_compat_3_0_len);
> }
> DEFINE_CCW_MACHINE(3_0, "3.0", false);
>
- [Qemu-devel] [PATCH v7 01/28] hw: apply accel compat properties without touching globals, (continued)
- [Qemu-devel] [PATCH v7 01/28] hw: apply accel compat properties without touching globals, Marc-André Lureau, 2018/12/21
- [Qemu-devel] [PATCH v7 05/28] hw: remove SET_MACHINE_COMPAT, Marc-André Lureau, 2018/12/21
- [Qemu-devel] [PATCH v7 06/28] compat: replace PC_COMPAT_3_1 & HW_COMPAT_3_1 macros, Marc-André Lureau, 2018/12/21
- [Qemu-devel] [PATCH v7 07/28] compat: replace PC_COMPAT_3_0 & HW_COMPAT_3_0 macros, Marc-André Lureau, 2018/12/21
- [Qemu-devel] [PATCH v7 08/28] compat: replace PC_COMPAT_2_12 & HW_COMPAT_2_12 macros, Marc-André Lureau, 2018/12/21
- [Qemu-devel] [PATCH v7 09/28] compat: replace PC_COMPAT_2_11 & HW_COMPAT_2_11 macros, Marc-André Lureau, 2018/12/21
- [Qemu-devel] [PATCH v7 10/28] compat: replace PC_COMPAT_2_10 & HW_COMPAT_2_10 macros, Marc-André Lureau, 2018/12/21
- [Qemu-devel] [PATCH v7 11/28] compat: replace PC_COMPAT_2_9 & HW_COMPAT_2_9 macros, Marc-André Lureau, 2018/12/21