Lines Matching defs:sp
22 static bool outside_of_stack(struct unwind_state *state, unsigned long sp)
24 return (sp <= state->sp) ||
25 (sp > state->stack_info.end - sizeof(struct stack_frame));
28 static bool update_stack_info(struct unwind_state *state, unsigned long sp)
34 if (get_stack_info(sp, state->task, info, mask) != 0 ||
35 !on_stack(info, sp, sizeof(struct stack_frame)))
36 /* 'sp' does not point to a valid stack */
61 unsigned long sp, ip;
66 sp = state->sp;
67 sf = (struct stack_frame *) sp;
77 sf = (struct stack_frame *) state->sp;
78 sp = READ_ONCE_NOCHECK(sf->back_chain);
79 if (likely(sp)) {
81 if (unlikely(outside_of_stack(state, sp))) {
82 if (!update_stack_info(state, sp))
85 sf = (struct stack_frame *) sp;
90 sp = state->sp + STACK_FRAME_OVERHEAD;
91 if (!on_stack(info, sp, sizeof(struct pt_regs)))
93 regs = (struct pt_regs *) sp;
97 sp = READ_ONCE_NOCHECK(regs->gprs[15]);
98 if (unlikely(outside_of_stack(state, sp))) {
99 if (!update_stack_info(state, sp))
107 if (sp & 0x7)
111 state->sp = sp;
132 unsigned long ip, sp;
147 sp = regs->gprs[15];
149 sp = current_frame_address();
151 sp = task->thread.ksp;
155 if (!update_stack_info(state, sp)) {
164 sf = (struct stack_frame *)sp;
169 state->sp = sp;
178 if (state->sp >= first_frame)