PATCH 2 of 4] cpumask: export cpu_online_map and cpu_possible_mapconsistently

From: Greg Banks
Date: Fri Aug 04 2006 - 01:34:02 EST


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@xxxxxxxxxxxxxxxxx>
---

arch/arm/kernel/smp.c | 2 ++
arch/cris/arch-v32/kernel/smp.c | 1 +
arch/sh/kernel/smp.c | 1 +
kernel/sched.c | 3 +++
4 files changed, 7 insertions(+)

Index: linux-2.6.18-rc2/kernel/sched.c
===================================================================
--- linux-2.6.18-rc2.orig/kernel/sched.c 2006-08-01 17:53:25.000000000 +1000
+++ linux-2.6.18-rc2/kernel/sched.c 2006-08-02 23:01:20.535457863 +1000
@@ -4348,7 +4348,10 @@ EXPORT_SYMBOL(cpu_present_map);

#ifndef CONFIG_SMP
cpumask_t cpu_online_map __read_mostly = CPU_MASK_ALL;
+EXPORT_SYMBOL_GPL(cpu_online_map);
+
cpumask_t cpu_possible_map __read_mostly = CPU_MASK_ALL;
+EXPORT_SYMBOL_GPL(cpu_possible_map);
#endif

long sched_getaffinity(pid_t pid, cpumask_t *mask)
Index: linux-2.6.18-rc2/arch/arm/kernel/smp.c
===================================================================
--- linux-2.6.18-rc2.orig/arch/arm/kernel/smp.c 2006-07-16 07:53:08.000000000 +1000
+++ linux-2.6.18-rc2/arch/arm/kernel/smp.c 2006-08-02 23:16:11.014268293 +1000
@@ -36,7 +36,9 @@
* The online bitmask indicates that the CPU is up and running.
*/
cpumask_t cpu_possible_map;
+EXPORT_SYMBOL(cpu_possible_map);
cpumask_t cpu_online_map;
+EXPORT_SYMBOL(cpu_online_map);

/*
* as from 2.5, kernels no longer have an init_tasks structure
Index: linux-2.6.18-rc2/arch/cris/arch-v32/kernel/smp.c
===================================================================
--- linux-2.6.18-rc2.orig/arch/cris/arch-v32/kernel/smp.c 2006-07-16 07:53:08.000000000 +1000
+++ linux-2.6.18-rc2/arch/cris/arch-v32/kernel/smp.c 2006-08-02 23:26:25.253636007 +1000
@@ -28,6 +28,7 @@ spinlock_t cris_atomic_locks[] = { [0 ..

/* CPU masks */
cpumask_t cpu_online_map = CPU_MASK_NONE;
+EXPORT_SYMBOL(cpu_online_map);
cpumask_t phys_cpu_present_map = CPU_MASK_NONE;
EXPORT_SYMBOL(phys_cpu_present_map);

Index: linux-2.6.18-rc2/arch/sh/kernel/smp.c
===================================================================
--- linux-2.6.18-rc2.orig/arch/sh/kernel/smp.c 2006-07-16 07:53:08.000000000 +1000
+++ linux-2.6.18-rc2/arch/sh/kernel/smp.c 2006-08-02 23:23:34.284064085 +1000
@@ -42,6 +42,7 @@ cpumask_t cpu_possible_map;
EXPORT_SYMBOL(cpu_possible_map);

cpumask_t cpu_online_map;
+EXPORT_SYMBOL(cpu_online_map);
static atomic_t cpus_booted = ATOMIC_INIT(0);

/* These are defined by the board-specific code. */

--
Greg Banks, R&D Software Engineer, SGI Australian Software Group.
I don't speak for SGI.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/