Lines Matching refs:ops

304 create_trampoline(struct ftrace_ops *ops, unsigned int *tramp_size)  in create_trampoline()  argument
323 if (ops->flags & FTRACE_OPS_FL_SAVE_REGS) { in create_trampoline()
363 if (ops->flags & FTRACE_OPS_FL_SAVE_REGS) { in create_trampoline()
382 *ptr = (unsigned long)ops; in create_trampoline()
407 dest = ftrace_ops_get_func(ops); in create_trampoline()
414 ops->flags |= FTRACE_OPS_FL_ALLOC_TRAMP; in create_trampoline()
425 struct ftrace_ops *ops; in set_ftrace_ops_ro() local
431 do_for_each_ftrace_op(ops, ftrace_ops_list) { in set_ftrace_ops_ro()
432 if (!(ops->flags & FTRACE_OPS_FL_ALLOC_TRAMP)) in set_ftrace_ops_ro()
435 if (ops->flags & FTRACE_OPS_FL_SAVE_REGS) { in set_ftrace_ops_ro()
445 set_memory_ro((unsigned long)ops->trampoline, npages); in set_ftrace_ops_ro()
446 } while_for_each_ftrace_op(ops); in set_ftrace_ops_ro()
465 void arch_ftrace_update_trampoline(struct ftrace_ops *ops) in arch_ftrace_update_trampoline() argument
473 if (!ops->trampoline) { in arch_ftrace_update_trampoline()
474 ops->trampoline = create_trampoline(ops, &size); in arch_ftrace_update_trampoline()
475 if (!ops->trampoline) in arch_ftrace_update_trampoline()
477 ops->trampoline_size = size; in arch_ftrace_update_trampoline()
485 if (!(ops->flags & FTRACE_OPS_FL_ALLOC_TRAMP)) in arch_ftrace_update_trampoline()
488 offset = calc_trampoline_call_offset(ops->flags & FTRACE_OPS_FL_SAVE_REGS); in arch_ftrace_update_trampoline()
489 ip = ops->trampoline + offset; in arch_ftrace_update_trampoline()
490 func = ftrace_ops_get_func(ops); in arch_ftrace_update_trampoline()
522 static void *static_tramp_func(struct ftrace_ops *ops, struct dyn_ftrace *rec) in static_tramp_func() argument
528 if (ops && ops->trampoline) { in static_tramp_func()
535 if (ops->trampoline == FTRACE_GRAPH_ADDR) in static_tramp_func()
551 void *arch_ftrace_trampoline_func(struct ftrace_ops *ops, struct dyn_ftrace *rec) in arch_ftrace_trampoline_func() argument
556 if (!ops || !(ops->flags & FTRACE_OPS_FL_ALLOC_TRAMP)) in arch_ftrace_trampoline_func()
557 return static_tramp_func(ops, rec); in arch_ftrace_trampoline_func()
559 offset = calc_trampoline_call_offset(ops->flags & FTRACE_OPS_FL_SAVE_REGS); in arch_ftrace_trampoline_func()
560 return addr_from_call((void *)ops->trampoline + offset); in arch_ftrace_trampoline_func()
563 void arch_ftrace_trampoline_free(struct ftrace_ops *ops) in arch_ftrace_trampoline_free() argument
565 if (!ops || !(ops->flags & FTRACE_OPS_FL_ALLOC_TRAMP)) in arch_ftrace_trampoline_free()
568 tramp_free((void *)ops->trampoline); in arch_ftrace_trampoline_free()
569 ops->trampoline = 0; in arch_ftrace_trampoline_free()