On Thu, Jan 28, 2016 at 11:19:43AM +0530, Bharata B Rao wrote: > 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. > > This is enforced by introducing MachineClass::validate_smp_config() > that gets called from generic SMP parsing code. Machine type versions > that want to enforce this can define this to the generic version > provided. > > Only sPAPR and PC machine types starting from version 2.6 enforce this in > this patch. > > Signed-off-by: Bharata B Rao <bhar...@linux.vnet.ibm.com> > --- [...] > diff --git a/vl.c b/vl.c > index f043009..9e4da46 100644 > --- a/vl.c > +++ b/vl.c > @@ -4126,6 +4126,11 @@ int main(int argc, char **argv, char **envp) > > smp_parse(qemu_opts_find(qemu_find_opts("smp-opts"), NULL)); > > + if (machine_class->validate_smp_config) { > + machine_class->validate_smp_config(smp_cpus, max_cpus, smp_threads, > + &error_abort);
Invalid SMP config should make QEMU just exit with an error, not abort(). Please use &error_fatal instead. The rest looks good. -- Eduardo