|
@@ -1223,7 +1223,13 @@ static void smp_parse(QemuOpts *opts)
|
|
exit(1);
|
|
exit(1);
|
|
}
|
|
}
|
|
|
|
|
|
- max_cpus = qemu_opt_get_number(opts, "maxcpus", 0);
|
|
|
|
|
|
+ max_cpus = qemu_opt_get_number(opts, "maxcpus", cpus);
|
|
|
|
+ if (sockets * cores * threads > max_cpus) {
|
|
|
|
+ fprintf(stderr, "cpu topology: error: "
|
|
|
|
+ "sockets (%u) * cores (%u) * threads (%u) > maxcpus (%u)\n",
|
|
|
|
+ sockets, cores, threads, max_cpus);
|
|
|
|
+ exit(1);
|
|
|
|
+ }
|
|
|
|
|
|
smp_cpus = cpus;
|
|
smp_cpus = cpus;
|
|
smp_cores = cores > 0 ? cores : 1;
|
|
smp_cores = cores > 0 ? cores : 1;
|