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 /arch/ia64/kernel | |
| parent | 62d0cfcb27cf755cebdc93ca95dabc83608007cd (diff) | |
| download | olio-linux-3.10-bcb9b99d1fb6a1cbe592f131dc95450d2f18c91f.tar.xz olio-linux-3.10-bcb9b99d1fb6a1cbe592f131dc95450d2f18c91f.zip  | |
[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>
Diffstat (limited to 'arch/ia64/kernel')
| -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();  }  |