x86: load new GDT after setting up boot cpu per-cpu area

Impact: sync 32 and 64-bit code

Merge load_gs_base() into switch_to_new_gdt().  Load the GDT and
per-cpu state for the boot cpu when its new area is set up.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
Brian Gerst
2009-01-27 12:56:48 +09:00
committed by Tejun Heo
parent 1825b8edc2
commit 2697fbd5fa
3 changed files with 12 additions and 14 deletions

View File

@@ -112,14 +112,14 @@ void __init setup_per_cpu_areas(void)
#ifdef CONFIG_NUMA
per_cpu(x86_cpu_to_node_map, cpu) =
early_per_cpu_map(x86_cpu_to_node_map, cpu);
#endif
#endif
/*
* Up to this point, the boot CPU has been using .data.init
* area. Reload %gs offset for the boot CPU.
* area. Reload any changed state for the boot CPU.
*/
if (cpu == boot_cpu_id)
load_gs_base(cpu);
#endif
switch_to_new_gdt();
DBG("PERCPU: cpu %4d %p\n", cpu, ptr);
}