Lines Matching refs:trampoline
730 void *trampoline; in create_trampoline() local
753 trampoline = alloc_tramp(size + MCOUNT_INSN_SIZE + sizeof(void *)); in create_trampoline()
754 if (!trampoline) in create_trampoline()
760 ret = probe_kernel_read(trampoline, (void *)start_offset, size); in create_trampoline()
762 tramp_free(trampoline); in create_trampoline()
766 ip = (unsigned long)trampoline + size; in create_trampoline()
770 memcpy(trampoline + size, jmp, MCOUNT_INSN_SIZE); in create_trampoline()
780 ptr = (unsigned long *)(trampoline + size + MCOUNT_INSN_SIZE); in create_trampoline()
784 memcpy(&op_ptr, trampoline + op_offset, OP_REF_SIZE); in create_trampoline()
788 tramp_free(trampoline); in create_trampoline()
794 offset -= (unsigned long)trampoline + op_offset + OP_REF_SIZE; in create_trampoline()
799 memcpy(trampoline + op_offset, &op_ptr, OP_REF_SIZE); in create_trampoline()
804 return (unsigned long)trampoline; in create_trampoline()
832 if (ops->trampoline) { in arch_ftrace_update_trampoline()
840 ops->trampoline = create_trampoline(ops, &size); in arch_ftrace_update_trampoline()
841 if (!ops->trampoline) in arch_ftrace_update_trampoline()
847 ip = ops->trampoline + offset; in arch_ftrace_update_trampoline()
891 if (ops && ops->trampoline) { in static_tramp_func()
897 if (ops->trampoline == FTRACE_GRAPH_ADDR) in static_tramp_func()
922 return addr_from_call((void *)ops->trampoline + offset); in arch_ftrace_trampoline_func()
930 tramp_free((void *)ops->trampoline); in arch_ftrace_trampoline_free()
931 ops->trampoline = 0; in arch_ftrace_trampoline_free()