Thanks, guys. I seem to have it limping along on UP now, partly with the
below.
Li, it's a bit awkward to be calling things by hand on SMP and with an
initcall on UP. Maybe something neater can be done there.
I quickly tested suspend/resume on UP. Appears to work.
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 <linux/device.h>
#include <linux/suspend.h>
#include <linux/acpi.h>
+
#include <asm/uaccess.h>
#include <asm/acpi.h>
#include <asm/tlbflush.h>
+#include <asm/processor.h>
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);
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]