Prevent guests from booting with CPU topologies that have partially filled CPU cores or can result in partially filled CPU cores after CPU hotplug like
-smp 15,sockets=1,cores=4,threads=4,maxcpus=16 or -smp 15,sockets=1,cores=4,threads=4,maxcpus=17 or Signed-off-by: Bharata B Rao <bhar...@linux.vnet.ibm.com> --- vl.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/vl.c b/vl.c index 525929b..e656f53 100644 --- a/vl.c +++ b/vl.c @@ -1252,6 +1252,19 @@ static void smp_parse(QemuOpts *opts) smp_cores = cores > 0 ? cores : 1; smp_threads = threads > 0 ? threads : 1; + if (smp_cpus % smp_threads) { + error_report("cpu topology: " + "smp_cpus (%u) should be multiple of threads (%u)", + smp_cpus, smp_threads); + exit(1); + } + + if (max_cpus % smp_threads) { + error_report("cpu topology: " + "maxcpus (%u) should be multiple of threads (%u)", + max_cpus, smp_threads); + exit(1); + } } if (max_cpus == 0) { -- 2.1.0