diff options
Diffstat (limited to 'arch/x86/kernel/cpu/common_64.c')
-rw-r--r-- | arch/x86/kernel/cpu/common_64.c | 12 |
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 | ||
705 | cpumask_t cpu_initialized __cpuinitdata = CPU_MASK_NONE; | 705 | cpumask_t cpu_initialized __cpuinitdata = CPU_MASK_NONE; |
706 | 706 | ||
707 | #ifdef CONFIG_X86_64 | ||
707 | struct x8664_pda **_cpu_pda __read_mostly; | 708 | struct x8664_pda **_cpu_pda __read_mostly; |
708 | EXPORT_SYMBOL(_cpu_pda); | 709 | EXPORT_SYMBOL(_cpu_pda); |
709 | 710 | ||
@@ -838,6 +839,17 @@ unsigned long kernel_eflags; | |||
838 | */ | 839 | */ |
839 | DEFINE_PER_CPU(struct orig_ist, orig_ist); | 840 | DEFINE_PER_CPU(struct orig_ist, orig_ist); |
840 | 841 | ||
842 | #else | ||
843 | |||
844 | /* Make sure %fs is initialized properly in idle threads */ | ||
845 | struct 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 |