diff options
author | Glauber de Oliveira Costa <gcosta@redhat.com> | 2008-03-19 13:26:12 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 11:41:04 -0400 |
commit | 2cd9fb71eedffb3a208a84daff705b9da5c915e8 (patch) | |
tree | c6f2a3fe7a44ca5f662ed4611148086a76258efd /arch | |
parent | 8aef135c73436fa46fdb4dc8aba49d5539dee72d (diff) |
x86: merge cpu_exit_clear
this is the last remaining function in smpboot_32.c
Since it is i386 specific, move it around an ifdef to
smpboot.c
Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 18 | ||||
-rw-r--r-- | arch/x86/kernel/smpboot_32.c | 19 |
2 files changed, 18 insertions, 19 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 45119d39f31e..6a7fb1300073 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -1207,6 +1207,24 @@ void __init native_smp_cpus_done(unsigned int max_cpus) | |||
1207 | } | 1207 | } |
1208 | 1208 | ||
1209 | #ifdef CONFIG_HOTPLUG_CPU | 1209 | #ifdef CONFIG_HOTPLUG_CPU |
1210 | |||
1211 | # ifdef CONFIG_X86_32 | ||
1212 | void cpu_exit_clear(void) | ||
1213 | { | ||
1214 | int cpu = raw_smp_processor_id(); | ||
1215 | |||
1216 | idle_task_exit(); | ||
1217 | |||
1218 | cpu_uninit(); | ||
1219 | irq_ctx_exit(cpu); | ||
1220 | |||
1221 | cpu_clear(cpu, cpu_callout_map); | ||
1222 | cpu_clear(cpu, cpu_callin_map); | ||
1223 | |||
1224 | unmap_cpu_to_logical_apicid(cpu); | ||
1225 | } | ||
1226 | # endif /* CONFIG_X86_32 */ | ||
1227 | |||
1210 | void remove_siblinginfo(int cpu) | 1228 | void remove_siblinginfo(int cpu) |
1211 | { | 1229 | { |
1212 | int sibling; | 1230 | int sibling; |
diff --git a/arch/x86/kernel/smpboot_32.c b/arch/x86/kernel/smpboot_32.c index 3a1b9e40cedb..5469207fa863 100644 --- a/arch/x86/kernel/smpboot_32.c +++ b/arch/x86/kernel/smpboot_32.c | |||
@@ -74,25 +74,6 @@ EXPORT_PER_CPU_SYMBOL(x86_bios_cpu_apicid); | |||
74 | 74 | ||
75 | u8 apicid_2_node[MAX_APICID]; | 75 | u8 apicid_2_node[MAX_APICID]; |
76 | 76 | ||
77 | extern void unmap_cpu_to_logical_apicid(int cpu); | ||
78 | |||
79 | #ifdef CONFIG_HOTPLUG_CPU | ||
80 | void cpu_exit_clear(void) | ||
81 | { | ||
82 | int cpu = raw_smp_processor_id(); | ||
83 | |||
84 | idle_task_exit(); | ||
85 | |||
86 | cpu_uninit(); | ||
87 | irq_ctx_exit(cpu); | ||
88 | |||
89 | cpu_clear(cpu, cpu_callout_map); | ||
90 | cpu_clear(cpu, cpu_callin_map); | ||
91 | |||
92 | unmap_cpu_to_logical_apicid(cpu); | ||
93 | } | ||
94 | #endif | ||
95 | |||
96 | /* Where the IO area was mapped on multiquad, always 0 otherwise */ | 77 | /* Where the IO area was mapped on multiquad, always 0 otherwise */ |
97 | void *xquad_portio; | 78 | void *xquad_portio; |
98 | #ifdef CONFIG_X86_NUMAQ | 79 | #ifdef CONFIG_X86_NUMAQ |