compat: replace PC_COMPAT_2_11 & HW_COMPAT_2_11 macros

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>
This commit is contained in:
Marc-André Lureau 2018-12-12 19:36:30 +04:00
parent 0d47310b03
commit 43df70a9dd
10 changed files with 46 additions and 49 deletions

View File

@ -1900,12 +1900,9 @@ DEFINE_VIRT_MACHINE(2, 12)
static void virt_machine_2_11_options(MachineClass *mc) static void virt_machine_2_11_options(MachineClass *mc)
{ {
VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc)); VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
static GlobalProperty compat[] = {
HW_COMPAT_2_11
};
virt_machine_2_12_options(mc); virt_machine_2_12_options(mc);
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat)); compat_props_add(mc->compat_props, hw_compat_2_11, hw_compat_2_11_len);
vmc->smbios_old_sys_ver = true; vmc->smbios_old_sys_ver = true;
} }
DEFINE_VIRT_MACHINE(2, 11) DEFINE_VIRT_MACHINE(2, 11)

View File

@ -67,6 +67,27 @@ GlobalProperty hw_compat_2_12[] = {
}; };
const size_t hw_compat_2_12_len = G_N_ELEMENTS(hw_compat_2_12); const size_t hw_compat_2_12_len = G_N_ELEMENTS(hw_compat_2_12);
GlobalProperty hw_compat_2_11[] = {
{
.driver = "hpet",
.property = "hpet-offset-saved",
.value = "false",
},{
.driver = "virtio-blk-pci",
.property = "vectors",
.value = "2",
},{
.driver = "vhost-user-blk-pci",
.property = "vectors",
.value = "2",
},{
.driver = "e1000",
.property = "migrate_tso_props",
.value = "off",
},
};
const size_t hw_compat_2_11_len = G_N_ELEMENTS(hw_compat_2_11);
static char *machine_get_accel(Object *obj, Error **errp) static char *machine_get_accel(Object *obj, Error **errp)
{ {
MachineState *ms = MACHINE(obj); MachineState *ms = MACHINE(obj);

View File

@ -156,6 +156,19 @@ GlobalProperty pc_compat_2_12[] = {
}; };
const size_t pc_compat_2_12_len = G_N_ELEMENTS(pc_compat_2_12); const size_t pc_compat_2_12_len = G_N_ELEMENTS(pc_compat_2_12);
GlobalProperty pc_compat_2_11[] = {
{
.driver = TYPE_X86_CPU,
.property = "x-migrate-smi-count",
.value = "off",
},{
.driver = "Skylake-Server" "-" TYPE_X86_CPU,
.property = "clflushopt",
.value = "off",
},
};
const size_t pc_compat_2_11_len = G_N_ELEMENTS(pc_compat_2_11);
void gsi_handler(void *opaque, int n, int level) void gsi_handler(void *opaque, int n, int level)
{ {
GSIState *s = opaque; GSIState *s = opaque;

View File

@ -472,12 +472,9 @@ DEFINE_I440FX_MACHINE(v2_12, "pc-i440fx-2.12", NULL,
static void pc_i440fx_2_11_machine_options(MachineClass *m) static void pc_i440fx_2_11_machine_options(MachineClass *m)
{ {
static GlobalProperty compat[] = {
PC_COMPAT_2_11
};
pc_i440fx_2_12_machine_options(m); pc_i440fx_2_12_machine_options(m);
compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat)); compat_props_add(m->compat_props, hw_compat_2_11, hw_compat_2_11_len);
compat_props_add(m->compat_props, pc_compat_2_11, pc_compat_2_11_len);
} }
DEFINE_I440FX_MACHINE(v2_11, "pc-i440fx-2.11", NULL, DEFINE_I440FX_MACHINE(v2_11, "pc-i440fx-2.11", NULL,

View File

@ -356,14 +356,11 @@ DEFINE_Q35_MACHINE(v2_12, "pc-q35-2.12", NULL,
static void pc_q35_2_11_machine_options(MachineClass *m) static void pc_q35_2_11_machine_options(MachineClass *m)
{ {
PCMachineClass *pcmc = PC_MACHINE_CLASS(m); PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
static GlobalProperty compat[] = {
PC_COMPAT_2_11
};
pc_q35_2_12_machine_options(m); pc_q35_2_12_machine_options(m);
pcmc->default_nic_model = "e1000"; pcmc->default_nic_model = "e1000";
compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat)); compat_props_add(m->compat_props, hw_compat_2_11, hw_compat_2_11_len);
compat_props_add(m->compat_props, pc_compat_2_11, pc_compat_2_11_len);
} }
DEFINE_Q35_MACHINE(v2_11, "pc-q35-2.11", NULL, DEFINE_Q35_MACHINE(v2_11, "pc-q35-2.11", NULL,

View File

@ -4099,13 +4099,10 @@ DEFINE_SPAPR_MACHINE(2_12_sxxm, "2.12-sxxm", false);
static void spapr_machine_2_11_class_options(MachineClass *mc) static void spapr_machine_2_11_class_options(MachineClass *mc)
{ {
sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc); sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
static GlobalProperty compat[] = {
HW_COMPAT_2_11
};
spapr_machine_2_12_class_options(mc); spapr_machine_2_12_class_options(mc);
smc->default_caps.caps[SPAPR_CAP_HTM] = SPAPR_CAP_ON; smc->default_caps.caps[SPAPR_CAP_HTM] = SPAPR_CAP_ON;
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat)); compat_props_add(mc->compat_props, hw_compat_2_11, hw_compat_2_11_len);
} }
DEFINE_SPAPR_MACHINE(2_11, "2.11", false); DEFINE_SPAPR_MACHINE(2_11, "2.11", false);

View File

@ -713,7 +713,6 @@ static void ccw_machine_2_11_instance_options(MachineState *machine)
static void ccw_machine_2_11_class_options(MachineClass *mc) static void ccw_machine_2_11_class_options(MachineClass *mc)
{ {
static GlobalProperty compat[] = { static GlobalProperty compat[] = {
HW_COMPAT_2_11
{ {
.driver = TYPE_SCLP_EVENT_FACILITY, .driver = TYPE_SCLP_EVENT_FACILITY,
.property = "allow_all_mask_sizes", .property = "allow_all_mask_sizes",
@ -722,6 +721,7 @@ static void ccw_machine_2_11_class_options(MachineClass *mc)
}; };
ccw_machine_2_12_class_options(mc); ccw_machine_2_12_class_options(mc);
compat_props_add(mc->compat_props, hw_compat_2_11, hw_compat_2_11_len);
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat)); compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
} }
DEFINE_CCW_MACHINE(2_11, "2.11", false); DEFINE_CCW_MACHINE(2_11, "2.11", false);

View File

@ -297,4 +297,7 @@ extern const size_t hw_compat_3_0_len;
extern GlobalProperty hw_compat_2_12[]; extern GlobalProperty hw_compat_2_12[];
extern const size_t hw_compat_2_12_len; extern const size_t hw_compat_2_12_len;
extern GlobalProperty hw_compat_2_11[];
extern const size_t hw_compat_2_11_len;
#endif #endif

View File

@ -1,25 +1,6 @@
#ifndef HW_COMPAT_H #ifndef HW_COMPAT_H
#define HW_COMPAT_H #define HW_COMPAT_H
#define HW_COMPAT_2_11 \
{\
.driver = "hpet",\
.property = "hpet-offset-saved",\
.value = "false",\
},{\
.driver = "virtio-blk-pci",\
.property = "vectors",\
.value = "2",\
},{\
.driver = "vhost-user-blk-pci",\
.property = "vectors",\
.value = "2",\
},{\
.driver = "e1000",\
.property = "migrate_tso_props",\
.value = "off",\
},
#define HW_COMPAT_2_10 \ #define HW_COMPAT_2_10 \
{\ {\
.driver = "virtio-mouse-device",\ .driver = "virtio-mouse-device",\

View File

@ -303,17 +303,8 @@ extern const size_t pc_compat_3_0_len;
extern GlobalProperty pc_compat_2_12[]; extern GlobalProperty pc_compat_2_12[];
extern const size_t pc_compat_2_12_len; extern const size_t pc_compat_2_12_len;
#define PC_COMPAT_2_11 \ extern GlobalProperty pc_compat_2_11[];
HW_COMPAT_2_11 \ extern const size_t pc_compat_2_11_len;
{\
.driver = TYPE_X86_CPU,\
.property = "x-migrate-smi-count",\
.value = "off",\
},{\
.driver = "Skylake-Server" "-" TYPE_X86_CPU,\
.property = "clflushopt",\
.value = "off",\
},
#define PC_COMPAT_2_10 \ #define PC_COMPAT_2_10 \
HW_COMPAT_2_10 \ HW_COMPAT_2_10 \