aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel
diff options
context:
space:
mode:
authorGlauber Costa <gcosta@redhat.com>2008-06-05 02:05:39 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-08 06:48:25 -0400
commit7f6cbc905ee22c457e0dcd0bba9d4affbc290a6f (patch)
tree4ebc99247ffde83356ec06d05d297cdb61b7c0b8 /arch/x86/kernel
parent1481a3dd42c21ac4a8b9497cb9f5df816d6b064f (diff)
x86: take load_sp0 out of smpboot.c
there's no particular reason to do load_sp0 in different places for i386 and x86_64. They should all be in cpu_init. Right now, cpu_init itself is not integrated, but with this patch, the code becomes closer to each other, making in easier to integrate when the time comes. Furthermore, although doing it in do_boot_cpu for x86_64 is fine, since it's only a copy, load_sp0 should be executed in the cpu it refers to anyway. Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r--arch/x86/kernel/setup64.c1
-rw-r--r--arch/x86/kernel/smpboot.c1
2 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/setup64.c b/arch/x86/kernel/setup64.c
index 70ff07186772..151d3155ddf6 100644
--- a/arch/x86/kernel/setup64.c
+++ b/arch/x86/kernel/setup64.c
@@ -247,6 +247,7 @@ void __cpuinit cpu_init (void)
247 BUG(); 247 BUG();
248 enter_lazy_tlb(&init_mm, me); 248 enter_lazy_tlb(&init_mm, me);
249 249
250 load_sp0(t, &current->thread);
250 set_tss_desc(cpu, t); 251 set_tss_desc(cpu, t);
251 load_TR_desc(); 252 load_TR_desc();
252 load_LDT(&init_mm.context); 253 load_LDT(&init_mm.context);
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 67af727f733a..3b48d1f4c7c3 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -864,7 +864,6 @@ do_rest:
864 irq_ctx_init(cpu); 864 irq_ctx_init(cpu);
865#else 865#else
866 cpu_pda(cpu)->pcurrent = c_idle.idle; 866 cpu_pda(cpu)->pcurrent = c_idle.idle;
867 load_sp0(&per_cpu(init_tss, cpu), &c_idle.idle->thread);
868 clear_tsk_thread_flag(c_idle.idle, TIF_FORK); 867 clear_tsk_thread_flag(c_idle.idle, TIF_FORK);
869#endif 868#endif
870 early_gdt_descr.address = (unsigned long)get_cpu_gdt_table(cpu); 869 early_gdt_descr.address = (unsigned long)get_cpu_gdt_table(cpu);