On Wed, Jul 13, 2016 at 10:07:07AM +0200, Greg Kurz wrote: > Considering that features are converted to global properties and > global properties are automatically applied to every new instance > of created CPU (at object_new() time), there is no point in > parsing cpu_model string every time a CPU created. So move > parsing outside CPU creation loop and do it only once. > > Parsing also should be done before any CPU is created so that > features would affect the first CPU a well. > > This patch does that for all PowerPC machine types. > > It is based on previous work from Bharata: > > https://lists.nongnu.org/archive/html/qemu-devel/2016-06/msg07564.html > > Signed-off-by: Greg Kurz <gr...@kaod.org>
Most of the cases below already call cpu_ppc_init(), which calls cpu_generic_init(), which calls cc->parse_features(). This means this patch is not fixing any bug on those cases, but is just as an improvement towards removing parse_features() from cpu_generic_init(). spapr, on the other hand, really needs a bug fix to make it call cc->parse_features() in the path where core objects are created. So, I suggest we split this patch so we can include the spapr bug fix in 2.7, and change the other machines (that use cpu_ppc_init()/cpu_generic_init()) after 2.7. -- Eduardo