aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2006-03-25 16:00:17 -0500
committerDavid S. Miller <davem@davemloft.net>2006-03-25 16:00:17 -0500
commit7d3aee9a9686ffc235c343dcab85c3ebea78908a (patch)
tree9de437eff5f62e0ead36d443ad97ab231b8f0e76 /arch/sparc64
parent3cbb90a9cb7854b1110663919d5bc3da3f46d5e3 (diff)
[SPARC64]: Keep cpu_present_map in sync with phys_cpu_present_map.
Don't rely on fixup_cpu_present_map() to do this as that function is about to be removed. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64')
-rw-r--r--arch/sparc64/kernel/smp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c
index 1b6e2ade1008..7dc28a484268 100644
--- a/arch/sparc64/kernel/smp.c
+++ b/arch/sparc64/kernel/smp.c
@@ -1298,6 +1298,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
1298 while (!cpu_find_by_instance(instance, NULL, &mid)) { 1298 while (!cpu_find_by_instance(instance, NULL, &mid)) {
1299 if (mid != boot_cpu_id) { 1299 if (mid != boot_cpu_id) {
1300 cpu_clear(mid, phys_cpu_present_map); 1300 cpu_clear(mid, phys_cpu_present_map);
1301 cpu_clear(mid, cpu_present_map);
1301 if (num_possible_cpus() <= max_cpus) 1302 if (num_possible_cpus() <= max_cpus)
1302 break; 1303 break;
1303 } 1304 }
@@ -1332,8 +1333,10 @@ void __init smp_setup_cpu_possible_map(void)
1332 1333
1333 instance = 0; 1334 instance = 0;
1334 while (!cpu_find_by_instance(instance, NULL, &mid)) { 1335 while (!cpu_find_by_instance(instance, NULL, &mid)) {
1335 if (mid < NR_CPUS) 1336 if (mid < NR_CPUS) {
1336 cpu_set(mid, phys_cpu_present_map); 1337 cpu_set(mid, phys_cpu_present_map);
1338 cpu_set(mid, cpu_present_map);
1339 }
1337 instance++; 1340 instance++;
1338 } 1341 }
1339} 1342}