Lines Matching defs:ip

78 static inline unsigned long orc_ip(const int *ip)
80 return (unsigned long)ip + *ip;
84 unsigned int num_entries, unsigned long ip)
102 if (orc_ip(mid) <= ip) {
113 static struct orc_entry *orc_module_find(unsigned long ip)
117 mod = __module_address(ip);
121 mod->arch.num_orcs, ip);
124 static struct orc_entry *orc_module_find(unsigned long ip)
131 static struct orc_entry *orc_find(unsigned long ip);
143 static struct orc_entry *orc_ftrace_find(unsigned long ip)
148 ops = ftrace_ops_trampoline(ip);
158 /* Now place tramp_addr to the location within the trampoline ip is at */
159 offset = ip - ops->trampoline;
163 if (ip == tramp_addr)
169 static struct orc_entry *orc_ftrace_find(unsigned long ip)
198 static struct orc_entry *orc_find(unsigned long ip)
202 if (ip == 0)
206 if (ip >= LOOKUP_START_IP && ip < LOOKUP_STOP_IP) {
209 idx = (ip - LOOKUP_START_IP) / LOOKUP_BLOCK_SIZE;
212 orc_warn("WARNING: bad lookup idx: idx=%u num=%u ip=%pB\n",
213 idx, lookup_num_blocks, (void *)ip);
222 orc_warn("WARNING: bad lookup value: idx=%u num=%u start=%u stop=%u ip=%pB\n",
223 idx, lookup_num_blocks, start, stop, (void *)ip);
228 __start_orc_unwind + start, stop - start, ip);
232 if (is_kernel_inittext(ip))
234 __stop_orc_unwind_ip - __start_orc_unwind_ip, ip);
237 orc = orc_module_find(ip);
241 return orc_ftrace_find(ip);
369 return __kernel_text_address(state->ip) ? state->ip : 0;
379 return &state->regs->ip;
411 unsigned long *ip, unsigned long *sp)
421 *ip = READ_ONCE_NOCHECK(regs->ip);
427 unsigned long *ip, unsigned long *sp)
434 *ip = READ_ONCE_NOCHECK(regs->ip);
470 unsigned long ip_p, sp, tmp, orig_ip = state->ip, prev_sp = state->sp;
488 * For a call frame (as opposed to a signal frame), state->ip points to
494 orc = orc_find(state->signal ? state->ip : state->ip - 1);
537 (void *)state->ip);
545 (void *)state->ip);
553 (void *)state->ip);
561 (void *)state->ip);
568 orc->sp_reg, (void *)state->ip);
585 if (!deref_stack_reg(state, ip_p, &state->ip))
588 state->ip = unwind_recover_ret_addr(state, state->ip,
596 if (!deref_stack_regs(state, sp, &state->ip, &state->sp)) {
611 state->ip = unwind_recover_rethook(state, state->ip,
619 if (!deref_stack_iret_regs(state, sp, &state->ip, &state->sp)) {
625 state->ip = unwind_recover_rethook(state, state->ip,
658 orc_warn("unknown BP base reg %d for ip %pB\n",
706 state->ip = regs->ip;
717 : "=r" (state->ip), "=r" (state->sp),
725 state->ip = READ_ONCE_NOCHECK(frame->ret_addr);
726 state->signal = (void *)state->ip == ret_from_fork;