diff options
author | Magnus Damm <magnus@valinux.co.jp> | 2007-02-05 15:43:42 +0900 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2007-02-05 11:27:21 -0800 |
commit | bcb9b99d1fb6a1cbe592f131dc95450d2f18c91f (patch) | |
tree | 7c3e9711112c0559f8d734b5fed6e82eb846c3be | |
parent | 62d0cfcb27cf755cebdc93ca95dabc83608007cd (diff) |
[IA64] kexec: Fix CONFIG_SMP=n compilation
Kexec support for 2.6.20 on ia64 does not build properly using a config
made up by CONFIG_SMP=n and CONFIG_HOTPLUG_CPU=n:
Signed-off-by: Magnus Damm <magnus@valinux.co.jp>
Acked-by: Simon Horman <horms@verge.net.au>
Acked-by: Jay Lan <jlan@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
-rw-r--r-- | arch/ia64/kernel/crash.c | 11 | ||||
-rw-r--r-- | arch/ia64/kernel/machine_kexec.c | 2 |
2 files changed, 9 insertions, 4 deletions
diff --git a/arch/ia64/kernel/crash.c b/arch/ia64/kernel/crash.c index bc2f64d7224..2018e624f5e 100644 --- a/arch/ia64/kernel/crash.c +++ b/arch/ia64/kernel/crash.c @@ -79,6 +79,7 @@ crash_save_this_cpu() final_note(buf); } +#ifdef CONFIG_SMP static int kdump_wait_cpu_freeze(void) { @@ -91,6 +92,7 @@ kdump_wait_cpu_freeze(void) } return 1; } +#endif void machine_crash_shutdown(struct pt_regs *pt) @@ -132,11 +134,12 @@ kdump_cpu_freeze(struct unw_frame_info *info, void *arg) atomic_inc(&kdump_cpu_freezed); kdump_status[cpuid] = 1; mb(); - if (cpuid == 0) { - for (;;) - cpu_relax(); - } else +#ifdef CONFIG_HOTPLUG_CPU + if (cpuid != 0) ia64_jump_to_sal(&sal_boot_rendez_state[cpuid]); +#endif + for (;;) + cpu_relax(); } static int diff --git a/arch/ia64/kernel/machine_kexec.c b/arch/ia64/kernel/machine_kexec.c index e2ccc9f660c..714179587a7 100644 --- a/arch/ia64/kernel/machine_kexec.c +++ b/arch/ia64/kernel/machine_kexec.c @@ -70,12 +70,14 @@ void machine_kexec_cleanup(struct kimage *image) void machine_shutdown(void) { +#ifdef CONFIG_HOTPLUG_CPU int cpu; for_each_online_cpu(cpu) { if (cpu != smp_processor_id()) cpu_down(cpu); } +#endif kexec_disable_iosapic(); } |