aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc64/kernel/machine_kexec.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2005-08-04 15:53:29 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-08-04 16:00:53 -0400
commit75eedfed3e2d05563f44d2f69efb991fad95d7f1 (patch)
tree9084036d93c38d3ad64d327c6ce4afe773bace60 /arch/ppc64/kernel/machine_kexec.c
parent556e58febf90c8cb1da25669d0892bf5fd2ddac2 (diff)
[PATCH] ppc64: Fix UP kernel build
CONFIG_KEXEC breaks UP builds because of a misspelled smp_release_cpus(). Also, the function isn't defined unless built with CONFIG_SMP but it is needed if we are to go from a UP to SMP kernel. Enable it and document it. Thanks to Steven Winiecki for reporting this and to Milton for remembering how it's supposed to work and why. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc64/kernel/machine_kexec.c')
-rw-r--r--arch/ppc64/kernel/machine_kexec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/ppc64/kernel/machine_kexec.c b/arch/ppc64/kernel/machine_kexec.c
index fdb2fc649d72..5c40bb6788df 100644
--- a/arch/ppc64/kernel/machine_kexec.c
+++ b/arch/ppc64/kernel/machine_kexec.c
@@ -243,13 +243,17 @@ static void kexec_prepare_cpus(void)
243 243
244static void kexec_prepare_cpus(void) 244static void kexec_prepare_cpus(void)
245{ 245{
246 extern void smp_release_cpus(void);
246 /* 247 /*
247 * move the secondarys to us so that we can copy 248 * move the secondarys to us so that we can copy
248 * the new kernel 0-0x100 safely 249 * the new kernel 0-0x100 safely
249 * 250 *
250 * do this if kexec in setup.c ? 251 * do this if kexec in setup.c ?
252 *
253 * We need to release the cpus if we are ever going from an
254 * UP to an SMP kernel.
251 */ 255 */
252 smp_relase_cpus(); 256 smp_release_cpus();
253 if (ppc_md.cpu_irq_down) 257 if (ppc_md.cpu_irq_down)
254 ppc_md.cpu_irq_down(); 258 ppc_md.cpu_irq_down();
255 local_irq_disable(); 259 local_irq_disable();