machine: Move smp_prefer_sockets to struct SMPCompatProps

Now we have a common structure SMPCompatProps used to store information
about SMP compatibility stuff, so we can also move smp_prefer_sockets
there for cleaner code.

No functional change intended.

Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210929025816.21076-15-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Yanan Wang 2021-09-29 10:58:14 +08:00 committed by Paolo Bonzini
parent 7687b2b3ed
commit 2b52619994
7 changed files with 8 additions and 7 deletions

View File

@ -2815,7 +2815,7 @@ static void virt_machine_6_1_options(MachineClass *mc)
virt_machine_6_2_options(mc); virt_machine_6_2_options(mc);
compat_props_add(mc->compat_props, hw_compat_6_1, hw_compat_6_1_len); compat_props_add(mc->compat_props, hw_compat_6_1, hw_compat_6_1_len);
mc->smp_prefer_sockets = true; mc->smp_props.prefer_sockets = true;
/* qemu ITS was introduced with 6.2 */ /* qemu ITS was introduced with 6.2 */
vmc->no_tcg_its = true; vmc->no_tcg_its = true;

View File

@ -817,7 +817,7 @@ static void smp_parse(MachineState *ms, SMPConfiguration *config, Error **errp)
} else { } else {
maxcpus = maxcpus > 0 ? maxcpus : cpus; maxcpus = maxcpus > 0 ? maxcpus : cpus;
if (mc->smp_prefer_sockets) { if (mc->smp_props.prefer_sockets) {
/* prefer sockets over cores before 6.2 */ /* prefer sockets over cores before 6.2 */
if (sockets == 0) { if (sockets == 0) {
cores = cores > 0 ? cores : 1; cores = cores > 0 ? cores : 1;

View File

@ -432,7 +432,7 @@ static void pc_i440fx_6_1_machine_options(MachineClass *m)
m->is_default = false; m->is_default = false;
compat_props_add(m->compat_props, hw_compat_6_1, hw_compat_6_1_len); compat_props_add(m->compat_props, hw_compat_6_1, hw_compat_6_1_len);
compat_props_add(m->compat_props, pc_compat_6_1, pc_compat_6_1_len); compat_props_add(m->compat_props, pc_compat_6_1, pc_compat_6_1_len);
m->smp_prefer_sockets = true; m->smp_props.prefer_sockets = true;
} }
DEFINE_I440FX_MACHINE(v6_1, "pc-i440fx-6.1", NULL, DEFINE_I440FX_MACHINE(v6_1, "pc-i440fx-6.1", NULL,

View File

@ -372,7 +372,7 @@ static void pc_q35_6_1_machine_options(MachineClass *m)
m->alias = NULL; m->alias = NULL;
compat_props_add(m->compat_props, hw_compat_6_1, hw_compat_6_1_len); compat_props_add(m->compat_props, hw_compat_6_1, hw_compat_6_1_len);
compat_props_add(m->compat_props, pc_compat_6_1, pc_compat_6_1_len); compat_props_add(m->compat_props, pc_compat_6_1, pc_compat_6_1_len);
m->smp_prefer_sockets = true; m->smp_props.prefer_sockets = true;
} }
DEFINE_Q35_MACHINE(v6_1, "pc-q35-6.1", NULL, DEFINE_Q35_MACHINE(v6_1, "pc-q35-6.1", NULL,

View File

@ -4685,7 +4685,7 @@ static void spapr_machine_6_1_class_options(MachineClass *mc)
spapr_machine_6_2_class_options(mc); spapr_machine_6_2_class_options(mc);
compat_props_add(mc->compat_props, hw_compat_6_1, hw_compat_6_1_len); compat_props_add(mc->compat_props, hw_compat_6_1, hw_compat_6_1_len);
smc->pre_6_2_numa_affinity = true; smc->pre_6_2_numa_affinity = true;
mc->smp_prefer_sockets = true; mc->smp_props.prefer_sockets = true;
} }
DEFINE_SPAPR_MACHINE(6_1, "6.1", false); DEFINE_SPAPR_MACHINE(6_1, "6.1", false);

View File

@ -814,7 +814,7 @@ static void ccw_machine_6_1_class_options(MachineClass *mc)
{ {
ccw_machine_6_2_class_options(mc); ccw_machine_6_2_class_options(mc);
compat_props_add(mc->compat_props, hw_compat_6_1, hw_compat_6_1_len); compat_props_add(mc->compat_props, hw_compat_6_1, hw_compat_6_1_len);
mc->smp_prefer_sockets = true; mc->smp_props.prefer_sockets = true;
} }
DEFINE_CCW_MACHINE(6_1, "6.1", false); DEFINE_CCW_MACHINE(6_1, "6.1", false);

View File

@ -110,9 +110,11 @@ typedef struct {
/** /**
* SMPCompatProps: * SMPCompatProps:
* @prefer_sockets - whether sockets are preferred over cores in smp parsing
* @dies_supported - whether dies are supported by the machine * @dies_supported - whether dies are supported by the machine
*/ */
typedef struct { typedef struct {
bool prefer_sockets;
bool dies_supported; bool dies_supported;
} SMPCompatProps; } SMPCompatProps;
@ -250,7 +252,6 @@ struct MachineClass {
bool nvdimm_supported; bool nvdimm_supported;
bool numa_mem_supported; bool numa_mem_supported;
bool auto_enable_numa; bool auto_enable_numa;
bool smp_prefer_sockets;
SMPCompatProps smp_props; SMPCompatProps smp_props;
const char *default_ram_id; const char *default_ram_id;