x86/smpboot: Split up native_cpu_up into separate phases and document them
There are four logical parts to what native_cpu_up() does on the BSP (or
on the controlling CPU for a later hotplug).
First it actually wakes the AP by sending the INIT/SIPI/SIPI sequence.
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, then 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 can make them
happen in parallel for all APs. And adds some comments around them on
both the BSP and AP code paths.
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>