From 05e59e5fb0064c97a1c10921ecd549f2d4a58565 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Wed, 09 Oct 2024 06:14:40 +0000 Subject: [PATCH] add REDIRECT --- kernel/arch/powerpc/kernel/entry_32.S | 23 +++++++---------------- 1 files changed, 7 insertions(+), 16 deletions(-) diff --git a/kernel/arch/powerpc/kernel/entry_32.S b/kernel/arch/powerpc/kernel/entry_32.S index fc9517a..459f5d0 100644 --- a/kernel/arch/powerpc/kernel/entry_32.S +++ b/kernel/arch/powerpc/kernel/entry_32.S @@ -414,9 +414,7 @@ mtmsr r10 lwz r9,TI_FLAGS(r2) li r8,-MAX_ERRNO - lis r0,(_TIF_SYSCALL_DOTRACE|_TIF_SINGLESTEP|_TIF_USER_WORK_MASK|_TIF_PERSYSCALL_MASK)@h - ori r0,r0, (_TIF_SYSCALL_DOTRACE|_TIF_SINGLESTEP|_TIF_USER_WORK_MASK|_TIF_PERSYSCALL_MASK)@l - and. r0,r9,r0 + andi. r0,r9,(_TIF_SYSCALL_DOTRACE|_TIF_SINGLESTEP|_TIF_USER_WORK_MASK|_TIF_PERSYSCALL_MASK) bne- syscall_exit_work cmplw 0,r3,r8 blt+ syscall_exit_cont @@ -532,13 +530,13 @@ b syscall_dotrace_cont syscall_exit_work: - andis. r0,r9,_TIF_RESTOREALL@h + andi. r0,r9,_TIF_RESTOREALL beq+ 0f REST_NVGPRS(r1) b 2f 0: cmplw 0,r3,r8 blt+ 1f - andis. r0,r9,_TIF_NOERROR@h + andi. r0,r9,_TIF_NOERROR bne- 1f lwz r11,_CCR(r1) /* Load CR */ neg r3,r3 @@ -547,12 +545,12 @@ 1: stw r6,RESULT(r1) /* Save result */ stw r3,GPR3(r1) /* Update return value */ -2: andis. r0,r9,(_TIF_PERSYSCALL_MASK)@h +2: andi. r0,r9,(_TIF_PERSYSCALL_MASK) beq 4f /* Clear per-syscall TIF flags if any are set. */ - lis r11,(_TIF_PERSYSCALL_MASK)@h + li r11,_TIF_PERSYSCALL_MASK addi r12,r2,TI_FLAGS 3: lwarx r8,0,r12 andc r8,r8,r11 @@ -929,14 +927,7 @@ cmpwi 0,r0,0 /* if non-zero, just restore regs and return */ bne restore_kuap andi. r8,r8,_TIF_NEED_RESCHED - bne+ 1f - lwz r0,TI_PREEMPT_LAZY(r2) - cmpwi 0,r0,0 /* if non-zero, just restore regs and return */ - bne restore_kuap - lwz r0,TI_FLAGS(r2) - andi. r0,r0,_TIF_NEED_RESCHED_LAZY beq+ restore_kuap -1: lwz r3,_MSR(r1) andi. r0,r3,MSR_EE /* interrupts off? */ beq restore_kuap /* don't schedule if so */ @@ -1257,7 +1248,7 @@ #endif /* !(CONFIG_4xx || CONFIG_BOOKE) */ do_work: /* r10 contains MSR_KERNEL here */ - andi. r0,r9,_TIF_NEED_RESCHED_MASK + andi. r0,r9,_TIF_NEED_RESCHED beq do_user_signal do_resched: /* r10 contains MSR_KERNEL here */ @@ -1276,7 +1267,7 @@ LOAD_REG_IMMEDIATE(r10,MSR_KERNEL) mtmsr r10 /* disable interrupts */ lwz r9,TI_FLAGS(r2) - andi. r0,r9,_TIF_NEED_RESCHED_MASK + andi. r0,r9,_TIF_NEED_RESCHED bne- do_resched andi. r0,r9,_TIF_USER_WORK_MASK beq restore_user -- Gitblit v1.6.2