aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu/common.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/cpu/common.c')
-rw-r--r--arch/x86/kernel/cpu/common.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index b50e38d16888..06b6290088f4 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -889,6 +889,10 @@ DEFINE_PER_CPU(char *, irq_stack_ptr) =
889 per_cpu_var(irq_stack) + IRQ_STACK_SIZE - 64; 889 per_cpu_var(irq_stack) + IRQ_STACK_SIZE - 64;
890#endif 890#endif
891 891
892DEFINE_PER_CPU(unsigned long, kernel_stack) =
893 (unsigned long)&init_thread_union - KERNEL_STACK_OFFSET + THREAD_SIZE;
894EXPORT_PER_CPU_SYMBOL(kernel_stack);
895
892void __cpuinit pda_init(int cpu) 896void __cpuinit pda_init(int cpu)
893{ 897{
894 struct x8664_pda *pda = cpu_pda(cpu); 898 struct x8664_pda *pda = cpu_pda(cpu);
@@ -900,8 +904,6 @@ void __cpuinit pda_init(int cpu)
900 load_pda_offset(cpu); 904 load_pda_offset(cpu);
901 905
902 pda->irqcount = -1; 906 pda->irqcount = -1;
903 pda->kernelstack = (unsigned long)stack_thread_info() -
904 PDA_STACKOFFSET + THREAD_SIZE;
905 907
906 if (cpu != 0) { 908 if (cpu != 0) {
907 if (pda->nodenumber == 0 && cpu_to_node(cpu) != NUMA_NO_NODE) 909 if (pda->nodenumber == 0 && cpu_to_node(cpu) != NUMA_NO_NODE)