Lines Matching +full:mod +full:- +full:12 +full:b
32 if (unlikely(atomic_read(¤t->tracing_graph_pause))) in prepare_ftrace_return()
45 "4: brid 3b;" \ in prepare_ftrace_return()
49 " .word 1b,4b;" \ in prepare_ftrace_return()
50 " .word 2b,4b;" \ in prepare_ftrace_return()
71 /* save value to addr - it is save to do it in asm */
80 "3: brid 2b;" \ in ftrace_modify_code()
84 " .word 1b,3b;" \ in ftrace_modify_code()
91 return -EFAULT; in ftrace_modify_code()
105 /* There are two approaches howto solve ftrace_make nop function - look below */
112 int ftrace_make_nop(struct module *mod, in ftrace_make_nop() argument
116 * b000c000 imm -16384 in ftrace_make_nop()
117 * b9fc8e30 bralid r15, -29136 // c0008e30 <_mcount> in ftrace_make_nop()
120 * The first solution (!USE_FTRACE_NOP-could be called branch solution) in ftrace_make_nop()
121 * b000c000 bri 12 (0xC - jump to any other instruction) in ftrace_make_nop()
122 * b9fc8e30 bralid r15, -29136 // c0008e30 <_mcount> in ftrace_make_nop()
126 * The second solution (USE_FTRACE_NOP) - no jump just nops in ftrace_make_nop()
135 imm = *(unsigned int *)rec->ip; in ftrace_make_nop()
138 bralid = *(unsigned int *)(rec->ip + 4); in ftrace_make_nop()
144 ret = ftrace_modify_code(rec->ip, MICROBLAZE_NOP); in ftrace_make_nop()
145 ret += ftrace_modify_code(rec->ip + 4, MICROBLAZE_NOP); in ftrace_make_nop()
147 ret = ftrace_modify_code(rec->ip, MICROBLAZE_BRI); in ftrace_make_nop()
156 pr_debug("%s: addr:0x%x, rec->ip: 0x%x, imm:0x%x\n", in ftrace_make_call()
157 __func__, (unsigned int)addr, (unsigned int)rec->ip, imm); in ftrace_make_call()
158 ret = ftrace_modify_code(rec->ip, imm); in ftrace_make_call()
161 ret += ftrace_modify_code(rec->ip + 4, bralid); in ftrace_make_call()