Lines Matching full:pc

65 static inline bool fix_exception(unsigned long pc)  in fix_exception()  argument
73 if (scan_handlers(pc - pcpu_handlers[cpu])) in fix_exception()
77 return scan_handlers(pc - eentry); in fix_exception()
82 * tracing. Prologue analysis will stop soon because PC is at entry.
84 static inline bool fix_ftrace(unsigned long pc) in fix_ftrace() argument
87 return pc == (unsigned long)ftrace_call + LOONGARCH_INSN_SIZE; in fix_ftrace()
95 if (!fix_exception(state->pc) && !fix_ftrace(state->pc)) in unwind_state_fixup()
114 unsigned long size, offset, pc; in unwind_by_prologue() local
126 state->pc = regs->csr_era; in unwind_by_prologue()
133 * When first is not set, the PC is a return address in the previous frame. in unwind_by_prologue()
136 pc = state->pc - (state->first ? 0 : LOONGARCH_INSN_SIZE); in unwind_by_prologue()
137 if (!kallsyms_lookup_size_offset(pc, &size, &offset)) in unwind_by_prologue()
140 ip = (union loongarch_instruction *)(pc - offset); in unwind_by_prologue()
141 ip_end = (union loongarch_instruction *)pc; in unwind_by_prologue()
153 * Can't find stack alloc action, PC may be in a leaf function. Only the in unwind_by_prologue()
173 /* Can't find save $ra action, PC may be in a leaf function, too. */ in unwind_by_prologue()
182 state->pc = *(unsigned long *)(state->sp + frame_ra); in unwind_by_prologue()
187 state->pc = state->ra; in unwind_by_prologue()
191 return unwind_state_fixup(state) || __kernel_text_address(state->pc); in unwind_by_prologue()
196 unsigned long pc; in next_frame() local
205 state->pc = unwind_graph_addr(state, state->pc, state->sp); in next_frame()
211 pc = regs->csr_era; in next_frame()
213 if (user_mode(regs) || !__kernel_text_address(pc)) in next_frame()
217 state->pc = pc; in next_frame()
248 * The current PC is not kernel text address, we cannot find its in unwind_start()
252 if (!__kernel_text_address(state->pc)) { in unwind_start()