aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-i386
diff options
context:
space:
mode:
authorLi Shaohua <shaohua.li@intel.com>2005-06-25 17:54:56 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-25 19:24:30 -0400
commite1367daf3eed5cd619ee88c9907e1e6ddaa58406 (patch)
treedce60efefba356e0a914669587586a6174e41b94 /include/asm-i386
parent0bb3184df537002a742bafddf3f4fb482b7fe610 (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.h2
-rw-r--r--include/asm-i386/smp.h8
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
49extern u8 x86_cpu_to_apicid[]; 49extern u8 x86_cpu_to_apicid[];
50 50
51#ifdef CONFIG_HOTPLUG_CPU
52extern void cpu_exit_clear(void);
53extern void cpu_uninit(void);
54
55#define __HAVE_ARCH_SMP_PREPARE_CPU
56extern 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(),