Lines Matching refs:trampoline

325 	void *trampoline;  in create_trampoline()  local
354 trampoline = alloc_tramp(size + RET_SIZE + sizeof(void *)); in create_trampoline()
355 if (!trampoline) in create_trampoline()
362 ret = copy_from_kernel_nofault(trampoline, (void *)start_offset, size); in create_trampoline()
366 ip = trampoline + size; in create_trampoline()
375 ip = trampoline + (jmp_offset - start_offset); in create_trampoline()
391 ptr = (unsigned long *)(trampoline + size + RET_SIZE); in create_trampoline()
395 memcpy(&op_ptr, trampoline + op_offset, OP_REF_SIZE); in create_trampoline()
403 offset -= (unsigned long)trampoline + op_offset + OP_REF_SIZE; in create_trampoline()
408 memcpy(trampoline + op_offset, &op_ptr, OP_REF_SIZE); in create_trampoline()
418 memcpy(trampoline + call_offset, in create_trampoline()
419 text_gen_insn(CALL_INSN_OPCODE, trampoline + call_offset, dest), in create_trampoline()
426 set_memory_rox((unsigned long)trampoline, npages); in create_trampoline()
427 return (unsigned long)trampoline; in create_trampoline()
429 tramp_free(trampoline); in create_trampoline()
455 set_memory_ro((unsigned long)ops->trampoline, npages); in set_ftrace_ops_ro()
483 if (!ops->trampoline) { in arch_ftrace_update_trampoline()
484 ops->trampoline = create_trampoline(ops, &size); in arch_ftrace_update_trampoline()
485 if (!ops->trampoline) in arch_ftrace_update_trampoline()
499 ip = ops->trampoline + offset; in arch_ftrace_update_trampoline()
541 if (ops && ops->trampoline) { in static_tramp_func()
548 if (ops->trampoline == FTRACE_GRAPH_ADDR) in static_tramp_func()
573 return addr_from_call((void *)ops->trampoline + offset); in arch_ftrace_trampoline_func()
581 tramp_free((void *)ops->trampoline); in arch_ftrace_trampoline_free()
582 ops->trampoline = 0; in arch_ftrace_trampoline_free()