From: Zhao Liu <zhao1....@intel.com> Since hybrid cpu topology configuration can benefit not only x86, but also other architectures/platforms that have supported (in real machines) or will support hybrid CPU topology, "-hybrid" can be generic.
So add the generic topology property to configure if support hybrid cpu topology for architectures/platforms in SmpCompatProps. Also rename SmpCompatProps to TopoCompatProps to make this structure more generic for both smp topology and hybrid topology. Signed-off-by: Zhao Liu <zhao1....@intel.com> --- include/hw/boards.h | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/include/hw/boards.h b/include/hw/boards.h index 34ec035b5c9f..17be3485e823 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -127,19 +127,26 @@ typedef struct { } CPUArchIdList; /** - * SMPCompatProps: - * @prefer_sockets - whether sockets are preferred over cores in smp parsing + * TopoCompatProps: + * @hybrid_support - whether hybrid cpu topology are supported by machine. + * Note that hybrid cpu topology requires to specify the + * topology of each core so that there will no longer be + * a default core topology, thus prefer_sockets won't work + * when hybrid_support is enabled. + * @prefer_sockets - whether sockets are preferred over cores in smp parsing. + * Not work when hybrid_support is enabled. * @dies_supported - whether dies are supported by the machine * @clusters_supported - whether clusters are supported by the machine * @has_clusters - whether clusters are explicitly specified in the user * provided SMP configuration */ typedef struct { + bool hybrid_supported; bool prefer_sockets; bool dies_supported; bool clusters_supported; bool has_clusters; -} SMPCompatProps; +} TopoCompatProps; /** * MachineClass: @@ -281,7 +288,7 @@ struct MachineClass { bool nvdimm_supported; bool numa_mem_supported; bool auto_enable_numa; - SMPCompatProps smp_props; + TopoCompatProps smp_props; const char *default_ram_id; HotplugHandler *(*get_hotplug_handler)(MachineState *machine, -- 2.34.1