mirror of
https://github.com/mii443/qemu.git
synced 2025-12-09 22:18:23 +00:00
machine: move compat properties out of globals
Move the compat arrays inside functions that use them. 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:
@@ -1872,98 +1872,88 @@ static void virt_machine_4_0_options(MachineClass *mc)
|
||||
}
|
||||
DEFINE_VIRT_MACHINE_AS_LATEST(4, 0)
|
||||
|
||||
static GlobalProperty virt_compat_3_1[] = {
|
||||
HW_COMPAT_3_1
|
||||
};
|
||||
|
||||
static void virt_machine_3_1_options(MachineClass *mc)
|
||||
{
|
||||
static GlobalProperty compat[] = {
|
||||
HW_COMPAT_3_1
|
||||
};
|
||||
|
||||
virt_machine_4_0_options(mc);
|
||||
compat_props_add(mc->compat_props,
|
||||
virt_compat_3_1, G_N_ELEMENTS(virt_compat_3_1));
|
||||
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
|
||||
}
|
||||
DEFINE_VIRT_MACHINE(3, 1)
|
||||
|
||||
static GlobalProperty virt_compat_3_0[] = {
|
||||
HW_COMPAT_3_0
|
||||
};
|
||||
|
||||
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,
|
||||
virt_compat_3_0, G_N_ELEMENTS(virt_compat_3_0));
|
||||
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
|
||||
}
|
||||
DEFINE_VIRT_MACHINE(3, 0)
|
||||
|
||||
static GlobalProperty virt_compat_2_12[] = {
|
||||
HW_COMPAT_2_12
|
||||
};
|
||||
|
||||
static void virt_machine_2_12_options(MachineClass *mc)
|
||||
{
|
||||
VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
|
||||
static GlobalProperty compat[] = {
|
||||
HW_COMPAT_2_12
|
||||
};
|
||||
|
||||
virt_machine_3_0_options(mc);
|
||||
compat_props_add(mc->compat_props,
|
||||
virt_compat_2_12, G_N_ELEMENTS(virt_compat_2_12));
|
||||
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
|
||||
vmc->no_highmem_ecam = true;
|
||||
mc->max_cpus = 255;
|
||||
}
|
||||
DEFINE_VIRT_MACHINE(2, 12)
|
||||
|
||||
static GlobalProperty virt_compat_2_11[] = {
|
||||
HW_COMPAT_2_11
|
||||
};
|
||||
|
||||
static void virt_machine_2_11_options(MachineClass *mc)
|
||||
{
|
||||
VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
|
||||
static GlobalProperty compat[] = {
|
||||
HW_COMPAT_2_11
|
||||
};
|
||||
|
||||
virt_machine_2_12_options(mc);
|
||||
compat_props_add(mc->compat_props,
|
||||
virt_compat_2_11, G_N_ELEMENTS(virt_compat_2_11));
|
||||
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
|
||||
vmc->smbios_old_sys_ver = true;
|
||||
}
|
||||
DEFINE_VIRT_MACHINE(2, 11)
|
||||
|
||||
static GlobalProperty virt_compat_2_10[] = {
|
||||
HW_COMPAT_2_10
|
||||
};
|
||||
|
||||
static void virt_machine_2_10_options(MachineClass *mc)
|
||||
{
|
||||
static GlobalProperty compat[] = {
|
||||
HW_COMPAT_2_10
|
||||
};
|
||||
|
||||
virt_machine_2_11_options(mc);
|
||||
compat_props_add(mc->compat_props,
|
||||
virt_compat_2_10, G_N_ELEMENTS(virt_compat_2_10));
|
||||
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
|
||||
/* before 2.11 we never faulted accesses to bad addresses */
|
||||
mc->ignore_memory_transaction_failures = true;
|
||||
}
|
||||
DEFINE_VIRT_MACHINE(2, 10)
|
||||
|
||||
static GlobalProperty virt_compat_2_9[] = {
|
||||
HW_COMPAT_2_9
|
||||
};
|
||||
|
||||
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,
|
||||
virt_compat_2_9, G_N_ELEMENTS(virt_compat_2_9));
|
||||
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
|
||||
}
|
||||
DEFINE_VIRT_MACHINE(2, 9)
|
||||
|
||||
static GlobalProperty virt_compat_2_8[] = {
|
||||
HW_COMPAT_2_8
|
||||
};
|
||||
|
||||
static void virt_machine_2_8_options(MachineClass *mc)
|
||||
{
|
||||
VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
|
||||
static GlobalProperty compat[] = {
|
||||
HW_COMPAT_2_8
|
||||
};
|
||||
|
||||
virt_machine_2_9_options(mc);
|
||||
compat_props_add(mc->compat_props,
|
||||
virt_compat_2_8, G_N_ELEMENTS(virt_compat_2_8));
|
||||
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
|
||||
/* For 2.8 and earlier we falsely claimed in the DT that
|
||||
* our timers were edge-triggered, not level-triggered.
|
||||
*/
|
||||
@@ -1971,17 +1961,15 @@ static void virt_machine_2_8_options(MachineClass *mc)
|
||||
}
|
||||
DEFINE_VIRT_MACHINE(2, 8)
|
||||
|
||||
static GlobalProperty virt_compat_2_7[] = {
|
||||
HW_COMPAT_2_7
|
||||
};
|
||||
|
||||
static void virt_machine_2_7_options(MachineClass *mc)
|
||||
{
|
||||
VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
|
||||
static GlobalProperty compat[] = {
|
||||
HW_COMPAT_2_7
|
||||
};
|
||||
|
||||
virt_machine_2_8_options(mc);
|
||||
compat_props_add(mc->compat_props,
|
||||
virt_compat_2_7, G_N_ELEMENTS(virt_compat_2_7));
|
||||
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
|
||||
/* ITS was introduced with 2.8 */
|
||||
vmc->no_its = true;
|
||||
/* Stick with 1K pages for migration compatibility */
|
||||
@@ -1989,17 +1977,15 @@ static void virt_machine_2_7_options(MachineClass *mc)
|
||||
}
|
||||
DEFINE_VIRT_MACHINE(2, 7)
|
||||
|
||||
static GlobalProperty virt_compat_2_6[] = {
|
||||
HW_COMPAT_2_6
|
||||
};
|
||||
|
||||
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,
|
||||
virt_compat_2_6, G_N_ELEMENTS(virt_compat_2_6));
|
||||
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
|
||||
vmc->disallow_affinity_adjustment = true;
|
||||
/* Disable PMU for 2.6 as PMU support was first introduced in 2.7 */
|
||||
vmc->no_pmu = true;
|
||||
|
||||
Reference in New Issue
Block a user