summary refs log tree commit diff stats
path: root/hw/core
diff options
context:
space:
mode:
authorZhao Liu <zhao1.liu@intel.com>2023-06-28 21:54:34 +0800
committerMichael S. Tsirkin <mst@redhat.com>2023-07-10 16:17:08 -0400
commita1d027be95bc375238e5b9292c6aa661a8ddef4c (patch)
tree4972609e8f19a2e230c1532c702fc56811930df6 /hw/core
parentb6f53ae005a1c05034769beebf799e861b82d48a (diff)
downloadfocaccia-qemu-a1d027be95bc375238e5b9292c6aa661a8ddef4c.tar.gz
focaccia-qemu-a1d027be95bc375238e5b9292c6aa661a8ddef4c.zip
machine: Add helpers to get cores/threads per socket
The number of cores/threads per socket are needed for smbios, and are
also useful for other modules.

Provide the helpers to wrap the calculation of cores/threads per socket
so that we can avoid calculation errors caused by other modules miss
topology changes.

Suggested-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Message-Id: <20230628135437.1145805-2-zhao1.liu@linux.intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/core')
-rw-r--r--hw/core/machine-smp.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/core/machine-smp.c b/hw/core/machine-smp.c
index 89fe0cda42..0f4d9b6f7a 100644
--- a/hw/core/machine-smp.c
+++ b/hw/core/machine-smp.c
@@ -197,3 +197,13 @@ void machine_parse_smp_config(MachineState *ms,
         return;
     }
 }
+
+unsigned int machine_topo_get_cores_per_socket(const MachineState *ms)
+{
+    return ms->smp.cores * ms->smp.clusters * ms->smp.dies;
+}
+
+unsigned int machine_topo_get_threads_per_socket(const MachineState *ms)
+{
+    return ms->smp.threads * machine_topo_get_cores_per_socket(ms);
+}