OSDN Git Service

powerpc/idle/6xx: Use r1 with CURRENT_THREAD_INFO()
authorChristophe Leroy <christophe.leroy@c-s.fr>
Mon, 4 Feb 2019 11:16:48 +0000 (22:16 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 23 Feb 2019 11:31:40 +0000 (22:31 +1100)
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.leroy@c-s.fr>
[mpe: Split out of larger patch]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/idle_6xx.S

index ff026c9..d9b6e7e 100644 (file)
@@ -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