Lines Matching refs:rec
225 static bool ftrace_find_callable_addr(struct dyn_ftrace *rec, in ftrace_find_callable_addr() argument
229 unsigned long pc = rec->ip; in ftrace_find_callable_addr()
284 static const struct ftrace_ops *arm64_rec_get_ops(struct dyn_ftrace *rec) in arm64_rec_get_ops() argument
288 if (rec->flags & FTRACE_FL_CALL_OPS_EN) { in arm64_rec_get_ops()
289 ops = ftrace_find_unique_ops(rec); in arm64_rec_get_ops()
299 static int ftrace_rec_set_ops(const struct dyn_ftrace *rec, in ftrace_rec_set_ops() argument
302 unsigned long literal = ALIGN_DOWN(rec->ip - 12, 8); in ftrace_rec_set_ops()
307 static int ftrace_rec_set_nop_ops(struct dyn_ftrace *rec) in ftrace_rec_set_nop_ops() argument
309 return ftrace_rec_set_ops(rec, &ftrace_nop_ops); in ftrace_rec_set_nop_ops()
312 static int ftrace_rec_update_ops(struct dyn_ftrace *rec) in ftrace_rec_update_ops() argument
314 return ftrace_rec_set_ops(rec, arm64_rec_get_ops(rec)); in ftrace_rec_update_ops()
317 static int ftrace_rec_set_nop_ops(struct dyn_ftrace *rec) { return 0; } in ftrace_rec_set_nop_ops() argument
318 static int ftrace_rec_update_ops(struct dyn_ftrace *rec) { return 0; } in ftrace_rec_update_ops() argument
324 int ftrace_make_call(struct dyn_ftrace *rec, unsigned long addr) in ftrace_make_call() argument
326 unsigned long pc = rec->ip; in ftrace_make_call()
330 ret = ftrace_rec_update_ops(rec); in ftrace_make_call()
334 if (!ftrace_find_callable_addr(rec, NULL, &addr)) in ftrace_make_call()
344 int ftrace_modify_call(struct dyn_ftrace *rec, unsigned long old_addr, in ftrace_modify_call() argument
347 unsigned long pc = rec->ip; in ftrace_modify_call()
351 ret = ftrace_rec_set_ops(rec, arm64_rec_get_ops(rec)); in ftrace_modify_call()
355 if (!ftrace_find_callable_addr(rec, NULL, &old_addr)) in ftrace_modify_call()
357 if (!ftrace_find_callable_addr(rec, NULL, &addr)) in ftrace_modify_call()
391 int ftrace_init_nop(struct module *mod, struct dyn_ftrace *rec) in ftrace_init_nop() argument
393 unsigned long pc = rec->ip - AARCH64_INSN_SIZE; in ftrace_init_nop()
397 ret = ftrace_rec_set_nop_ops(rec); in ftrace_init_nop()
412 int ftrace_make_nop(struct module *mod, struct dyn_ftrace *rec, in ftrace_make_nop() argument
415 unsigned long pc = rec->ip; in ftrace_make_nop()
421 ret = ftrace_rec_set_nop_ops(rec); in ftrace_make_nop()
437 if (!ftrace_find_callable_addr(rec, mod, &addr)) in ftrace_make_nop()