[SPARC64]: Keep cpu_present_map in sync with phys_cpu_present_map.
authorDavid S. Miller <davem@davemloft.net>
Sat, 25 Mar 2006 21:00:17 +0000 (13:00 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 25 Mar 2006 21:00:17 +0000 (13:00 -0800)
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>
arch/sparc64/kernel/smp.c

index 1b6e2ade1008ba26fc4cc89eec94d982e5c36f5b..7dc28a48426861dcd8b3925a687e7e73bbfbf024 100644 (file)
@@ -1298,6 +1298,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
                while (!cpu_find_by_instance(instance, NULL, &mid)) {
                        if (mid != boot_cpu_id) {
                                cpu_clear(mid, phys_cpu_present_map);
+                               cpu_clear(mid, cpu_present_map);
                                if (num_possible_cpus() <= max_cpus)
                                        break;
                        }
@@ -1332,8 +1333,10 @@ void __init smp_setup_cpu_possible_map(void)
 
        instance = 0;
        while (!cpu_find_by_instance(instance, NULL, &mid)) {
-               if (mid < NR_CPUS)
+               if (mid < NR_CPUS) {
                        cpu_set(mid, phys_cpu_present_map);
+                       cpu_set(mid, cpu_present_map);
+               }
                instance++;
        }
 }