diff options
author | David S. Miller <davem@davemloft.net> | 2006-03-25 16:00:17 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-03-25 16:00:17 -0500 |
commit | 7d3aee9a9686ffc235c343dcab85c3ebea78908a (patch) | |
tree | 9de437eff5f62e0ead36d443ad97ab231b8f0e76 /arch/sparc64 | |
parent | 3cbb90a9cb7854b1110663919d5bc3da3f46d5e3 (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.c | 5 |
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 | } |