diff options
author | Glauber de Oliveira Costa <gcosta@redhat.com> | 2008-03-19 13:26:04 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 11:41:04 -0400 |
commit | e7bc8fbad4c582639334285dd1d9571578c58674 (patch) | |
tree | 449467863802af58f23b66855b433b8df0abe08e /arch/x86 | |
parent | bd7b47ba5e4ced4e20bed2394c9580637d44550a (diff) |
x86: get rid of smp_boot_cpus
This patch get rid of smp_boot_cpus(), since it does not
boot any cpu anymore. Its code is split in a way to make
it closer to x86_64
Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/smpboot_32.c | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/arch/x86/kernel/smpboot_32.c b/arch/x86/kernel/smpboot_32.c index 14db038b6b48..d153d8423740 100644 --- a/arch/x86/kernel/smpboot_32.c +++ b/arch/x86/kernel/smpboot_32.c | |||
@@ -172,21 +172,19 @@ static int __init smp_sanity_check(unsigned max_cpus) | |||
172 | return 0; | 172 | return 0; |
173 | } | 173 | } |
174 | 174 | ||
175 | /* | 175 | /* These are wrappers to interface to the new boot process. Someone |
176 | * Cycle through the processors sending APIC IPIs to boot each. | 176 | who understands all this stuff should rewrite it properly. --RR 15/Jul/02 */ |
177 | */ | 177 | void __init native_smp_prepare_cpus(unsigned int max_cpus) |
178 | static void __init smp_boot_cpus(unsigned int max_cpus) | ||
179 | { | 178 | { |
179 | nmi_watchdog_default(); | ||
180 | cpu_callin_map = cpumask_of_cpu(0); | ||
181 | mb(); | ||
182 | |||
180 | /* | 183 | /* |
181 | * Setup boot CPU information | 184 | * Setup boot CPU information |
182 | */ | 185 | */ |
183 | smp_store_cpu_info(0); /* Final full version of the data */ | 186 | smp_store_cpu_info(0); /* Final full version of the data */ |
184 | printk(KERN_INFO "CPU%d: ", 0); | ||
185 | print_cpu_info(&cpu_data(0)); | ||
186 | |||
187 | boot_cpu_physical_apicid = GET_APIC_ID(apic_read(APIC_ID)); | ||
188 | boot_cpu_logical_apicid = logical_smp_processor_id(); | 187 | boot_cpu_logical_apicid = logical_smp_processor_id(); |
189 | |||
190 | current_thread_info()->cpu = 0; | 188 | current_thread_info()->cpu = 0; |
191 | 189 | ||
192 | set_cpu_sibling_map(0); | 190 | set_cpu_sibling_map(0); |
@@ -197,25 +195,19 @@ static void __init smp_boot_cpus(unsigned int max_cpus) | |||
197 | return; | 195 | return; |
198 | } | 196 | } |
199 | 197 | ||
198 | boot_cpu_physical_apicid = GET_APIC_ID(apic_read(APIC_ID)); | ||
199 | |||
200 | connect_bsp_APIC(); | 200 | connect_bsp_APIC(); |
201 | setup_local_APIC(); | 201 | setup_local_APIC(); |
202 | end_local_APIC_setup(); | 202 | end_local_APIC_setup(); |
203 | map_cpu_to_logical_apicid(); | 203 | map_cpu_to_logical_apicid(); |
204 | 204 | ||
205 | |||
206 | setup_portio_remap(); | 205 | setup_portio_remap(); |
207 | 206 | ||
208 | smpboot_setup_io_apic(); | 207 | smpboot_setup_io_apic(); |
209 | 208 | ||
209 | printk(KERN_INFO "CPU%d: ", 0); | ||
210 | print_cpu_info(&cpu_data(0)); | ||
210 | setup_boot_clock(); | 211 | setup_boot_clock(); |
211 | } | 212 | } |
212 | 213 | ||
213 | /* These are wrappers to interface to the new boot process. Someone | ||
214 | who understands all this stuff should rewrite it properly. --RR 15/Jul/02 */ | ||
215 | void __init native_smp_prepare_cpus(unsigned int max_cpus) | ||
216 | { | ||
217 | nmi_watchdog_default(); | ||
218 | cpu_callin_map = cpumask_of_cpu(0); | ||
219 | mb(); | ||
220 | smp_boot_cpus(max_cpus); | ||
221 | } | ||