Commit 98edfab4 authored by Vineet Gupta's avatar Vineet Gupta

ARC: add some more comments to ret_from_fork

Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent 4c86231c
...@@ -736,16 +736,20 @@ ENTRY(ret_from_fork) ...@@ -736,16 +736,20 @@ ENTRY(ret_from_fork)
; put last task in scheduler queue ; put last task in scheduler queue
bl @schedule_tail bl @schedule_tail
; If kernel thread, jump to its entry-point
ld r9, [sp, PT_status32] ld r9, [sp, PT_status32]
brne r9, 0, 1f brne r9, 0, 1f
jl.d [r14] jl.d [r14] ; kernel thread entry point
mov r0, r13 ; arg to payload mov r0, r13 ; (see PF_KTHREAD block in copy_thread)
1: 1:
; special case of kernel_thread entry point returning back due to ; Return to user space
; kernel_execve() - pretend return from syscall to ret to userland ; 1. Any forked task (Reach here via BRne above)
; 2. First ever init task (Reach here via return from JL above)
; This is the historic "kernel_execve" use-case, to return to init
; user mode, in a round about way since that is always done from
; a kernel thread which is executed via JL above but always returns
; out whenever kernel_execve (now inline do_fork()) is involved
b ret_from_exception b ret_from_exception
END(ret_from_fork) END(ret_from_fork)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment