Lines Matching refs:frame

388 int unwind_frame(struct stackframe *frame)  in unwind_frame()  argument
395 low = frame->sp; in unwind_frame()
399 frame->pc, frame->lr, frame->sp); in unwind_frame()
401 if (!kernel_text_address(frame->pc)) in unwind_frame()
404 idx = unwind_find_idx(frame->pc); in unwind_frame()
406 pr_warn("unwind: Index not found %08lx\n", frame->pc); in unwind_frame()
410 ctrl.vrs[FP] = frame->fp; in unwind_frame()
411 ctrl.vrs[SP] = frame->sp; in unwind_frame()
412 ctrl.vrs[LR] = frame->lr; in unwind_frame()
460 if (frame->pc == ctrl.vrs[PC]) in unwind_frame()
463 frame->fp = ctrl.vrs[FP]; in unwind_frame()
464 frame->sp = ctrl.vrs[SP]; in unwind_frame()
465 frame->lr = ctrl.vrs[LR]; in unwind_frame()
466 frame->pc = ctrl.vrs[PC]; in unwind_frame()
473 struct stackframe frame; in unwind_backtrace() local
481 arm_get_current_stackframe(regs, &frame); in unwind_backtrace()
484 frame.pc = regs->ARM_lr; in unwind_backtrace()
486 frame.fp = (unsigned long)__builtin_frame_address(0); in unwind_backtrace()
487 frame.sp = current_stack_pointer; in unwind_backtrace()
488 frame.lr = (unsigned long)__builtin_return_address(0); in unwind_backtrace()
489 frame.pc = (unsigned long)unwind_backtrace; in unwind_backtrace()
492 frame.fp = thread_saved_fp(tsk); in unwind_backtrace()
493 frame.sp = thread_saved_sp(tsk); in unwind_backtrace()
498 frame.lr = 0; in unwind_backtrace()
499 frame.pc = thread_saved_pc(tsk); in unwind_backtrace()
504 unsigned long where = frame.pc; in unwind_backtrace()
506 urc = unwind_frame(&frame); in unwind_backtrace()
509 dump_backtrace_entry(where, frame.pc, frame.sp - 4); in unwind_backtrace()