linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / parisc / kernel / smp.c
index 98e4095..25564b7 100644 (file)
@@ -18,6 +18,7 @@
 */
 #undef ENTRY_SYS_CPUS  /* syscall support for iCOD-like functionality */
 
+#include <linux/config.h>
 
 #include <linux/types.h>
 #include <linux/spinlock.h>
@@ -297,8 +298,8 @@ send_IPI_allbutself(enum ipi_message_type op)
 {
        int i;
        
-       for_each_online_cpu(i) {
-               if (i != smp_processor_id())
+       for (i = 0; i < NR_CPUS; i++) {
+               if (cpu_online(i) && i != smp_processor_id())
                        send_IPI_single(i, op);
        }
 }
@@ -642,13 +643,14 @@ int sys_cpus(int argc, char **argv)
        if ( argc == 1 ){
        
 #ifdef DUMP_MORE_STATE
-               for_each_online_cpu(i) {
+               for(i=0; i<NR_CPUS; i++) {
                        int cpus_per_line = 4;
-
-                       if (j++ % cpus_per_line)
-                               printk(" %3d",i);
-                       else
-                               printk("\n %3d",i);
+                       if(cpu_online(i)) {
+                               if (j++ % cpus_per_line)
+                                       printk(" %3d",i);
+                               else
+                                       printk("\n %3d",i);
+                       }
                }
                printk("\n"); 
 #else
@@ -657,7 +659,9 @@ int sys_cpus(int argc, char **argv)
        } else if((argc==2) && !(strcmp(argv[1],"-l"))) {
                printk("\nCPUSTATE  TASK CPUNUM CPUID HARDCPU(HPA)\n");
 #ifdef DUMP_MORE_STATE
-               for_each_online_cpu(i) {
+               for(i=0;i<NR_CPUS;i++) {
+                       if (!cpu_online(i))
+                               continue;
                        if (cpu_data[i].cpuid != NO_PROC_ID) {
                                switch(cpu_data[i].state) {
                                        case STATE_RENDEZVOUS:
@@ -691,7 +695,9 @@ int sys_cpus(int argc, char **argv)
        } else if ((argc==2) && !(strcmp(argv[1],"-s"))) { 
 #ifdef DUMP_MORE_STATE
                printk("\nCPUSTATE   CPUID\n");
-               for_each_online_cpu(i) {
+               for (i=0;i<NR_CPUS;i++) {
+                       if (!cpu_online(i))
+                               continue;
                        if (cpu_data[i].cpuid != NO_PROC_ID) {
                                switch(cpu_data[i].state) {
                                        case STATE_RENDEZVOUS: