Signed-off-by: Andrew Morton --- arch/i386/kernel/sysenter.c | 10 ++++++++++ arch/i386/power/cpu.c | 2 ++ include/asm-i386/processor.h | 1 + include/asm-i386/smp.h | 1 - 4 files changed, 13 insertions(+), 1 deletion(-) diff -puN arch/i386/kernel/sysenter.c~sep-initializing-rework-fix arch/i386/kernel/sysenter.c --- 25/arch/i386/kernel/sysenter.c~sep-initializing-rework-fix 2005-04-30 12:20:20.370077048 -0700 +++ 25-akpm/arch/i386/kernel/sysenter.c 2005-04-30 12:20:20.375076288 -0700 @@ -65,3 +65,13 @@ int __init sysenter_setup(void) return 0; } + +#ifndef CONFIG_SMP +static int __init sysenter_sep_setup(void) +{ + sysenter_setup(); + enable_sep_cpu(); + return 0; +} +module_init(sysenter_sep_setup); +#endif diff -puN arch/i386/power/cpu.c~sep-initializing-rework-fix arch/i386/power/cpu.c --- 25/arch/i386/power/cpu.c~sep-initializing-rework-fix 2005-04-30 12:20:20.371076896 -0700 +++ 25-akpm/arch/i386/power/cpu.c 2005-04-30 12:20:35.890717552 -0700 @@ -22,9 +22,11 @@ #include #include #include + #include #include #include +#include static struct saved_context saved_context; diff -puN include/asm-i386/processor.h~sep-initializing-rework-fix include/asm-i386/processor.h --- 25/include/asm-i386/processor.h~sep-initializing-rework-fix 2005-04-30 12:20:41.633844464 -0700 +++ 25-akpm/include/asm-i386/processor.h 2005-04-30 12:21:04.316396192 -0700 @@ -691,5 +691,6 @@ extern void select_idle_routine(const st #define cache_line_size() (boot_cpu_data.x86_cache_alignment) extern unsigned long boot_option_idle_override; +extern void enable_sep_cpu(void); #endif /* __ASM_I386_PROCESSOR_H */ diff -puN include/asm-i386/smp.h~sep-initializing-rework-fix include/asm-i386/smp.h --- 25/include/asm-i386/smp.h~sep-initializing-rework-fix 2005-04-30 12:20:45.463262304 -0700 +++ 25-akpm/include/asm-i386/smp.h 2005-04-30 12:20:53.140095248 -0700 @@ -38,7 +38,6 @@ extern cpumask_t cpu_sibling_map[]; extern cpumask_t cpu_core_map[]; extern int sysenter_setup(void); -extern void enable_sep_cpu(void); extern void smp_flush_tlb(void); extern void smp_message_irq(int cpl, void *dev_id, struct pt_regs *regs); _