@@ -124,6 +124,7 @@ int main(int argc, char **argv)
#include "crypto/init.h"
#include "sysemu/replay.h"
#include "qapi/qmp/qerror.h"
+#include "hw/cpu/socket.h"
#define MAX_VIRTIO_CONSOLES 1
#define MAX_SCLP_CONSOLES 1
@@ -3014,6 +3015,7 @@ int main(int argc, char **argv, char **envp)
FILE *vmstate_dump_file = NULL;
Error *main_loop_err = NULL;
Error *err = NULL;
+ int sockets;
qemu_init_cpu_loop();
qemu_mutex_lock_iothread();
@@ -4154,6 +4156,17 @@ int main(int argc, char **argv, char **envp)
}
/*
+ * Create CPU socket objects which house CPU cores.
+ */
+ sockets = DIV_ROUND_UP(max_cpus, smp_cores * smp_threads);
+ for (i = 0; i < sockets; i++) {
+ char id[32];
+
+ snprintf(id, 32, "" TYPE_CPU_SOCKET "%d", i);
+ object_add(TYPE_CPU_SOCKET, id, NULL, NULL, &error_abort);
+ }
+
+ /*
* Get the default machine options from the machine if it is not already
* specified either by the configuration file or by the command line.
*/
Create as many CPU socket objects as necessary to contain the max_cpus. Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com> --- vl.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)