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:
		
							parent
							
								
									0d47310b03
								
							
						
					
					
						commit
						43df70a9dd
					
				@ -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)
 | 
				
			||||||
 | 
				
			|||||||
@ -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);
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										13
									
								
								hw/i386/pc.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								hw/i386/pc.c
									
									
									
									
									
								
							@ -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;
 | 
				
			||||||
 | 
				
			|||||||
@ -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,
 | 
				
			||||||
 | 
				
			|||||||
@ -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,
 | 
				
			||||||
 | 
				
			|||||||
@ -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);
 | 
				
			||||||
 | 
				
			|||||||
@ -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);
 | 
				
			||||||
 | 
				
			|||||||
@ -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
 | 
				
			||||||
 | 
				
			|||||||
@ -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",\
 | 
				
			||||||
 | 
				
			|||||||
@ -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 \
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user