Lines Matching refs:sp
60 void start_thread(struct pt_regs * regs, unsigned long pc, unsigned long sp) in start_thread() argument
75 regs->regs[29] = sp; in start_thread()
436 unsigned long *sp, in unwind_stack_by_address() argument
456 if (*sp >= stack_page && in unwind_stack_by_address()
457 *sp + sizeof(*regs) <= stack_page + THREAD_SIZE - 32) { in unwind_stack_by_address()
458 regs = (struct pt_regs *)*sp; in unwind_stack_by_address()
461 *sp = regs->regs[29]; in unwind_stack_by_address()
485 if (*sp < stack_page || in unwind_stack_by_address()
486 *sp + info.frame_size > stack_page + THREAD_SIZE - 32) in unwind_stack_by_address()
498 pc = ((unsigned long *)(*sp))[info.pc_offset]; in unwind_stack_by_address()
500 *sp += info.frame_size; in unwind_stack_by_address()
507 unsigned long unwind_stack(struct task_struct *task, unsigned long *sp, in unwind_stack() argument
511 return unwind_stack_by_address(stack_page, sp, pc, ra); in unwind_stack()
522 unsigned long sp; in get_wchan() local
534 sp = task->thread.reg29 + schedule_mfi.frame_size; in get_wchan()
537 pc = unwind_stack(task, &sp, pc, &ra); in get_wchan()
548 unsigned long arch_align_stack(unsigned long sp) in arch_align_stack() argument
551 sp -= get_random_int() & ~PAGE_MASK; in arch_align_stack()
553 return sp & ALMASK; in arch_align_stack()