Lines Matching refs:pc

72  * @pc : Program counter at which to begin the search
77 static unsigned long *find_frame_creation(unsigned long *pc)
86 for (i = 0; i < 1000; i++, pc--) {
90 if (!kernel_text_address((unsigned long) pc))
93 instr = *pc;
102 frame_size, pc);
106 pr_debug(" Found frame creation at 0x%p, size %d\n", pc,
108 return pc;
117 * @pc : Program counter within current function
125 static int lookup_prev_stack_frame(unsigned long fp, unsigned long pc,
133 if (pc != (unsigned long) &_switch_to)
134 prologue = find_frame_creation((unsigned long *)pc);
155 unsigned long pc, unsigned long fp,
164 static inline void unwind_trap(struct task_struct *task, unsigned long pc,
174 * @pc : Program counter from which we start unwinding
176 * @leaf_return : Value of r15 at pc. If the function is a leaf, this is
183 unsigned long pc, unsigned long fp,
190 pr_debug(" Unwinding with PC=%p, FP=%p\n", (void *)pc, (void *)fp);
191 if (!pc || !fp || (pc & 3) || (fp & 3)) {
195 for (; pc != 0;) {
197 unsigned long return_to = pc + 2 * sizeof(unsigned long);
218 unwind_trap(task, pc, fp, trace, loglvl);
222 pc -= ofs;
229 trace->entries[trace->nr_entries++] = pc;
236 if (unlikely(pc == task_pt_regs(task)->pc)) {
238 loglvl, (void *) pc,
243 print_ip_sym(loglvl, pc);
247 if (!kernel_text_address(pc))
250 if (lookup_prev_stack_frame(fp, pc, leaf_return, &next_fp,
253 pc = next_pc & ~3;
279 microblaze_unwind_inner(task, regs->pc, regs->r1,
294 unsigned long pc, fp;
302 : "=r" (pc)
306 microblaze_unwind_inner(current, pc, fp, 0, trace, loglvl);