Commit 05486089 authored by Christophe Leroy's avatar Christophe Leroy Committed by Michael Ellerman
Browse files

powerpc: Only use task_struct 'cpu' field on SMP



When moving to CONFIG_THREAD_INFO_IN_TASK, the thread_info 'cpu' field
gets moved into task_struct and only defined when CONFIG_SMP is set.

This patch ensures that TI_CPU is only used when CONFIG_SMP is set and
that task_struct 'cpu' field is not used directly out of SMP code.

Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
Reviewed-by: default avatarNicholas Piggin <npiggin@gmail.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 92ab45c5
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -243,8 +243,10 @@ set_ivor:
	li	r0,0
	stwu	r0,THREAD_SIZE-STACK_FRAME_OVERHEAD(r1)

#ifdef CONFIG_SMP
	CURRENT_THREAD_INFO(r22, r1)
	stw	r24, TI_CPU(r22)
#endif

	bl	early_init

+4 −0
Original line number Diff line number Diff line
@@ -183,10 +183,14 @@ _GLOBAL(low_choose_750fx_pll)
	or	r4,r4,r5
	mtspr	SPRN_HID1,r4

#ifdef CONFIG_SMP
	/* Store new HID1 image */
	CURRENT_THREAD_INFO(r6, r1)
	lwz	r6,TI_CPU(r6)
	slwi	r6,r6,2
#else
	li	r6, 0
#endif
	addis	r6,r6,nap_save_hid1@ha
	stw	r4,nap_save_hid1@l(r6)

+1 −1
Original line number Diff line number Diff line
@@ -2997,7 +2997,7 @@ static void show_task(struct task_struct *tsk)
	printf("%px %016lx %6d %6d %c %2d %s\n", tsk,
		tsk->thread.ksp,
		tsk->pid, rcu_dereference(tsk->parent)->pid,
		state, task_thread_info(tsk)->cpu,
		state, task_cpu(tsk),
		tsk->comm);
}