static unsigned char boot_cpu_id;
cpumask_t cpu_online_map = CPU_MASK_NONE;
-atomic_t sparc64_num_cpus_possible = ATOMIC_INIT(0);
cpumask_t phys_cpu_present_map = CPU_MASK_NONE;
static cpumask_t smp_commenced_mask;
static cpumask_t cpu_callout_map;
instance = 0;
while (!cpu_find_by_instance(instance, NULL, &mid)) {
- if (mid < max_cpus) {
+ if (mid < max_cpus)
cpu_set(mid, phys_cpu_present_map);
- atomic_inc(&sparc64_num_cpus_possible);
- }
instance++;
}
- if (atomic_read(&sparc64_num_cpus_possible) > max_cpus) {
+ if (num_possible_cpus() > max_cpus) {
instance = 0;
while (!cpu_find_by_instance(instance, NULL, &mid)) {
if (mid != boot_cpu_id) {
cpu_clear(mid, phys_cpu_present_map);
- atomic_dec(&sparc64_num_cpus_possible);
- if (atomic_read(&sparc64_num_cpus_possible) <= max_cpus)
+ if (num_possible_cpus() <= max_cpus)
break;
}
instance++;
/* CPU online map and active count. */
EXPORT_SYMBOL(cpu_online_map);
EXPORT_SYMBOL(phys_cpu_present_map);
-EXPORT_SYMBOL(sparc64_num_cpus_possible);
/* Spinlock debugging library, optional. */
#ifdef CONFIG_DEBUG_SPINLOCK
extern cpumask_t phys_cpu_present_map;
#define cpu_possible_map phys_cpu_present_map
-#define cpu_online(cpu) cpu_isset(cpu, cpu_online_map)
-
-extern atomic_t sparc64_num_cpus_possible;
-#define num_possible_cpus() (atomic_read(&sparc64_num_cpus_possible))
-
/*
* General functions that each host system must provide.
*/
#endif /* !(__ASSEMBLY__) */
-#else
-
-#define num_possible_cpus() (1)
-
#endif /* !(CONFIG_SMP) */
#define NO_PROC_ID 0xFF