Am 13.09.2012 04:57, schrieb David Gibson: > The current pseries machine init function iterates over the CPUs at several > points, doing various bits of initialization. This is messy; these can > and should be merged into a single iteration doing all the necessary per > cpu initialization. Worse, some of these initializations were setting up > state which should be set on every reset, not just at machine init time. > A few of the initializations simply weren't necessary at all. > > This patch, therefore, moves those things that need to be to the > per-cpu reset handler, and combines the remainder into two loops over > the cpus (which also creates them). The second loop is for setting up > hash table information, and will be removed in a subsequent patch also > making other fixes to the hash table setup. > > This exposes a bug in our start-cpu RTAS routine (called by the guest to > start up CPUs other than CPU0) under kvm. Previously, this function did > not make a call to ensure that it's changes to the new cpu's state were > pushed into KVM in-kernel state. We sort-of got away with this because > some of the initializations had already placed the secondary CPUs into the > right starting state for the sorts of Linux guests we've been running. > > Nonetheless the start-cpu RTAS call's behaviour was not correct and could > easily have been broken by guest changes. This patch also fixes it. > > Signed-off-by: David Gibson <da...@gibson.dropbear.id.au>
Thanks for changing the comment, Reviewed-by: Andreas Färber <afaer...@suse.de> Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg