Lines Matching refs:trampoline
726 void *trampoline; in create_trampoline() local
749 trampoline = alloc_tramp(size + MCOUNT_INSN_SIZE + sizeof(void *)); in create_trampoline()
750 if (!trampoline) in create_trampoline()
756 ret = probe_kernel_read(trampoline, (void *)start_offset, size); in create_trampoline()
758 tramp_free(trampoline); in create_trampoline()
762 ip = (unsigned long)trampoline + size; in create_trampoline()
766 memcpy(trampoline + size, jmp, MCOUNT_INSN_SIZE); in create_trampoline()
776 ptr = (unsigned long *)(trampoline + size + MCOUNT_INSN_SIZE); in create_trampoline()
780 memcpy(&op_ptr, trampoline + op_offset, OP_REF_SIZE); in create_trampoline()
784 tramp_free(trampoline); in create_trampoline()
790 offset -= (unsigned long)trampoline + op_offset + OP_REF_SIZE; in create_trampoline()
795 memcpy(trampoline + op_offset, &op_ptr, OP_REF_SIZE); in create_trampoline()
800 return (unsigned long)trampoline; in create_trampoline()
828 if (ops->trampoline) { in arch_ftrace_update_trampoline()
836 ops->trampoline = create_trampoline(ops, &size); in arch_ftrace_update_trampoline()
837 if (!ops->trampoline) in arch_ftrace_update_trampoline()
843 ip = ops->trampoline + offset; in arch_ftrace_update_trampoline()
887 if (ops && ops->trampoline) { in static_tramp_func()
893 if (ops->trampoline == FTRACE_GRAPH_ADDR) in static_tramp_func()
918 return addr_from_call((void *)ops->trampoline + offset); in arch_ftrace_trampoline_func()
926 tramp_free((void *)ops->trampoline); in arch_ftrace_trampoline_free()
927 ops->trampoline = 0; in arch_ftrace_trampoline_free()