aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu/common_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/cpu/common_64.c')
-rw-r--r--arch/x86/kernel/cpu/common_64.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/common_64.c b/arch/x86/kernel/cpu/common_64.c
index 40c9d89cc14a..9f2a6ece82dd 100644
--- a/arch/x86/kernel/cpu/common_64.c
+++ b/arch/x86/kernel/cpu/common_64.c
@@ -704,6 +704,7 @@ __setup("clearcpuid=", setup_disablecpuid);
704 704
705cpumask_t cpu_initialized __cpuinitdata = CPU_MASK_NONE; 705cpumask_t cpu_initialized __cpuinitdata = CPU_MASK_NONE;
706 706
707#ifdef CONFIG_X86_64
707struct x8664_pda **_cpu_pda __read_mostly; 708struct x8664_pda **_cpu_pda __read_mostly;
708EXPORT_SYMBOL(_cpu_pda); 709EXPORT_SYMBOL(_cpu_pda);
709 710
@@ -838,6 +839,17 @@ unsigned long kernel_eflags;
838 */ 839 */
839DEFINE_PER_CPU(struct orig_ist, orig_ist); 840DEFINE_PER_CPU(struct orig_ist, orig_ist);
840 841
842#else
843
844/* Make sure %fs is initialized properly in idle threads */
845struct pt_regs * __cpuinit idle_regs(struct pt_regs *regs)
846{
847 memset(regs, 0, sizeof(struct pt_regs));
848 regs->fs = __KERNEL_PERCPU;
849 return regs;
850}
851#endif
852
841/* 853/*
842 * cpu_init() initializes state that is per-CPU. Some data is already 854 * cpu_init() initializes state that is per-CPU. Some data is already
843 * initialized (naturally) in the bootstrap process, such as the GDT 855 * initialized (naturally) in the bootstrap process, such as the GDT