Lines Matching refs:rec

138 		    struct dyn_ftrace *rec, unsigned long addr)  in ftrace_make_nop()  argument
141 unsigned long ip = rec->ip; in ftrace_make_nop()
155 return ftrace_modify_code_direct(rec->ip, old, new); in ftrace_make_nop()
162 int ftrace_make_call(struct dyn_ftrace *rec, unsigned long addr) in ftrace_make_call() argument
165 unsigned long ip = rec->ip; in ftrace_make_call()
171 return ftrace_modify_code_direct(rec->ip, old, new); in ftrace_make_call()
219 int ftrace_modify_call(struct dyn_ftrace *rec, unsigned long old_addr, in ftrace_modify_call() argument
324 static int add_brk_on_call(struct dyn_ftrace *rec, unsigned long addr) in add_brk_on_call() argument
327 unsigned long ip = rec->ip; in add_brk_on_call()
331 return add_break(rec->ip, old); in add_brk_on_call()
335 static int add_brk_on_nop(struct dyn_ftrace *rec) in add_brk_on_nop() argument
341 return add_break(rec->ip, old); in add_brk_on_nop()
344 static int add_breakpoints(struct dyn_ftrace *rec, int enable) in add_breakpoints() argument
349 ftrace_addr = ftrace_get_addr_curr(rec); in add_breakpoints()
351 ret = ftrace_test_record(rec, enable); in add_breakpoints()
359 return add_brk_on_nop(rec); in add_breakpoints()
364 return add_brk_on_call(rec, ftrace_addr); in add_breakpoints()
377 static int remove_breakpoint(struct dyn_ftrace *rec) in remove_breakpoint() argument
383 unsigned long ip = rec->ip; in remove_breakpoint()
406 ftrace_addr = ftrace_get_addr_new(rec); in remove_breakpoint()
413 ftrace_addr = ftrace_get_addr_curr(rec); in remove_breakpoint()
432 static int add_update_call(struct dyn_ftrace *rec, unsigned long addr) in add_update_call() argument
434 unsigned long ip = rec->ip; in add_update_call()
441 static int add_update_nop(struct dyn_ftrace *rec) in add_update_nop() argument
443 unsigned long ip = rec->ip; in add_update_nop()
450 static int add_update(struct dyn_ftrace *rec, int enable) in add_update() argument
455 ret = ftrace_test_record(rec, enable); in add_update()
457 ftrace_addr = ftrace_get_addr_new(rec); in add_update()
466 return add_update_call(rec, ftrace_addr); in add_update()
470 return add_update_nop(rec); in add_update()
476 static int finish_update_call(struct dyn_ftrace *rec, unsigned long addr) in finish_update_call() argument
478 unsigned long ip = rec->ip; in finish_update_call()
486 static int finish_update_nop(struct dyn_ftrace *rec) in finish_update_nop() argument
488 unsigned long ip = rec->ip; in finish_update_nop()
496 static int finish_update(struct dyn_ftrace *rec, int enable) in finish_update() argument
501 ret = ftrace_update_record(rec, enable); in finish_update()
503 ftrace_addr = ftrace_get_addr_new(rec); in finish_update()
512 return finish_update_call(rec, ftrace_addr); in finish_update()
516 return finish_update_nop(rec); in finish_update()
542 struct dyn_ftrace *rec; in ftrace_replace_code() local
548 rec = ftrace_rec_iter_record(iter); in ftrace_replace_code()
550 ret = add_breakpoints(rec, enable); in ftrace_replace_code()
562 rec = ftrace_rec_iter_record(iter); in ftrace_replace_code()
564 ret = add_update(rec, enable); in ftrace_replace_code()
576 rec = ftrace_rec_iter_record(iter); in ftrace_replace_code()
578 ret = finish_update(rec, enable); in ftrace_replace_code()
590 ftrace_bug(ret, rec); in ftrace_replace_code()
592 rec = ftrace_rec_iter_record(iter); in ftrace_replace_code()
597 if (remove_breakpoint(rec)) in ftrace_replace_code()
885 static void *static_tramp_func(struct ftrace_ops *ops, struct dyn_ftrace *rec) in static_tramp_func() argument
888 bool save_regs = rec->flags & FTRACE_FL_REGS_EN; in static_tramp_func()
913 void *arch_ftrace_trampoline_func(struct ftrace_ops *ops, struct dyn_ftrace *rec) in arch_ftrace_trampoline_func() argument
919 return static_tramp_func(ops, rec); in arch_ftrace_trampoline_func()