diff options
author | Li Shaohua <shaohua.li@intel.com> | 2005-06-25 17:54:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-25 19:24:30 -0400 |
commit | e1367daf3eed5cd619ee88c9907e1e6ddaa58406 (patch) | |
tree | dce60efefba356e0a914669587586a6174e41b94 /include/asm-i386 | |
parent | 0bb3184df537002a742bafddf3f4fb482b7fe610 (diff) |
[PATCH] cpu state clean after hot remove
Clean CPU states in order to reuse smp boot code for CPU hotplug.
Signed-off-by: Li Shaohua<shaohua.li@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-i386')
-rw-r--r-- | include/asm-i386/irq.h | 2 | ||||
-rw-r--r-- | include/asm-i386/smp.h | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/asm-i386/irq.h b/include/asm-i386/irq.h index e2d8bf23ad70..270f1986b19f 100644 --- a/include/asm-i386/irq.h +++ b/include/asm-i386/irq.h | |||
@@ -29,9 +29,11 @@ extern void release_vm86_irqs(struct task_struct *); | |||
29 | 29 | ||
30 | #ifdef CONFIG_4KSTACKS | 30 | #ifdef CONFIG_4KSTACKS |
31 | extern void irq_ctx_init(int cpu); | 31 | extern void irq_ctx_init(int cpu); |
32 | extern void irq_ctx_exit(int cpu); | ||
32 | # define __ARCH_HAS_DO_SOFTIRQ | 33 | # define __ARCH_HAS_DO_SOFTIRQ |
33 | #else | 34 | #else |
34 | # define irq_ctx_init(cpu) do { } while (0) | 35 | # define irq_ctx_init(cpu) do { } while (0) |
36 | # define irq_ctx_exit(cpu) do { } while (0) | ||
35 | #endif | 37 | #endif |
36 | 38 | ||
37 | #ifdef CONFIG_IRQBALANCE | 39 | #ifdef CONFIG_IRQBALANCE |
diff --git a/include/asm-i386/smp.h b/include/asm-i386/smp.h index 2451ead0ca5c..c9996eda5408 100644 --- a/include/asm-i386/smp.h +++ b/include/asm-i386/smp.h | |||
@@ -48,6 +48,14 @@ extern void unlock_ipi_call_lock(void); | |||
48 | #define MAX_APICID 256 | 48 | #define MAX_APICID 256 |
49 | extern u8 x86_cpu_to_apicid[]; | 49 | extern u8 x86_cpu_to_apicid[]; |
50 | 50 | ||
51 | #ifdef CONFIG_HOTPLUG_CPU | ||
52 | extern void cpu_exit_clear(void); | ||
53 | extern void cpu_uninit(void); | ||
54 | |||
55 | #define __HAVE_ARCH_SMP_PREPARE_CPU | ||
56 | extern int smp_prepare_cpu(int cpu); | ||
57 | #endif | ||
58 | |||
51 | /* | 59 | /* |
52 | * This function is needed by all SMP systems. It must _always_ be valid | 60 | * This function is needed by all SMP systems. It must _always_ be valid |
53 | * from the initial startup. We map APIC_BASE very early in page_setup(), | 61 | * from the initial startup. We map APIC_BASE very early in page_setup(), |