Browse Source

[PATCH] cpumask: export cpu_online_map and cpu_possible_map consistently

cpumask: ensure that the cpu_online_map and cpu_possible_map bitmasks, and
hence all the macros in <linux/cpumask.h> that require them, are available to
modules for all supported combinations of architecture and CONFIG_SMP.

Signed-off-by: Greg Banks <gnb@melbourne.sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Banks 18 years ago
parent
commit
e16b38f713
4 changed files with 7 additions and 0 deletions
  1. 2 0
      arch/arm/kernel/smp.c
  2. 1 0
      arch/cris/arch-v32/kernel/smp.c
  3. 1 0
      arch/sh/kernel/smp.c
  4. 3 0
      kernel/sched.c

+ 2 - 0
arch/arm/kernel/smp.c

@@ -36,7 +36,9 @@
  * The online bitmask indicates that the CPU is up and running.
  * The online bitmask indicates that the CPU is up and running.
  */
  */
 cpumask_t cpu_possible_map;
 cpumask_t cpu_possible_map;
+EXPORT_SYMBOL(cpu_possible_map);
 cpumask_t cpu_online_map;
 cpumask_t cpu_online_map;
+EXPORT_SYMBOL(cpu_online_map);
 
 
 /*
 /*
  * as from 2.5, kernels no longer have an init_tasks structure
  * as from 2.5, kernels no longer have an init_tasks structure

+ 1 - 0
arch/cris/arch-v32/kernel/smp.c

@@ -28,6 +28,7 @@ spinlock_t cris_atomic_locks[] = { [0 ... LOCK_COUNT - 1] = SPIN_LOCK_UNLOCKED};
 
 
 /* CPU masks */
 /* CPU masks */
 cpumask_t cpu_online_map = CPU_MASK_NONE;
 cpumask_t cpu_online_map = CPU_MASK_NONE;
+EXPORT_SYMBOL(cpu_online_map);
 cpumask_t phys_cpu_present_map = CPU_MASK_NONE;
 cpumask_t phys_cpu_present_map = CPU_MASK_NONE;
 EXPORT_SYMBOL(phys_cpu_present_map);
 EXPORT_SYMBOL(phys_cpu_present_map);
 
 

+ 1 - 0
arch/sh/kernel/smp.c

@@ -42,6 +42,7 @@ cpumask_t cpu_possible_map;
 EXPORT_SYMBOL(cpu_possible_map);
 EXPORT_SYMBOL(cpu_possible_map);
 
 
 cpumask_t cpu_online_map;
 cpumask_t cpu_online_map;
+EXPORT_SYMBOL(cpu_online_map);
 static atomic_t cpus_booted = ATOMIC_INIT(0);
 static atomic_t cpus_booted = ATOMIC_INIT(0);
 
 
 /* These are defined by the board-specific code. */
 /* These are defined by the board-specific code. */

+ 3 - 0
kernel/sched.c

@@ -4384,7 +4384,10 @@ EXPORT_SYMBOL(cpu_present_map);
 
 
 #ifndef CONFIG_SMP
 #ifndef CONFIG_SMP
 cpumask_t cpu_online_map __read_mostly = CPU_MASK_ALL;
 cpumask_t cpu_online_map __read_mostly = CPU_MASK_ALL;
+EXPORT_SYMBOL(cpu_online_map);
+
 cpumask_t cpu_possible_map __read_mostly = CPU_MASK_ALL;
 cpumask_t cpu_possible_map __read_mostly = CPU_MASK_ALL;
+EXPORT_SYMBOL(cpu_possible_map);
 #endif
 #endif
 
 
 long sched_getaffinity(pid_t pid, cpumask_t *mask)
 long sched_getaffinity(pid_t pid, cpumask_t *mask)