|
@@ -1230,11 +1230,14 @@ static void smp_parse(QemuOpts *opts)
|
|
|
|
|
|
/* compute missing values, prefer sockets over cores over threads */
|
|
|
if (cpus == 0 || sockets == 0) {
|
|
|
- sockets = sockets > 0 ? sockets : 1;
|
|
|
cores = cores > 0 ? cores : 1;
|
|
|
threads = threads > 0 ? threads : 1;
|
|
|
if (cpus == 0) {
|
|
|
+ sockets = sockets > 0 ? sockets : 1;
|
|
|
cpus = cores * threads * sockets;
|
|
|
+ } else {
|
|
|
+ max_cpus = qemu_opt_get_number(opts, "maxcpus", cpus);
|
|
|
+ sockets = max_cpus / (cores * threads);
|
|
|
}
|
|
|
} else if (cores == 0) {
|
|
|
threads = threads > 0 ? threads : 1;
|