linux/arch/alpha/kernel
Brian Uhrain says 917b1f78a9 [PATCH] alpha: SMP boot fixes
I've encountered two problems with 2.6.16 and newer kernels on my API CS20
(dual 833MHz Alpha 21264b processors).  The first is the kernel OOPSing
because of a NULL pointer dereference while trying to populate SysFS with the
CPU information.  The other is that only one processor was being brought up.
I've included a small Alpha-specific patch that fixes both problems.

The first problem was caused by the CPUs never being properly registered using
register_cpu(), the way it's done on other architectures.

The second problem has to do with the removal of hwrpb_cpu_present_mask in
arch/alpha/kernel/smp.c.  In setup_smp() in the 2.6.15 kernel sources,
hwrpb_cpu_present_mask has a bit set for each processor that is probed, and
afterwards cpu_present_mask is set to the cpumask for the boot CPU.  In the
same function of the same file in the 2.6.16 sources, instead of
hwrpb_cpu_present_mask being set, cpu_possible_map is updated for each probed
CPU.  cpu_present_mask is still set to the cpumask of the boot CPU afterwards.
 The problem lies in include/asm-alpha/smp.h, where cpu_possible_map is
#define'd to be cpu_present_mask.

Cleanups from: Ivan Kokshaysky <ink@jurassic.park.msu.ru>

 - cpu_present_mask and cpu_possible_map are essentially the same thing
   on alpha, as it doesn't support CPU hotplug;
 - allocate "struct cpu" only for present CPUs, like sparc64 does.
   Static array of "struct cpu" is just a waste of memory.

Signed-off-by: Brian Uhrain <buhrain@rosettastone.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-04-11 06:18:34 -07:00
..
alpha_ksyms.c [PATCH] unexport get_wchan 2006-03-31 12:19:01 -08:00
asm-offsets.c [PATCH] alpha: Fix getxpid on alpha so it works for threads 2006-02-01 08:53:21 -08:00
console.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
core_apecs.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
core_cia.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
core_irongate.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
core_lca.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
core_marvel.c [PATCH] Don't pass boot parameters to argv_init[] 2006-03-31 12:18:53 -08:00
core_mcpcia.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
core_polaris.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
core_t2.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
core_titan.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
core_tsunami.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
core_wildfire.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
entry.S [PATCH] alpha: Fix getxpid on alpha so it works for threads 2006-02-01 08:53:21 -08:00
err_common.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
err_ev6.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
err_ev7.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
err_impl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
err_marvel.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
err_titan.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
es1888.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gct.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
head.S kbuild: alpha,x86_64 use generic asm-offsets.h support 2005-09-09 21:28:48 +02:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_alpha.c [PATCH] alpha smp fix (part #2) 2005-07-01 08:20:23 -07:00
irq_i8259.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_impl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_pyxis.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_srm.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.c [PATCH] alpha: fix IRQ handling lockup 2006-03-09 19:47:37 -08:00
machvec_impl.h [PATCH] arch/alpha/kernel/machvec_impl.h: C99 struct initializer 2005-12-15 10:04:31 -08:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module.c [PATCH] alpha: process_reloc_for_got confuses r_offset and r_addend 2005-09-09 13:57:30 -07:00
ns87312.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
osf_sys.c [PATCH] consolidate sys32/compat_adjtimex 2006-03-26 08:56:57 -08:00
pci_impl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_iommu.c [PATCH] gfp_t: remaining bits of arch/* 2005-10-28 08:16:51 -07:00
pci-noop.c [PATCH] capable/capability.h (arch/) 2006-01-11 18:42:14 -08:00
pci.c [PATCH] pci and yenta: pcibios_bus_to_resource 2005-08-04 21:32:46 -07:00
process.c [PATCH] alpha: task_pt_regs() 2006-01-12 09:08:50 -08:00
proto.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ptrace.c [PATCH] alpha: task_pt_regs() 2006-01-12 09:08:50 -08:00
semaphore.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.c [PATCH] alpha: SMP boot fixes 2006-04-11 06:18:34 -07:00
signal.c [PATCH] convert signal handling of NODEFER to act like other Unix boxes. 2005-08-29 10:03:11 -07:00
smc37c93x.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smc37c669.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp.c [PATCH] alpha: SMP boot fixes 2006-04-11 06:18:34 -07:00
srm_env.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
srmcons.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_alcor.c [PATCH] PCI: pci_find_device remove (alpha/kernel/sys_alcor.c) 2006-01-09 12:13:14 -08:00
sys_cabriolet.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_dp264.c [PATCH] Alpha: ISA IRQs fixup for dp264 2005-09-19 10:00:59 -07:00
sys_eb64p.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_eiger.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_jensen.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_marvel.c [PATCH] PCI: remove CONFIG_PCI_NAMES 2005-09-08 14:57:23 -07:00
sys_miata.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_mikasa.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_nautilus.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_noritake.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_rawhide.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_ruffian.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_rx164.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_sable.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_sio.c [PATCH] PCI: pci_find_device remove (alpha/kernel/sys_sio.c) 2006-01-09 12:13:14 -08:00
sys_sx164.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_takara.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_titan.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_wildfire.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
systbls.S [PATCH] new alpha syscalls 2005-07-27 18:24:24 -07:00
time.c [PATCH] RTC: Remove RTC UIP synchronization on Alpha 2006-03-28 09:16:01 -08:00
traps.c [PATCH] alpha: fix kernel alignment traps 2005-10-02 14:32:49 -07:00
vmlinux.lds.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00