Lines Matching refs:ip
34 ftrace_call_replace(unsigned long ip, unsigned long addr, int link) in ftrace_call_replace() argument
41 op = create_branch((unsigned int *)ip, addr, link ? 1 : 0); in ftrace_call_replace()
47 ftrace_modify_code(unsigned long ip, unsigned int old, unsigned int new) in ftrace_modify_code() argument
60 if (probe_kernel_read(&replaced, (void *)ip, MCOUNT_INSN_SIZE)) in ftrace_modify_code()
66 (void *)ip, replaced, old); in ftrace_modify_code()
71 if (patch_instruction((unsigned int *)ip, new)) in ftrace_modify_code()
80 static int test_24bit_addr(unsigned long ip, unsigned long addr) in test_24bit_addr() argument
85 return create_branch((unsigned int *)ip, addr, 0); in test_24bit_addr()
95 static unsigned long find_bl_target(unsigned long ip, unsigned int op) in find_bl_target() argument
104 return ip + (long)offset; in find_bl_target()
113 unsigned long ip = rec->ip; in __ftrace_make_nop() local
117 if (probe_kernel_read(&op, (void *)ip, sizeof(int))) { in __ftrace_make_nop()
129 tramp = find_bl_target(ip, op); in __ftrace_make_nop()
131 pr_devel("ip:%lx jumps to %lx", ip, tramp); in __ftrace_make_nop()
151 if (probe_kernel_read(&op, (void *)(ip - 4), 4)) { in __ftrace_make_nop()
152 pr_err("Fetching instruction at %lx failed.\n", ip - 4); in __ftrace_make_nop()
182 if (probe_kernel_read(&op, (void *)(ip+4), MCOUNT_INSN_SIZE)) { in __ftrace_make_nop()
193 if (patch_instruction((unsigned int *)ip, pop)) { in __ftrace_make_nop()
208 unsigned long ip = rec->ip; in __ftrace_make_nop() local
211 if (probe_kernel_read(&op, (void *)ip, MCOUNT_INSN_SIZE)) in __ftrace_make_nop()
221 tramp = find_bl_target(ip, op); in __ftrace_make_nop()
231 pr_devel("ip:%lx jumps to %lx", ip, tramp); in __ftrace_make_nop()
265 if (patch_instruction((unsigned int *)ip, op)) in __ftrace_make_nop()
276 unsigned long ip = rec->ip; in ftrace_make_nop() local
284 if (test_24bit_addr(ip, addr)) { in ftrace_make_nop()
286 old = ftrace_call_replace(ip, addr, 1); in ftrace_make_nop()
288 return ftrace_modify_code(ip, old, new); in ftrace_make_nop()
329 expected_nop_sequence(void *ip, unsigned int op0, unsigned int op1) in expected_nop_sequence() argument
346 expected_nop_sequence(void *ip, unsigned int op0, unsigned int op1) in expected_nop_sequence() argument
359 void *ip = (void *)rec->ip; local
364 if (probe_kernel_read(op, ip, sizeof(op)))
367 if (!expected_nop_sequence(ip, op[0], op[1])) {
369 ip, op[0], op[1]);
405 if (!create_branch(ip, tramp, BRANCH_SET_LINK)) {
410 if (patch_branch(ip, tramp, BRANCH_SET_LINK)) {
423 unsigned long ip = rec->ip; local
426 if (probe_kernel_read(&op, (void *)ip, MCOUNT_INSN_SIZE))
442 op = create_branch((unsigned int *)ip,
449 pr_devel("write to %lx\n", rec->ip);
451 if (patch_instruction((unsigned int *)ip, op))
461 unsigned long ip = rec->ip; local
469 if (test_24bit_addr(ip, addr)) {
472 new = ftrace_call_replace(ip, addr, 1);
473 return ftrace_modify_code(ip, old, new);
501 unsigned long ip = rec->ip; local
512 if (probe_kernel_read(&op, (void *)ip, sizeof(int))) {
524 tramp = find_bl_target(ip, op);
527 pr_devel("ip:%lx jumps to %lx", ip, tramp);
546 if (test_24bit_addr(ip, addr)) {
548 if (patch_branch((unsigned int *)ip, addr, BRANCH_SET_LINK)) {
576 if (!create_branch((unsigned int *)ip, tramp, BRANCH_SET_LINK)) {
581 if (patch_branch((unsigned int *)ip, tramp, BRANCH_SET_LINK)) {
593 unsigned long ip = rec->ip; local
601 if (test_24bit_addr(ip, addr) && test_24bit_addr(ip, old_addr)) {
603 old = ftrace_call_replace(ip, old_addr, 1);
604 new = ftrace_call_replace(ip, addr, 1);
605 return ftrace_modify_code(ip, old, new);
627 unsigned long ip = (unsigned long)(&ftrace_call); local
632 new = ftrace_call_replace(ip, (unsigned long)func, 1);
633 ret = ftrace_modify_code(ip, old, new);
638 ip = (unsigned long)(&ftrace_regs_call);
640 new = ftrace_call_replace(ip, (unsigned long)func, 1);
641 ret = ftrace_modify_code(ip, old, new);
670 unsigned long ip = (unsigned long)(&ftrace_graph_call); local
675 old = ftrace_call_replace(ip, stub, 0);
676 new = ftrace_call_replace(ip, addr, 0);
678 return ftrace_modify_code(ip, old, new);
683 unsigned long ip = (unsigned long)(&ftrace_graph_call); local
688 old = ftrace_call_replace(ip, addr, 0);
689 new = ftrace_call_replace(ip, stub, 0);
691 return ftrace_modify_code(ip, old, new);
698 unsigned long prepare_ftrace_return(unsigned long parent, unsigned long ip) argument
711 trace.func = ip;
718 if (ftrace_push_return_trace(parent, ip, &trace.depth, 0,