cpumask: centralize cpu_online_map and cpu_possible_map
authorRusty Russell <rusty@rustcorp.com.au>
Sat, 13 Dec 2008 10:49:41 +0000 (20:49 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Sat, 13 Dec 2008 10:49:41 +0000 (20:49 +1030)
commit98a79d6a50181ca1ecf7400eda01d5dc1bc0dbf0
treee8829ee975b77745da153b9d23601e3a1497ad68
parent6c34bc2976b30dc8b56392c020e25bae1f363cab
cpumask: centralize cpu_online_map and cpu_possible_map

Impact: cleanup

Each SMP arch defines these themselves.  Move them to a central
location.

Twists:
1) Some archs (m32, parisc, s390) set possible_map to all 1, so we add a
   CONFIG_INIT_ALL_POSSIBLE for this rather than break them.

2) mips and sparc32 '#define cpu_possible_map phys_cpu_present_map'.
   Those archs simply have phys_cpu_present_map replaced everywhere.

3) Alpha defined cpu_possible_map to cpu_present_map; this is tricky
   so I just manipulate them both in sync.

4) IA64, cris and m32r have gratuitous 'extern cpumask_t cpu_possible_map'
   declarations.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reviewed-by: Grant Grundler <grundler@parisc-linux.org>
Tested-by: Tony Luck <tony.luck@intel.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Mike Travis <travis@sgi.com>
Cc: ink@jurassic.park.msu.ru
Cc: rmk@arm.linux.org.uk
Cc: starvik@axis.com
Cc: tony.luck@intel.com
Cc: takata@linux-m32r.org
Cc: ralf@linux-mips.org
Cc: grundler@parisc-linux.org
Cc: paulus@samba.org
Cc: schwidefsky@de.ibm.com
Cc: lethal@linux-sh.org
Cc: wli@holomorphy.com
Cc: davem@davemloft.net
Cc: jdike@addtoit.com
Cc: mingo@redhat.com
35 files changed:
arch/alpha/include/asm/smp.h
arch/alpha/kernel/process.c
arch/alpha/kernel/smp.c
arch/arm/kernel/smp.c
arch/cris/arch-v32/kernel/smp.c
arch/cris/include/asm/smp.h
arch/ia64/include/asm/smp.h
arch/ia64/kernel/smpboot.c
arch/m32r/Kconfig
arch/m32r/kernel/smpboot.c
arch/mips/include/asm/smp.h
arch/mips/kernel/smp-cmp.c
arch/mips/kernel/smp-mt.c
arch/mips/kernel/smp.c
arch/mips/kernel/smtc.c
arch/mips/pmc-sierra/yosemite/smp.c
arch/mips/sgi-ip27/ip27-smp.c
arch/mips/sibyte/bcm1480/smp.c
arch/mips/sibyte/sb1250/smp.c
arch/parisc/Kconfig
arch/parisc/kernel/smp.c
arch/powerpc/kernel/smp.c
arch/s390/Kconfig
arch/s390/kernel/smp.c
arch/sh/kernel/smp.c
arch/sparc/include/asm/smp_32.h
arch/sparc/kernel/smp.c
arch/sparc/kernel/sparc_ksyms.c
arch/sparc64/kernel/smp.c
arch/um/kernel/smp.c
arch/x86/kernel/smpboot.c
arch/x86/mach-voyager/voyager_smp.c
include/asm-m32r/smp.h
init/Kconfig
kernel/cpu.c