- extern void smp4m_boot_cpus(void);
- int i, cpuid, ncpus, extra;
-
- BUG_ON(sparc_cpu_model != sun4m);
- printk("Entering SMP Mode...\n");
-
- ncpus = 1;
- extra = 0;
- for (i = 0; !cpu_find_by_instance(i, NULL, &cpuid); i++) {
- if (cpuid == boot_cpu_id)
- continue;
- if (cpuid < NR_CPUS && ncpus++ < max_cpus)
- cpu_set(cpuid, phys_cpu_present_map);
- else
- extra++;
- }
- if (max_cpus >= NR_CPUS && extra)
- printk("Warning: NR_CPUS is too low to start all cpus\n");
-
- smp_store_cpu_info(boot_cpu_id);
-
- smp4m_boot_cpus();