Lines Matching refs:pc

76 static unsigned long *find_frame_creation(unsigned long *pc)  in find_frame_creation()  argument
85 for (i = 0; i < 1000; i++, pc--) { in find_frame_creation()
89 if (!kernel_text_address((unsigned long) pc)) in find_frame_creation()
92 instr = *pc; in find_frame_creation()
101 frame_size, pc); in find_frame_creation()
105 pr_debug(" Found frame creation at 0x%p, size %d\n", pc, in find_frame_creation()
107 return pc; in find_frame_creation()
124 static int lookup_prev_stack_frame(unsigned long fp, unsigned long pc, in lookup_prev_stack_frame() argument
132 if (pc != (unsigned long) &_switch_to) in lookup_prev_stack_frame()
133 prologue = find_frame_creation((unsigned long *)pc); in lookup_prev_stack_frame()
154 unsigned long pc, unsigned long fp,
163 static inline void unwind_trap(struct task_struct *task, unsigned long pc, in unwind_trap() argument
169 static inline void unwind_trap(struct task_struct *task, unsigned long pc, in unwind_trap() argument
173 microblaze_unwind_inner(task, regs->pc, regs->r1, regs->r15, trace); in unwind_trap()
188 unsigned long pc, unsigned long fp, in microblaze_unwind_inner() argument
194 pr_debug(" Unwinding with PC=%p, FP=%p\n", (void *)pc, (void *)fp); in microblaze_unwind_inner()
195 if (!pc || !fp || (pc & 3) || (fp & 3)) { in microblaze_unwind_inner()
199 for (; pc != 0;) { in microblaze_unwind_inner()
201 unsigned long return_to = pc + 2 * sizeof(unsigned long); in microblaze_unwind_inner()
231 unwind_trap(task, pc, fp, trace); in microblaze_unwind_inner()
235 pc -= ofs; in microblaze_unwind_inner()
242 trace->entries[trace->nr_entries++] = pc; in microblaze_unwind_inner()
249 if (unlikely(pc == task_pt_regs(task)->pc)) { in microblaze_unwind_inner()
251 (void *) pc, in microblaze_unwind_inner()
256 print_ip_sym(pc); in microblaze_unwind_inner()
260 if (!kernel_text_address(pc)) in microblaze_unwind_inner()
263 if (lookup_prev_stack_frame(fp, pc, leaf_return, &next_fp, in microblaze_unwind_inner()
266 pc = next_pc & ~3; in microblaze_unwind_inner()
290 microblaze_unwind_inner(task, regs->pc, regs->r1, in microblaze_unwind()
304 unsigned long pc, fp; in microblaze_unwind() local
312 : "=r" (pc) in microblaze_unwind()
316 microblaze_unwind_inner(current, pc, fp, 0, trace); in microblaze_unwind()