X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=init%2Fmain.c;fp=init%2Fmain.c;h=a92989e7836af6acb73bb6ce8b95ad76ee727f53;hb=53b8a315b76a3f3c70a5644976c0095460eb13d8;hp=1c5f6dce1bd2d062ab780a99b8417d9ceb7813b0;hpb=74c7aa8b8581e0ba8d6d17c623b9279aaabbb0cf;p=powerpc.git diff --git a/init/main.c b/init/main.c index 1c5f6dce1b..a92989e783 100644 --- a/init/main.c +++ b/init/main.c @@ -387,14 +387,19 @@ static void __init setup_per_cpu_areas(void) /* Called by boot processor to activate the rest. */ static void __init smp_init(void) { - unsigned int i; + unsigned int cpu; + unsigned highest = 0; + + for_each_cpu_mask(cpu, cpu_possible_map) + highest = cpu; + nr_cpu_ids = highest + 1; /* FIXME: This should be done in userspace --RR */ - for_each_present_cpu(i) { + for_each_present_cpu(cpu) { if (num_online_cpus() >= max_cpus) break; - if (!cpu_online(i)) - cpu_up(i); + if (!cpu_online(cpu)) + cpu_up(cpu); } /* Any cleanup work */