Lines Matching refs:pc
51 unsigned long fp, sp, pc; in walk_stackframe() local
58 pc = instruction_pointer(regs); in walk_stackframe()
62 pc = (unsigned long)walk_stackframe; in walk_stackframe()
68 pc = task->thread.ra; in walk_stackframe()
74 if (unlikely(!__kernel_text_address(pc) || (level++ >= 0 && !fn(arg, pc)))) in walk_stackframe()
83 if (regs && (regs->epc == pc) && fp_is_valid(frame->ra, sp)) { in walk_stackframe()
86 pc = regs->ra; in walk_stackframe()
89 pc = READ_ONCE_TASK_STACK(task, frame->ra); in walk_stackframe()
90 pc = ftrace_graph_ret_addr(current, &graph_idx, pc, in walk_stackframe()
92 if (pc >= (unsigned long)handle_exception && in walk_stackframe()
93 pc < (unsigned long)&ret_from_exception_end) { in walk_stackframe()
94 if (unlikely(!fn(arg, pc))) in walk_stackframe()
97 pc = ((struct pt_regs *)sp)->epc; in walk_stackframe()
110 unsigned long sp, pc; in walk_stackframe() local
115 pc = instruction_pointer(regs); in walk_stackframe()
118 pc = (unsigned long)walk_stackframe; in walk_stackframe()
122 pc = task->thread.ra; in walk_stackframe()
130 if (__kernel_text_address(pc) && unlikely(!fn(arg, pc))) in walk_stackframe()
132 pc = READ_ONCE_NOCHECK(*ksp++) - 0x4; in walk_stackframe()
138 static bool print_trace_address(void *arg, unsigned long pc) in print_trace_address() argument
142 print_ip_sym(loglvl, pc); in print_trace_address()
158 static bool save_wchan(void *arg, unsigned long pc) in save_wchan() argument
160 if (!in_sched_functions(pc)) { in save_wchan()
162 *p = pc; in save_wchan()
170 unsigned long pc = 0; in __get_wchan() local
174 walk_stackframe(task, NULL, save_wchan, &pc); in __get_wchan()
176 return pc; in __get_wchan()