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:
		
							parent
							
								
									5a995064db
								
							
						
					
					
						commit
						ff8f261f11
					
				@ -1952,12 +1952,9 @@ DEFINE_VIRT_MACHINE(2, 7)
 | 
				
			|||||||
static void virt_machine_2_6_options(MachineClass *mc)
 | 
					static void virt_machine_2_6_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_6
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    virt_machine_2_7_options(mc);
 | 
					    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;
 | 
					    vmc->disallow_affinity_adjustment = true;
 | 
				
			||||||
    /* Disable PMU for 2.6 as PMU support was first introduced in 2.7 */
 | 
					    /* Disable PMU for 2.6 as PMU support was first introduced in 2.7 */
 | 
				
			||||||
    vmc->no_pmu = true;
 | 
					    vmc->no_pmu = true;
 | 
				
			||||||
 | 
				
			|||||||
@ -193,6 +193,23 @@ GlobalProperty hw_compat_2_7[] = {
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
const size_t hw_compat_2_7_len = G_N_ELEMENTS(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)
 | 
					static char *machine_get_accel(Object *obj, Error **errp)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    MachineState *ms = MACHINE(obj);
 | 
					    MachineState *ms = MACHINE(obj);
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										23
									
								
								hw/i386/pc.c
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								hw/i386/pc.c
									
									
									
									
									
								
							@ -258,6 +258,29 @@ GlobalProperty pc_compat_2_7[] = {
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
const size_t pc_compat_2_7_len = G_N_ELEMENTS(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)
 | 
					void gsi_handler(void *opaque, int n, int level)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    GSIState *s = opaque;
 | 
					    GSIState *s = opaque;
 | 
				
			||||||
 | 
				
			|||||||
@ -525,14 +525,12 @@ DEFINE_I440FX_MACHINE(v2_7, "pc-i440fx-2.7", NULL,
 | 
				
			|||||||
static void pc_i440fx_2_6_machine_options(MachineClass *m)
 | 
					static void pc_i440fx_2_6_machine_options(MachineClass *m)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
 | 
					    PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
 | 
				
			||||||
    static GlobalProperty compat[] = {
 | 
					 | 
				
			||||||
        PC_COMPAT_2_6
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pc_i440fx_2_7_machine_options(m);
 | 
					    pc_i440fx_2_7_machine_options(m);
 | 
				
			||||||
    pcmc->legacy_cpu_hotplug = true;
 | 
					    pcmc->legacy_cpu_hotplug = true;
 | 
				
			||||||
    pcmc->linuxboot_dma_enabled = false;
 | 
					    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,
 | 
					DEFINE_I440FX_MACHINE(v2_6, "pc-i440fx-2.6", NULL,
 | 
				
			||||||
 | 
				
			|||||||
@ -412,14 +412,12 @@ DEFINE_Q35_MACHINE(v2_7, "pc-q35-2.7", NULL,
 | 
				
			|||||||
static void pc_q35_2_6_machine_options(MachineClass *m)
 | 
					static void pc_q35_2_6_machine_options(MachineClass *m)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
 | 
					    PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
 | 
				
			||||||
    static GlobalProperty compat[] = {
 | 
					 | 
				
			||||||
        PC_COMPAT_2_6
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pc_q35_2_7_machine_options(m);
 | 
					    pc_q35_2_7_machine_options(m);
 | 
				
			||||||
    pcmc->legacy_cpu_hotplug = true;
 | 
					    pcmc->legacy_cpu_hotplug = true;
 | 
				
			||||||
    pcmc->linuxboot_dma_enabled = false;
 | 
					    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,
 | 
					DEFINE_Q35_MACHINE(v2_6, "pc-q35-2.6", NULL,
 | 
				
			||||||
 | 
				
			|||||||
@ -4262,7 +4262,6 @@ DEFINE_SPAPR_MACHINE(2_7, "2.7", false);
 | 
				
			|||||||
static void spapr_machine_2_6_class_options(MachineClass *mc)
 | 
					static void spapr_machine_2_6_class_options(MachineClass *mc)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    static GlobalProperty compat[] = {
 | 
					    static GlobalProperty compat[] = {
 | 
				
			||||||
        HW_COMPAT_2_6
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            .driver   = TYPE_SPAPR_PCI_HOST_BRIDGE,
 | 
					            .driver   = TYPE_SPAPR_PCI_HOST_BRIDGE,
 | 
				
			||||||
            .property = "ddw",
 | 
					            .property = "ddw",
 | 
				
			||||||
@ -4272,6 +4271,7 @@ static void spapr_machine_2_6_class_options(MachineClass *mc)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    spapr_machine_2_7_class_options(mc);
 | 
					    spapr_machine_2_7_class_options(mc);
 | 
				
			||||||
    mc->has_hotpluggable_cpus = false;
 | 
					    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));
 | 
					    compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -811,7 +811,6 @@ static void ccw_machine_2_6_class_options(MachineClass *mc)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    S390CcwMachineClass *s390mc = S390_MACHINE_CLASS(mc);
 | 
					    S390CcwMachineClass *s390mc = S390_MACHINE_CLASS(mc);
 | 
				
			||||||
    static GlobalProperty compat[] = {
 | 
					    static GlobalProperty compat[] = {
 | 
				
			||||||
        HW_COMPAT_2_6
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            .driver   = TYPE_S390_IPL,
 | 
					            .driver   = TYPE_S390_IPL,
 | 
				
			||||||
            .property = "iplbext_migration",
 | 
					            .property = "iplbext_migration",
 | 
				
			||||||
@ -825,6 +824,7 @@ static void ccw_machine_2_6_class_options(MachineClass *mc)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    s390mc->ri_allowed = false;
 | 
					    s390mc->ri_allowed = false;
 | 
				
			||||||
    ccw_machine_2_7_class_options(mc);
 | 
					    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));
 | 
					    compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
DEFINE_CCW_MACHINE(2_6, "2.6", false);
 | 
					DEFINE_CCW_MACHINE(2_6, "2.6", false);
 | 
				
			||||||
 | 
				
			|||||||
@ -312,4 +312,7 @@ extern const size_t hw_compat_2_8_len;
 | 
				
			|||||||
extern GlobalProperty hw_compat_2_7[];
 | 
					extern GlobalProperty hw_compat_2_7[];
 | 
				
			||||||
extern const size_t hw_compat_2_7_len;
 | 
					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
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
@ -1,21 +1,6 @@
 | 
				
			|||||||
#ifndef HW_COMPAT_H
 | 
					#ifndef HW_COMPAT_H
 | 
				
			||||||
#define 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 \
 | 
					#define HW_COMPAT_2_5 \
 | 
				
			||||||
    {\
 | 
					    {\
 | 
				
			||||||
        .driver   = "isa-fdc",\
 | 
					        .driver   = "isa-fdc",\
 | 
				
			||||||
 | 
				
			|||||||
@ -318,27 +318,8 @@ extern const size_t pc_compat_2_8_len;
 | 
				
			|||||||
extern GlobalProperty pc_compat_2_7[];
 | 
					extern GlobalProperty pc_compat_2_7[];
 | 
				
			||||||
extern const size_t pc_compat_2_7_len;
 | 
					extern const size_t pc_compat_2_7_len;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define PC_COMPAT_2_6 \
 | 
					extern GlobalProperty pc_compat_2_6[];
 | 
				
			||||||
    HW_COMPAT_2_6 \
 | 
					extern const size_t pc_compat_2_6_len;
 | 
				
			||||||
    {\
 | 
					 | 
				
			||||||
        .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",\
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define PC_COMPAT_2_5 \
 | 
					#define PC_COMPAT_2_5 \
 | 
				
			||||||
    HW_COMPAT_2_5
 | 
					    HW_COMPAT_2_5
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user