From: Christophe Leroy <christophe.le...@c-s.fr> Make sure CURRENT_THREAD_INFO() is used with r1 which is the virtual address of the stack, in order to ease the switch to r2 when we enable THREAD_INFO_IN_TASK, as we have no register having the phys address of current.
Signed-off-by: Christophe Leroy <christophe.le...@c-s.fr> [mpe: Split out of larger patch] Signed-off-by: Michael Ellerman <m...@ellerman.id.au> --- arch/powerpc/kernel/idle_6xx.S | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kernel/idle_6xx.S b/arch/powerpc/kernel/idle_6xx.S index ff026c9d3cab..d9b6e7e0b5e3 100644 --- a/arch/powerpc/kernel/idle_6xx.S +++ b/arch/powerpc/kernel/idle_6xx.S @@ -159,7 +159,8 @@ _GLOBAL(power_save_ppc32_restore) stw r9,_NIP(r11) /* make it do a blr */ #ifdef CONFIG_SMP - CURRENT_THREAD_INFO(r12, r11) + CURRENT_THREAD_INFO(r12, r1) + tophys(r12, r12) lwz r11,TI_CPU(r12) /* get cpu number * 4 */ slwi r11,r11,2 #else -- 2.20.1