compat: replace PC_COMPAT_2_8 & HW_COMPAT_2_8 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 3e8031525a
commit edc24ccda4
10 changed files with 87 additions and 86 deletions

View File

@ -1926,12 +1926,9 @@ DEFINE_VIRT_MACHINE(2, 9)
static void virt_machine_2_8_options(MachineClass *mc) static void virt_machine_2_8_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_8
};
virt_machine_2_9_options(mc); virt_machine_2_9_options(mc);
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat)); compat_props_add(mc->compat_props, hw_compat_2_8, hw_compat_2_8_len);
/* For 2.8 and earlier we falsely claimed in the DT that /* For 2.8 and earlier we falsely claimed in the DT that
* our timers were edge-triggered, not level-triggered. * our timers were edge-triggered, not level-triggered.
*/ */

View File

@ -21,6 +21,7 @@
#include "sysemu/numa.h" #include "sysemu/numa.h"
#include "qemu/error-report.h" #include "qemu/error-report.h"
#include "sysemu/qtest.h" #include "sysemu/qtest.h"
#include "hw/pci/pci.h"
GlobalProperty hw_compat_3_1[] = { GlobalProperty hw_compat_3_1[] = {
{ {
@ -122,6 +123,51 @@ GlobalProperty hw_compat_2_9[] = {
}; };
const size_t hw_compat_2_9_len = G_N_ELEMENTS(hw_compat_2_9); const size_t hw_compat_2_9_len = G_N_ELEMENTS(hw_compat_2_9);
GlobalProperty hw_compat_2_8[] = {
{
.driver = "fw_cfg_mem",
.property = "x-file-slots",
.value = stringify(0x10),
},{
.driver = "fw_cfg_io",
.property = "x-file-slots",
.value = stringify(0x10),
},{
.driver = "pflash_cfi01",
.property = "old-multiple-chip-handling",
.value = "on",
},{
.driver = "pci-bridge",
.property = "shpc",
.value = "on",
},{
.driver = TYPE_PCI_DEVICE,
.property = "x-pcie-extcap-init",
.value = "off",
},{
.driver = "virtio-pci",
.property = "x-pcie-deverr-init",
.value = "off",
},{
.driver = "virtio-pci",
.property = "x-pcie-lnkctl-init",
.value = "off",
},{
.driver = "virtio-pci",
.property = "x-pcie-pm-init",
.value = "off",
},{
.driver = "cirrus-vga",
.property = "vgamem_mb",
.value = "8",
},{
.driver = "isa-cirrus-vga",
.property = "vgamem_mb",
.value = "8",
},
};
const size_t hw_compat_2_8_len = G_N_ELEMENTS(hw_compat_2_8);
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

@ -195,6 +195,35 @@ GlobalProperty pc_compat_2_9[] = {
}; };
const size_t pc_compat_2_9_len = G_N_ELEMENTS(pc_compat_2_9); const size_t pc_compat_2_9_len = G_N_ELEMENTS(pc_compat_2_9);
GlobalProperty pc_compat_2_8[] = {
{
.driver = TYPE_X86_CPU,
.property = "tcg-cpuid",
.value = "off",
},
{
.driver = "kvmclock",
.property = "x-mach-use-reliable-get-clock",
.value = "off",
},
{
.driver = "ICH9-LPC",
.property = "x-smi-broadcast",
.value = "off",
},
{
.driver = TYPE_X86_CPU,
.property = "vmware-cpuid-freq",
.value = "off",
},
{
.driver = "Haswell-" TYPE_X86_CPU,
.property = "stepping",
.value = "1",
},
};
const size_t pc_compat_2_8_len = G_N_ELEMENTS(pc_compat_2_8);
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

@ -504,12 +504,9 @@ DEFINE_I440FX_MACHINE(v2_9, "pc-i440fx-2.9", NULL,
static void pc_i440fx_2_8_machine_options(MachineClass *m) static void pc_i440fx_2_8_machine_options(MachineClass *m)
{ {
static GlobalProperty compat[] = {
PC_COMPAT_2_8
};
pc_i440fx_2_9_machine_options(m); pc_i440fx_2_9_machine_options(m);
compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat)); compat_props_add(m->compat_props, hw_compat_2_8, hw_compat_2_8_len);
compat_props_add(m->compat_props, pc_compat_2_8, pc_compat_2_8_len);
} }
DEFINE_I440FX_MACHINE(v2_8, "pc-i440fx-2.8", NULL, DEFINE_I440FX_MACHINE(v2_8, "pc-i440fx-2.8", NULL,

View File

@ -390,12 +390,9 @@ DEFINE_Q35_MACHINE(v2_9, "pc-q35-2.9", NULL,
static void pc_q35_2_8_machine_options(MachineClass *m) static void pc_q35_2_8_machine_options(MachineClass *m)
{ {
static GlobalProperty compat[] = {
PC_COMPAT_2_8
};
pc_q35_2_9_machine_options(m); pc_q35_2_9_machine_options(m);
compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat)); compat_props_add(m->compat_props, hw_compat_2_8, hw_compat_2_8_len);
compat_props_add(m->compat_props, pc_compat_2_8, pc_compat_2_8_len);
} }
DEFINE_Q35_MACHINE(v2_8, "pc-q35-2.8", NULL, DEFINE_Q35_MACHINE(v2_8, "pc-q35-2.8", NULL,

View File

@ -4151,7 +4151,6 @@ DEFINE_SPAPR_MACHINE(2_9, "2.9", false);
static void spapr_machine_2_8_class_options(MachineClass *mc) static void spapr_machine_2_8_class_options(MachineClass *mc)
{ {
static GlobalProperty compat[] = { static GlobalProperty compat[] = {
HW_COMPAT_2_8
{ {
.driver = TYPE_SPAPR_PCI_HOST_BRIDGE, .driver = TYPE_SPAPR_PCI_HOST_BRIDGE,
.property = "pcie-extended-configuration-space", .property = "pcie-extended-configuration-space",
@ -4160,6 +4159,7 @@ static void spapr_machine_2_8_class_options(MachineClass *mc)
}; };
spapr_machine_2_9_class_options(mc); spapr_machine_2_9_class_options(mc);
compat_props_add(mc->compat_props, hw_compat_2_8, hw_compat_2_8_len);
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat)); compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
mc->numa_mem_align_shift = 23; mc->numa_mem_align_shift = 23;
} }

View File

@ -774,7 +774,6 @@ static void ccw_machine_2_8_instance_options(MachineState *machine)
static void ccw_machine_2_8_class_options(MachineClass *mc) static void ccw_machine_2_8_class_options(MachineClass *mc)
{ {
static GlobalProperty compat[] = { static GlobalProperty compat[] = {
HW_COMPAT_2_8
{ {
.driver = TYPE_S390_FLIC_COMMON, .driver = TYPE_S390_FLIC_COMMON,
.property = "adapter_routes_max_batch", .property = "adapter_routes_max_batch",
@ -783,6 +782,7 @@ static void ccw_machine_2_8_class_options(MachineClass *mc)
}; };
ccw_machine_2_9_class_options(mc); ccw_machine_2_9_class_options(mc);
compat_props_add(mc->compat_props, hw_compat_2_8, hw_compat_2_8_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_8, "2.8", false); DEFINE_CCW_MACHINE(2_8, "2.8", false);

View File

@ -306,4 +306,7 @@ extern const size_t hw_compat_2_10_len;
extern GlobalProperty hw_compat_2_9[]; extern GlobalProperty hw_compat_2_9[];
extern const size_t hw_compat_2_9_len; extern const size_t hw_compat_2_9_len;
extern GlobalProperty hw_compat_2_8[];
extern const size_t hw_compat_2_8_len;
#endif #endif

View File

@ -1,49 +1,6 @@
#ifndef HW_COMPAT_H #ifndef HW_COMPAT_H
#define HW_COMPAT_H #define HW_COMPAT_H
#define HW_COMPAT_2_8 \
{\
.driver = "fw_cfg_mem",\
.property = "x-file-slots",\
.value = stringify(0x10),\
},{\
.driver = "fw_cfg_io",\
.property = "x-file-slots",\
.value = stringify(0x10),\
},{\
.driver = "pflash_cfi01",\
.property = "old-multiple-chip-handling",\
.value = "on",\
},{\
.driver = "pci-bridge",\
.property = "shpc",\
.value = "on",\
},{\
.driver = TYPE_PCI_DEVICE,\
.property = "x-pcie-extcap-init",\
.value = "off",\
},{\
.driver = "virtio-pci",\
.property = "x-pcie-deverr-init",\
.value = "off",\
},{\
.driver = "virtio-pci",\
.property = "x-pcie-lnkctl-init",\
.value = "off",\
},{\
.driver = "virtio-pci",\
.property = "x-pcie-pm-init",\
.value = "off",\
},{\
.driver = "cirrus-vga",\
.property = "vgamem_mb",\
.value = "8",\
},{\
.driver = "isa-cirrus-vga",\
.property = "vgamem_mb",\
.value = "8",\
},
#define HW_COMPAT_2_7 \ #define HW_COMPAT_2_7 \
{\ {\
.driver = "virtio-pci",\ .driver = "virtio-pci",\

View File

@ -312,33 +312,8 @@ extern const size_t pc_compat_2_10_len;
extern GlobalProperty pc_compat_2_9[]; extern GlobalProperty pc_compat_2_9[];
extern const size_t pc_compat_2_9_len; extern const size_t pc_compat_2_9_len;
#define PC_COMPAT_2_8 \ extern GlobalProperty pc_compat_2_8[];
HW_COMPAT_2_8 \ extern const size_t pc_compat_2_8_len;
{\
.driver = TYPE_X86_CPU,\
.property = "tcg-cpuid",\
.value = "off",\
},\
{\
.driver = "kvmclock",\
.property = "x-mach-use-reliable-get-clock",\
.value = "off",\
},\
{\
.driver = "ICH9-LPC",\
.property = "x-smi-broadcast",\
.value = "off",\
},\
{\
.driver = TYPE_X86_CPU,\
.property = "vmware-cpuid-freq",\
.value = "off",\
},\
{\
.driver = "Haswell-" TYPE_X86_CPU,\
.property = "stepping",\
.value = "1",\
},
#define PC_COMPAT_2_7 \ #define PC_COMPAT_2_7 \
HW_COMPAT_2_7 \ HW_COMPAT_2_7 \