Loading arch/mips/kernel/entry.S +9 −3 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ FEXPORT(syscall_exit) and t0, a2, t0 bnez t0, syscall_exit_work FEXPORT(restore_all) # restore full frame restore_all: # restore full frame #ifdef CONFIG_MIPS_MT_SMTC #ifdef CONFIG_MIPS_MT_SMTC_IM_BACKSTOP /* Re-arm any temporarily masked interrupts not explicitly "acked" */ Loading Loading @@ -117,7 +117,7 @@ FEXPORT(restore_all) # restore full frame RESTORE_TEMP RESTORE_AT RESTORE_STATIC FEXPORT(restore_partial) # restore partial frame restore_partial: # restore partial frame #ifdef CONFIG_TRACE_IRQFLAGS SAVE_STATIC SAVE_AT Loading Loading @@ -164,7 +164,13 @@ work_notifysig: # deal with pending signals and jal do_notify_resume # a2 already loaded j resume_userspace FEXPORT(syscall_exit_work_partial) FEXPORT(syscall_exit_partial) local_irq_disable # make sure need_resched doesn't # change between and return LONG_L a2, TI_FLAGS($28) # current->work li t0, _TIF_ALLWORK_MASK and t0, a2 beqz t0, restore_partial SAVE_STATIC syscall_exit_work: LONG_L t0, PT_STATUS(sp) # returning to kernel mode? Loading arch/mips/kernel/scall32-o32.S +1 −12 Original line number Diff line number Diff line Loading @@ -69,18 +69,7 @@ stack_done: 1: sw v0, PT_R2(sp) # result o32_syscall_exit: local_irq_disable # make sure need_resched and # signals dont change between # sampling and return lw a2, TI_FLAGS($28) # current->work li t0, _TIF_ALLWORK_MASK and t0, a2 bnez t0, o32_syscall_exit_work j restore_partial o32_syscall_exit_work: j syscall_exit_work_partial j syscall_exit_partial /* ------------------------------------------------------------------------ */ Loading arch/mips/kernel/scall64-64.S +1 −12 Original line number Diff line number Diff line Loading @@ -72,18 +72,7 @@ NESTED(handle_sys64, PT_SIZE, sp) 1: sd v0, PT_R2(sp) # result n64_syscall_exit: local_irq_disable # make sure need_resched and # signals dont change between # sampling and return LONG_L a2, TI_FLAGS($28) # current->work li t0, _TIF_ALLWORK_MASK and t0, a2, t0 bnez t0, n64_syscall_exit_work j restore_partial n64_syscall_exit_work: j syscall_exit_work_partial j syscall_exit_partial /* ------------------------------------------------------------------------ */ Loading arch/mips/kernel/scall64-n32.S +1 −12 Original line number Diff line number Diff line Loading @@ -70,18 +70,7 @@ NESTED(handle_sysn32, PT_SIZE, sp) sd t1, PT_R0(sp) # save it for syscall restarting 1: sd v0, PT_R2(sp) # result local_irq_disable # make sure need_resched and # signals dont change between # sampling and return LONG_L a2, TI_FLAGS($28) # current->work li t0, _TIF_ALLWORK_MASK and t0, a2, t0 bnez t0, n32_syscall_exit_work j restore_partial n32_syscall_exit_work: j syscall_exit_work_partial j syscall_exit_partial /* ------------------------------------------------------------------------ */ Loading arch/mips/kernel/scall64-o32.S +1 −12 Original line number Diff line number Diff line Loading @@ -99,18 +99,7 @@ NESTED(handle_sys, PT_SIZE, sp) 1: sd v0, PT_R2(sp) # result o32_syscall_exit: local_irq_disable # make need_resched and # signals dont change between # sampling and return LONG_L a2, TI_FLAGS($28) li t0, _TIF_ALLWORK_MASK and t0, a2, t0 bnez t0, o32_syscall_exit_work j restore_partial o32_syscall_exit_work: j syscall_exit_work_partial j syscall_exit_partial /* ------------------------------------------------------------------------ */ Loading Loading
arch/mips/kernel/entry.S +9 −3 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ FEXPORT(syscall_exit) and t0, a2, t0 bnez t0, syscall_exit_work FEXPORT(restore_all) # restore full frame restore_all: # restore full frame #ifdef CONFIG_MIPS_MT_SMTC #ifdef CONFIG_MIPS_MT_SMTC_IM_BACKSTOP /* Re-arm any temporarily masked interrupts not explicitly "acked" */ Loading Loading @@ -117,7 +117,7 @@ FEXPORT(restore_all) # restore full frame RESTORE_TEMP RESTORE_AT RESTORE_STATIC FEXPORT(restore_partial) # restore partial frame restore_partial: # restore partial frame #ifdef CONFIG_TRACE_IRQFLAGS SAVE_STATIC SAVE_AT Loading Loading @@ -164,7 +164,13 @@ work_notifysig: # deal with pending signals and jal do_notify_resume # a2 already loaded j resume_userspace FEXPORT(syscall_exit_work_partial) FEXPORT(syscall_exit_partial) local_irq_disable # make sure need_resched doesn't # change between and return LONG_L a2, TI_FLAGS($28) # current->work li t0, _TIF_ALLWORK_MASK and t0, a2 beqz t0, restore_partial SAVE_STATIC syscall_exit_work: LONG_L t0, PT_STATUS(sp) # returning to kernel mode? Loading
arch/mips/kernel/scall32-o32.S +1 −12 Original line number Diff line number Diff line Loading @@ -69,18 +69,7 @@ stack_done: 1: sw v0, PT_R2(sp) # result o32_syscall_exit: local_irq_disable # make sure need_resched and # signals dont change between # sampling and return lw a2, TI_FLAGS($28) # current->work li t0, _TIF_ALLWORK_MASK and t0, a2 bnez t0, o32_syscall_exit_work j restore_partial o32_syscall_exit_work: j syscall_exit_work_partial j syscall_exit_partial /* ------------------------------------------------------------------------ */ Loading
arch/mips/kernel/scall64-64.S +1 −12 Original line number Diff line number Diff line Loading @@ -72,18 +72,7 @@ NESTED(handle_sys64, PT_SIZE, sp) 1: sd v0, PT_R2(sp) # result n64_syscall_exit: local_irq_disable # make sure need_resched and # signals dont change between # sampling and return LONG_L a2, TI_FLAGS($28) # current->work li t0, _TIF_ALLWORK_MASK and t0, a2, t0 bnez t0, n64_syscall_exit_work j restore_partial n64_syscall_exit_work: j syscall_exit_work_partial j syscall_exit_partial /* ------------------------------------------------------------------------ */ Loading
arch/mips/kernel/scall64-n32.S +1 −12 Original line number Diff line number Diff line Loading @@ -70,18 +70,7 @@ NESTED(handle_sysn32, PT_SIZE, sp) sd t1, PT_R0(sp) # save it for syscall restarting 1: sd v0, PT_R2(sp) # result local_irq_disable # make sure need_resched and # signals dont change between # sampling and return LONG_L a2, TI_FLAGS($28) # current->work li t0, _TIF_ALLWORK_MASK and t0, a2, t0 bnez t0, n32_syscall_exit_work j restore_partial n32_syscall_exit_work: j syscall_exit_work_partial j syscall_exit_partial /* ------------------------------------------------------------------------ */ Loading
arch/mips/kernel/scall64-o32.S +1 −12 Original line number Diff line number Diff line Loading @@ -99,18 +99,7 @@ NESTED(handle_sys, PT_SIZE, sp) 1: sd v0, PT_R2(sp) # result o32_syscall_exit: local_irq_disable # make need_resched and # signals dont change between # sampling and return LONG_L a2, TI_FLAGS($28) li t0, _TIF_ALLWORK_MASK and t0, a2, t0 bnez t0, o32_syscall_exit_work j restore_partial o32_syscall_exit_work: j syscall_exit_work_partial j syscall_exit_partial /* ------------------------------------------------------------------------ */ Loading