[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC 42/52] hw/machine: Add hybrid_supported in generic topo properties
From: |
Zhao Liu |
Subject: |
[RFC 42/52] hw/machine: Add hybrid_supported in generic topo properties |
Date: |
Mon, 13 Feb 2023 17:50:25 +0800 |
From: Zhao Liu <zhao1.liu@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.liu@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
- [RFC 38/52] i386: Introduce hybrid_core_type to CPUX86State, (continued)
- [RFC 42/52] hw/machine: Add hybrid_supported in generic topo properties,
Zhao Liu <=
[RFC 40/52] qapi: Introduce hybrid options, Zhao Liu, 2023/02/13
[RFC 39/52] i386/cpu: Add Intel hybrid related CPUID support, Zhao Liu, 2023/02/13
[RFC 43/52] hw/machine: Rename MachineClass.smp_props to MachineClass.topo_props, Zhao Liu, 2023/02/13
[RFC 44/52] machine: Add "-hybrid" parsing rule, Zhao Liu, 2023/02/13
[RFC 45/52] hw/machine: Add hybrid cpu topology validation, Zhao Liu, 2023/02/13
[RFC 47/52] hw/machine: Use opts_visitor to parse hybrid topo, Zhao Liu, 2023/02/13