Lines Matching refs:frame
25 int notrace unwind_frame(struct stackframe *frame) in unwind_frame() argument
28 unsigned long fp = frame->fp; in unwind_frame()
31 low = frame->sp; in unwind_frame()
39 frame->fp = *(unsigned long *)(fp - 12); in unwind_frame()
40 frame->sp = *(unsigned long *)(fp - 8); in unwind_frame()
41 frame->pc = *(unsigned long *)(fp - 4); in unwind_frame()
47 void notrace walk_stackframe(struct stackframe *frame, in walk_stackframe() argument
53 if (fn(frame, data)) in walk_stackframe()
55 ret = unwind_frame(frame); in walk_stackframe()
70 static int save_trace(struct stackframe *frame, void *d) in save_trace() argument
75 unsigned long addr = frame->pc; in save_trace()
97 data->last_pc = frame->pc; in save_trace()
101 regs = (struct pt_regs *)frame->sp; in save_trace()
113 struct stackframe frame; in __save_stack_trace() local
131 frame.fp = thread_saved_fp(tsk); in __save_stack_trace()
132 frame.sp = thread_saved_sp(tsk); in __save_stack_trace()
133 frame.lr = 0; /* recovered from the stack */ in __save_stack_trace()
134 frame.pc = thread_saved_pc(tsk); in __save_stack_trace()
139 frame.fp = (unsigned long)__builtin_frame_address(0); in __save_stack_trace()
140 frame.sp = current_stack_pointer; in __save_stack_trace()
141 frame.lr = (unsigned long)__builtin_return_address(0); in __save_stack_trace()
142 frame.pc = (unsigned long)__save_stack_trace; in __save_stack_trace()
145 walk_stackframe(&frame, save_trace, &data); in __save_stack_trace()
153 struct stackframe frame; in save_stack_trace_regs() local
159 frame.fp = regs->ARM_fp; in save_stack_trace_regs()
160 frame.sp = regs->ARM_sp; in save_stack_trace_regs()
161 frame.lr = regs->ARM_lr; in save_stack_trace_regs()
162 frame.pc = regs->ARM_pc; in save_stack_trace_regs()
164 walk_stackframe(&frame, save_trace, &data); in save_stack_trace_regs()