compat: replace PC_COMPAT_2_6 & HW_COMPAT_2_6 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 5a995064db
commit ff8f261f11
10 changed files with 52 additions and 50 deletions

View File

@ -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;

View File

@ -193,6 +193,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);

View File

@ -258,6 +258,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;

View File

@ -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,

View File

@ -412,14 +412,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,

View File

@ -4262,7 +4262,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",
@ -4272,6 +4271,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));
}

View File

@ -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);

View File

@ -312,4 +312,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

View File

@ -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",\

View File

@ -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