• Home
  • Raw
  • Download

Lines Matching refs:sp

20 static bool outside_of_stack(struct unwind_state *state, unsigned long sp)  in outside_of_stack()  argument
22 return (sp <= state->sp) || in outside_of_stack()
23 (sp > state->stack_info.end - sizeof(struct stack_frame)); in outside_of_stack()
26 static bool update_stack_info(struct unwind_state *state, unsigned long sp) in update_stack_info() argument
32 if (get_stack_info(sp, state->task, info, mask) != 0 || in update_stack_info()
33 !on_stack(info, sp, sizeof(struct stack_frame))) in update_stack_info()
44 unsigned long sp, ip; in unwind_next_frame() local
50 sp = state->sp; in unwind_next_frame()
53 sp = READ_ONCE_NOCHECK(regs->gprs[15]); in unwind_next_frame()
54 if (unlikely(outside_of_stack(state, sp))) { in unwind_next_frame()
55 if (!update_stack_info(state, sp)) in unwind_next_frame()
59 sf = (struct stack_frame *) sp; in unwind_next_frame()
69 sf = (struct stack_frame *) state->sp; in unwind_next_frame()
70 sp = READ_ONCE_NOCHECK(sf->back_chain); in unwind_next_frame()
71 if (likely(sp)) { in unwind_next_frame()
73 if (unlikely(outside_of_stack(state, sp))) { in unwind_next_frame()
74 if (!update_stack_info(state, sp)) in unwind_next_frame()
77 sf = (struct stack_frame *) sp; in unwind_next_frame()
82 sp = state->sp + STACK_FRAME_OVERHEAD; in unwind_next_frame()
83 if (!on_stack(info, sp, sizeof(struct pt_regs))) in unwind_next_frame()
85 regs = (struct pt_regs *) sp; in unwind_next_frame()
97 ip, (void *) sp); in unwind_next_frame()
101 state->sp = sp; in unwind_next_frame()
116 struct pt_regs *regs, unsigned long sp) in __unwind_start() argument
135 if (get_stack_info(sp, task, info, mask) != 0 || in __unwind_start()
136 !on_stack(info, sp, sizeof(struct stack_frame))) { in __unwind_start()
149 sf = (struct stack_frame *) sp; in __unwind_start()
163 state->sp = sp; in __unwind_start()