Commit e2c03888 authored by Andi Kleen's avatar Andi Kleen Committed by Linus Torvalds

[PATCH] x86_64: Fix the additional_cpus=.. option

It didn't set up the CPU possible map early enough, so the
option didn't actually work.

Noticed by Heiko Carstens
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 2eb1bdba
...@@ -423,6 +423,12 @@ static __init void parse_cmdline_early (char ** cmdline_p) ...@@ -423,6 +423,12 @@ static __init void parse_cmdline_early (char ** cmdline_p)
else if(!memcmp(from, "elfcorehdr=", 11)) else if(!memcmp(from, "elfcorehdr=", 11))
elfcorehdr_addr = memparse(from+11, &from); elfcorehdr_addr = memparse(from+11, &from);
#endif #endif
#ifdef CONFIG_SMP
else if (!memcmp(from, "additional_cpus=", 16))
setup_additional_cpus(from+16);
#endif
next_char: next_char:
c = *(from++); c = *(from++);
if (!c) if (!c)
......
...@@ -1244,7 +1244,7 @@ void __cpu_die(unsigned int cpu) ...@@ -1244,7 +1244,7 @@ void __cpu_die(unsigned int cpu)
printk(KERN_ERR "CPU %u didn't die...\n", cpu); printk(KERN_ERR "CPU %u didn't die...\n", cpu);
} }
static __init int setup_additional_cpus(char *s) __init int setup_additional_cpus(char *s)
{ {
return get_option(&s, &additional_cpus); return get_option(&s, &additional_cpus);
} }
......
...@@ -134,6 +134,7 @@ extern int force_iommu; ...@@ -134,6 +134,7 @@ extern int force_iommu;
extern int reboot_force; extern int reboot_force;
extern int notsc_setup(char *); extern int notsc_setup(char *);
extern int setup_additional_cpus(char *);
extern void smp_local_timer_interrupt(struct pt_regs * regs); extern void smp_local_timer_interrupt(struct pt_regs * regs);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment