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

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

powerpc/64: Replace CURRENT_THREAD_INFO with PACA_THREAD_INFO



Now that current_thread_info is located at the beginning of 'current'
task struct, CURRENT_THREAD_INFO macro is not really needed any more.

This patch replaces it by loads of the value at PACA_THREAD_INFO(r13).

Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
[mpe: Add PACA_THREAD_INFO rather than using PACACURRENT]
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent f7354cca
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -671,7 +671,7 @@ END_FTR_SECTION_NESTED(ftr,ftr,943)

#define RUNLATCH_ON				\
BEGIN_FTR_SECTION				\
	CURRENT_THREAD_INFO(r3, r1);		\
	ld	r3, PACA_THREAD_INFO(r13);	\
	ld	r4,TI_LOCAL_FLAGS(r3);		\
	andi.	r0,r4,_TLF_RUNLATCH;		\
	beql	ppc64_runlatch_on_trampoline;	\
@@ -721,7 +721,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_CTRL)
#ifdef CONFIG_PPC_970_NAP
#define FINISH_NAP				\
BEGIN_FTR_SECTION				\
	CURRENT_THREAD_INFO(r11, r1);		\
	ld	r11, PACA_THREAD_INFO(r13);	\
	ld	r9,TI_LOCAL_FLAGS(r11);		\
	andi.	r10,r9,_TLF_NAPPING;		\
	bnel	power4_fixup_nap;		\
+0 −4
Original line number Diff line number Diff line
@@ -17,10 +17,6 @@

#define THREAD_SIZE		(1 << THREAD_SHIFT)

#ifdef CONFIG_PPC64
#define CURRENT_THREAD_INFO(dest, sp)	stringify_in_c(ld dest, PACACURRENT(r13))
#endif

#ifndef __ASSEMBLY__
#include <linux/cache.h>
#include <asm/processor.h>
+2 −0
Original line number Diff line number Diff line
@@ -182,6 +182,8 @@ int main(void)
	OFFSET(PACAPROCSTART, paca_struct, cpu_start);
	OFFSET(PACAKSAVE, paca_struct, kstack);
	OFFSET(PACACURRENT, paca_struct, __current);
	DEFINE(PACA_THREAD_INFO, offsetof(struct paca_struct, __current) +
				 offsetof(struct task_struct, thread_info));
	OFFSET(PACASAVEDMSR, paca_struct, saved_msr);
	OFFSET(PACAR1, paca_struct, saved_r1);
	OFFSET(PACATOC, paca_struct, kernel_toc);
+5 −5
Original line number Diff line number Diff line
@@ -166,7 +166,7 @@ system_call: /* label this so stack traces look sane */
	li	r10,IRQS_ENABLED
	std	r10,SOFTE(r1)

	CURRENT_THREAD_INFO(r11, r1)
	ld	r11, PACA_THREAD_INFO(r13)
	ld	r10,TI_FLAGS(r11)
	andi.	r11,r10,_TIF_SYSCALL_DOTRACE
	bne	.Lsyscall_dotrace		/* does not return */
@@ -213,7 +213,7 @@ system_call: /* label this so stack traces look sane */
	ld	r3,RESULT(r1)
#endif

	CURRENT_THREAD_INFO(r12, r1)
	ld	r12, PACA_THREAD_INFO(r13)

	ld	r8,_MSR(r1)
#ifdef CONFIG_PPC_BOOK3S
@@ -346,7 +346,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_HAS_PPR)

	/* Repopulate r9 and r10 for the syscall path */
	addi	r9,r1,STACK_FRAME_OVERHEAD
	CURRENT_THREAD_INFO(r10, r1)
	ld	r10, PACA_THREAD_INFO(r13)
	ld	r10,TI_FLAGS(r10)

	cmpldi	r0,NR_syscalls
@@ -740,7 +740,7 @@ _GLOBAL(ret_from_except_lite)
	mtmsrd	r10,1		  /* Update machine state */
#endif /* CONFIG_PPC_BOOK3E */

	CURRENT_THREAD_INFO(r9, r1)
	ld	r9, PACA_THREAD_INFO(r13)
	ld	r3,_MSR(r1)
#ifdef CONFIG_PPC_BOOK3E
	ld	r10,PACACURRENT(r13)
@@ -854,7 +854,7 @@ resume_kernel:
1:	bl	preempt_schedule_irq

	/* Re-test flags and eventually loop */
	CURRENT_THREAD_INFO(r9, r1)
	ld	r9, PACA_THREAD_INFO(r13)
	ld	r4,TI_FLAGS(r9)
	andi.	r0,r4,_TIF_NEED_RESCHED
	bne	1b
+1 −1
Original line number Diff line number Diff line
@@ -493,7 +493,7 @@ exc_##n##_bad_stack: \
 * interrupts happen before the wait instruction.
 */
#define CHECK_NAPPING()							\
	CURRENT_THREAD_INFO(r11, r1);					\
	ld	r11, PACA_THREAD_INFO(r13);				\
	ld	r10,TI_LOCAL_FLAGS(r11);				\
	andi.	r9,r10,_TLF_NAPPING;					\
	beq+	1f;							\
Loading