Use static arrays instead. Suggested-by: Eduardo Habkost <ehabk...@redhat.com> Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> Reviewed-by: Igor Mammedov <imamm...@redhat.com> Reviewed-by: Cornelia Huck <coh...@redhat.com> Acked-by: Eduardo Habkost <ehabk...@redhat.com> --- include/hw/boards.h | 3 +++ include/hw/compat.h | 19 ------------------- include/hw/i386/pc.h | 9 ++------- hw/arm/virt.c | 6 +----- hw/core/machine.c | 21 +++++++++++++++++++++ hw/i386/pc.c | 9 +++++++++ hw/i386/pc_piix.c | 7 ++----- hw/i386/pc_q35.c | 7 ++----- hw/ppc/spapr.c | 2 +- hw/s390x/s390-virtio-ccw.c | 2 +- 10 files changed, 42 insertions(+), 43 deletions(-)
diff --git a/include/hw/boards.h b/include/hw/boards.h index 732eb7bb73..0e69350939 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -303,4 +303,7 @@ extern const size_t hw_compat_2_11_len; extern GlobalProperty hw_compat_2_10[]; extern const size_t hw_compat_2_10_len; +extern GlobalProperty hw_compat_2_9[]; +extern const size_t hw_compat_2_9_len; + #endif diff --git a/include/hw/compat.h b/include/hw/compat.h index f414786604..ef154ca470 100644 --- a/include/hw/compat.h +++ b/include/hw/compat.h @@ -1,25 +1,6 @@ #ifndef HW_COMPAT_H #define HW_COMPAT_H -#define HW_COMPAT_2_9 \ - {\ - .driver = "pci-bridge",\ - .property = "shpc",\ - .value = "off",\ - },{\ - .driver = "intel-iommu",\ - .property = "pt",\ - .value = "off",\ - },{\ - .driver = "virtio-net-device",\ - .property = "x-mtu-bypass-backend",\ - .value = "off",\ - },{\ - .driver = "pcie-root-port",\ - .property = "x-migrate-msix",\ - .value = "false",\ - }, - #define HW_COMPAT_2_8 \ {\ .driver = "fw_cfg_mem",\ diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index d77843a711..fb79f0b988 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -309,13 +309,8 @@ extern const size_t pc_compat_2_11_len; extern GlobalProperty pc_compat_2_10[]; extern const size_t pc_compat_2_10_len; -#define PC_COMPAT_2_9 \ - HW_COMPAT_2_9 \ - {\ - .driver = "mch",\ - .property = "extended-tseg-mbytes",\ - .value = stringify(0),\ - },\ +extern GlobalProperty pc_compat_2_9[]; +extern const size_t pc_compat_2_9_len; #define PC_COMPAT_2_8 \ HW_COMPAT_2_8 \ diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 75ab14305a..a0898f27d3 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -1918,12 +1918,8 @@ DEFINE_VIRT_MACHINE(2, 10) static void virt_machine_2_9_options(MachineClass *mc) { - static GlobalProperty compat[] = { - HW_COMPAT_2_9 - }; - virt_machine_2_10_options(mc); - compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat)); + compat_props_add(mc->compat_props, hw_compat_2_9, hw_compat_2_9_len); } DEFINE_VIRT_MACHINE(2, 9) diff --git a/hw/core/machine.c b/hw/core/machine.c index 7673454a66..aa5f03fba2 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -101,6 +101,27 @@ GlobalProperty hw_compat_2_10[] = { }; const size_t hw_compat_2_10_len = G_N_ELEMENTS(hw_compat_2_10); +GlobalProperty hw_compat_2_9[] = { + { + .driver = "pci-bridge", + .property = "shpc", + .value = "off", + },{ + .driver = "intel-iommu", + .property = "pt", + .value = "off", + },{ + .driver = "virtio-net-device", + .property = "x-mtu-bypass-backend", + .value = "off", + },{ + .driver = "pcie-root-port", + .property = "x-migrate-msix", + .value = "false", + }, +}; +const size_t hw_compat_2_9_len = G_N_ELEMENTS(hw_compat_2_9); + 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 c0bb82c454..3f6f5df363 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -186,6 +186,15 @@ GlobalProperty pc_compat_2_10[] = { }; const size_t pc_compat_2_10_len = G_N_ELEMENTS(pc_compat_2_10); +GlobalProperty pc_compat_2_9[] = { + { + .driver = "mch", + .property = "extended-tseg-mbytes", + .value = stringify(0), + }, +}; +const size_t pc_compat_2_9_len = G_N_ELEMENTS(pc_compat_2_9); + 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 aea678dc91..02520bceb9 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -493,12 +493,9 @@ DEFINE_I440FX_MACHINE(v2_10, "pc-i440fx-2.10", NULL, static void pc_i440fx_2_9_machine_options(MachineClass *m) { - static GlobalProperty compat[] = { - PC_COMPAT_2_9 - }; - pc_i440fx_2_10_machine_options(m); - compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat)); + compat_props_add(m->compat_props, hw_compat_2_9, hw_compat_2_9_len); + compat_props_add(m->compat_props, pc_compat_2_9, pc_compat_2_9_len); m->numa_auto_assign_ram = numa_legacy_auto_assign_ram; } diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index a9c4fc27e4..e94d2d05c7 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -380,12 +380,9 @@ DEFINE_Q35_MACHINE(v2_10, "pc-q35-2.10", NULL, static void pc_q35_2_9_machine_options(MachineClass *m) { - static GlobalProperty compat[] = { - PC_COMPAT_2_9 - }; - pc_q35_2_10_machine_options(m); - compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat)); + compat_props_add(m->compat_props, hw_compat_2_9, hw_compat_2_9_len); + compat_props_add(m->compat_props, pc_compat_2_9, pc_compat_2_9_len); } DEFINE_Q35_MACHINE(v2_9, "pc-q35-2.9", NULL, diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 483a1373df..477ff5eb94 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -4127,7 +4127,6 @@ static void spapr_machine_2_9_class_options(MachineClass *mc) { sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc); static GlobalProperty compat[] = { - HW_COMPAT_2_9 { .driver = TYPE_POWERPC_CPU, .property = "pre-2.10-migration", @@ -4136,6 +4135,7 @@ static void spapr_machine_2_9_class_options(MachineClass *mc) }; spapr_machine_2_10_class_options(mc); + compat_props_add(mc->compat_props, hw_compat_2_9, hw_compat_2_9_len); compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat)); mc->numa_auto_assign_ram = numa_legacy_auto_assign_ram; smc->pre_2_10_has_unused_icps = true; diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 95ad7ba842..549f6e0231 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -752,7 +752,6 @@ static void ccw_machine_2_9_class_options(MachineClass *mc) { S390CcwMachineClass *s390mc = S390_MACHINE_CLASS(mc); static GlobalProperty compat[] = { - HW_COMPAT_2_9 { .driver = TYPE_S390_STATTRIB, .property = "migration-enabled", @@ -761,6 +760,7 @@ static void ccw_machine_2_9_class_options(MachineClass *mc) }; ccw_machine_2_10_class_options(mc); + compat_props_add(mc->compat_props, hw_compat_2_9, hw_compat_2_9_len); compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat)); s390mc->css_migration_enabled = false; } -- 2.20.1.2.gb21ebb671b