Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit adf142e3 authored by Jay Lan's avatar Jay Lan Committed by Tony Luck
Browse files

[IA64] Do not call SN_SAL_SET_CPU_NUMBER twice on cpu 0



This is an SN specific patch.

Architectually, cpu_init is always called twice on cpu 0
and thus resulted in two SN_SAL_SET_CPU_NUMBER calls.

This was harmless in production kernel; however, it can
cause problem on booting up a crashdump kernel at Altix.

Here is the patch that detects the second sn_cpu_init
call and skips the second call to SN_SAL_SET_CPU_NUMBER.

Signed-Off-By: default avatarJay Lan <jlan@sgi.com>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent 3640543d
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -580,7 +580,7 @@ void __cpuinit sn_cpu_init(void)
	int slice;
	int cnode;
	int i;
	static int wars_have_been_checked;
	static int wars_have_been_checked, set_cpu0_number;

	cpuid = smp_processor_id();
	if (cpuid == 0 && IS_MEDUSA()) {
@@ -605,7 +605,15 @@ void __cpuinit sn_cpu_init(void)
	/*
	 * Don't check status. The SAL call is not supported on all PROMs
	 * but a failure is harmless.
	 * Architechtuallly, cpu_init is always called twice on cpu 0. We
	 * should set cpu_number on cpu 0 once.
	 */
	if (cpuid == 0) {
		if (!set_cpu0_number) {
			(void) ia64_sn_set_cpu_number(cpuid);
			set_cpu0_number = 1;
		}
	} else
		(void) ia64_sn_set_cpu_number(cpuid);

	/*