X-Git-Url: https://git.stricted.de/?a=blobdiff_plain;f=arch%2Fs390%2Fkernel%2Fprocess.c;h=bb32b8618bf61836888d383c5b3fe1c9a352c0d2;hb=53a7ff8fb785839b87f950fd85433d9c662fac89;hp=999d7154bbdcd0891f6e2d5e6c55ea4ab62d0554;hpb=9522933454f4c4bd5bedf3d71c538708b7c5de5b;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 999d7154bbdc..bb32b8618bf6 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c @@ -41,31 +41,6 @@ asmlinkage void ret_from_fork(void) asm ("ret_from_fork"); -/* - * Return saved PC of a blocked thread. used in kernel/sched. - * resume in entry.S does not create a new stack frame, it - * just stores the registers %r6-%r15 to the frame given by - * schedule. We want to return the address of the caller of - * schedule, so we have to walk the backchain one time to - * find the frame schedule() store its return address. - */ -unsigned long thread_saved_pc(struct task_struct *tsk) -{ - struct stack_frame *sf, *low, *high; - - if (!tsk || !task_stack_page(tsk)) - return 0; - low = task_stack_page(tsk); - high = (struct stack_frame *) task_pt_regs(tsk); - sf = (struct stack_frame *) tsk->thread.ksp; - if (sf <= low || sf > high) - return 0; - sf = (struct stack_frame *) sf->back_chain; - if (sf <= low || sf > high) - return 0; - return sf->gprs[8]; -} - extern void kernel_thread_starter(void); /*