[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>
This commit is contained in:
parent
62d0cfcb27
commit
bcb9b99d1f
2 changed files with 9 additions and 4 deletions
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue