x86/smpboot: Split up native_cpu_up into separate phases
There are four logical parts to what native_cpu_up() does.
First it actually wakes AP.
Second, it waits for the AP to make it as far as wait_for_master_cpu()
which sets that CPU's bit in cpu_initialized_mask, and sets the bit in
cpu_callout_mask to let the AP proceed through cpu_init().
Then, it waits for the AP to finish cpu_init() and get as far as the
smp_callin() call, which sets that CPU's bit in cpu_callin_mask.
Finally, it does the TSC synchronization and waits for the AP to actually
mark itself online in cpu_online_mask.
This commit should have no behavioural change, but merely splits those
phases out into separate functions so that future commits and make them
happen in parallel for all APs.
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>