Home
last modified time | relevance | path

Searched refs:tramp (Results 1 – 25 of 25) sorted by relevance

/arch/powerpc/kernel/
A Dstatic_call.c7 void arch_static_call_transform(void *site, void *tramp, void *func, bool tail) in arch_static_call_transform() argument
11 unsigned long _tramp = (unsigned long)tramp; in arch_static_call_transform()
25 else if (tramp) in arch_static_call_transform()
36 else if (tramp) in arch_static_call_transform()
40 } else if (tramp) { in arch_static_call_transform()
42 err = patch_ulong(tramp + PPC_SCT_DATA, _func); in arch_static_call_transform()
48 err = patch_instruction(tramp, ppc_inst(PPC_RAW_BLR())); in arch_static_call_transform()
50 err = patch_branch(tramp, _ret0, 0); in arch_static_call_transform()
52 err = patch_branch(tramp, _func, 0); in arch_static_call_transform()
54 err = patch_instruction(tramp, ppc_inst(PPC_RAW_NOP())); in arch_static_call_transform()
[all …]
A Dsignal_64.c61 unsigned int tramp[TRAMP_SIZE]; member
624 static long setup_trampoline(unsigned int syscall, unsigned int __user *tramp) in setup_trampoline() argument
630 err |= __put_user(PPC_RAW_BCTRL(), &tramp[0]); in setup_trampoline()
631 err |= __put_user(PPC_RAW_ADDI(_R1, _R1, __SIGNAL_FRAMESIZE), &tramp[1]); in setup_trampoline()
633 err |= __put_user(PPC_RAW_LI(_R0, syscall), &tramp[2]); in setup_trampoline()
634 err |= __put_user(PPC_RAW_SC(), &tramp[3]); in setup_trampoline()
638 err |= __put_user(0, &tramp[i]); in setup_trampoline()
641 flush_icache_range((unsigned long) &tramp[0], in setup_trampoline()
642 (unsigned long) &tramp[TRAMP_SIZE]); in setup_trampoline()
927 err |= setup_trampoline(__NR_rt_sigreturn, &frame->tramp[0]); in handle_rt_signal64()
[all …]
A Dsignal_32.c743 unsigned long tramp; in handle_rt_signal32() local
786 tramp = VDSO32_SYMBOL(tsk->mm->context.vdso, sigtramp_rt32); in handle_rt_signal32()
788 tramp = (unsigned long)mctx->mc_pad; in handle_rt_signal32()
800 regs->link = tramp; in handle_rt_signal32()
843 unsigned long tramp; in handle_signal32() local
882 tramp = VDSO32_SYMBOL(tsk->mm->context.vdso, sigtramp32); in handle_signal32()
884 tramp = (unsigned long)mctx->mc_pad; in handle_signal32()
891 regs->link = tramp; in handle_signal32()
A Dvmlinux.lds.S104 *(.tramp.ftrace.text);
261 *(.tramp.ftrace.init);
A Dmodule_32.c324 module->arch.tramp = do_plt_call(module->mem[MOD_TEXT].base, in module_finalize_ftrace()
327 if (!module->arch.tramp) in module_finalize_ftrace()
A Dmodule_64.c1151 mod->arch.tramp = stub_for_addr(sechdrs, in module_finalize_ftrace()
1164 if (!mod->arch.tramp) in module_finalize_ftrace()
1167 if (setup_ftrace_ool_stubs(sechdrs, mod->arch.tramp, mod)) in module_finalize_ftrace()
/arch/powerpc/kernel/trace/
A Dftrace_64_pg.c135 unsigned long entry, ptr, tramp; in __ftrace_make_nop() local
158 tramp = find_bl_target(ip, op); in __ftrace_make_nop()
263 ftrace_tramps[i] = tramp; in add_ftrace_tramp()
284 if (ftrace_tramps[i] == tramp) in setup_mcount_compiler_tramp()
318 if (add_ftrace_tramp(tramp)) { in setup_mcount_compiler_tramp()
431 if (!mod->arch.tramp || in __ftrace_make_call()
438 tramp = mod->arch.tramp_regs; in __ftrace_make_call()
440 tramp = mod->arch.tramp; in __ftrace_make_call()
501 if (!tramp) { in __ftrace_make_call_kernel()
577 if (tramp != entry) { in __ftrace_modify_call()
[all …]
A Dftrace.c260 mod->arch.tramp, 1); in ftrace_init_ool_stub()
580 ftrace_tramps[i] = tramp; in add_ftrace_tramp()
614 reladdr = addr - (unsigned long)tramp[i]; in ftrace_dyn_arch_init()
623 tramp[i][0] |= IMM_H18(reladdr); in ftrace_dyn_arch_init()
624 tramp[i][1] |= IMM_L(reladdr); in ftrace_dyn_arch_init()
625 add_ftrace_tramp((unsigned long)tramp[i]); in ftrace_dyn_arch_init()
638 tramp[i][1] |= PPC_HA(reladdr); in ftrace_dyn_arch_init()
639 tramp[i][2] |= PPC_LO(reladdr); in ftrace_dyn_arch_init()
640 add_ftrace_tramp((unsigned long)tramp[i]); in ftrace_dyn_arch_init()
645 tramp[i][0] |= PPC_HA(addr); in ftrace_dyn_arch_init()
[all …]
/arch/x86/kernel/
A Dstatic_call.c114 static void __static_call_validate(u8 *insn, bool tail, bool tramp) in __static_call_validate() argument
118 if (tramp && memcmp(insn+5, tramp_ud, 3)) { in __static_call_validate()
161 if (tramp && !site) { in arch_static_call_transform()
162 __static_call_validate(tramp, true, true); in arch_static_call_transform()
163 __static_call_transform(tramp, __sc_insn(!func, true), func, false); in arch_static_call_transform()
175 noinstr void __static_call_update_early(void *tramp, void *func) in __static_call_update_early() argument
179 __text_gen_insn(tramp, JMP32_INSN_OPCODE, tramp, func, JMP32_INSN_SIZE); in __static_call_update_early()
195 bool __static_call_fixup(void *tramp, u8 op, void *dest) in __static_call_fixup() argument
197 unsigned long addr = (unsigned long)tramp; in __static_call_fixup()
210 if (memcmp(tramp+5, tramp_ud, 3)) { in __static_call_fixup()
[all …]
A Duprobes.c360 static unsigned long trampoline_check_ip(unsigned long tramp) in trampoline_check_ip() argument
362 return tramp + (uretprobe_syscall_check - uretprobe_trampoline_entry); in trampoline_check_ip()
368 unsigned long err, ip, sp, r11_cx_ax[3], tramp; in SYSCALL_DEFINE0() local
371 tramp = uprobe_get_trampoline_vaddr(); in SYSCALL_DEFINE0()
372 if (unlikely(tramp == UPROBE_NO_TRAMPOLINE_VADDR)) in SYSCALL_DEFINE0()
376 if (unlikely(regs->ip != trampoline_check_ip(tramp))) in SYSCALL_DEFINE0()
A Dftrace.c268 static inline void tramp_free(void *tramp) in tramp_free() argument
270 execmem_free(tramp); in tramp_free()
/arch/loongarch/kernel/
A Dmodule-sections.c108 Elf_Shdr *got_sec, *plt_sec, *plt_idx_sec, *tramp = NULL; in module_frob_arch_sections() local
121 tramp = sechdrs + i; in module_frob_arch_sections()
177 if (tramp) { in module_frob_arch_sections()
178 tramp->sh_type = SHT_NOBITS; in module_frob_arch_sections()
179 tramp->sh_flags = SHF_EXECINSTR | SHF_ALLOC; in module_frob_arch_sections()
180 tramp->sh_addralign = __alignof__(struct plt_entry); in module_frob_arch_sections()
181 tramp->sh_size = NR_FTRACE_PLTS * sizeof(struct plt_entry); in module_frob_arch_sections()
/arch/microblaze/kernel/
A Dsignal.c48 unsigned long tramp[2]; /* signal trampoline */ member
54 unsigned long tramp[2]; /* signal trampoline */ member
184 frame->tramp + 0); in setup_rt_frame()
186 err |= __put_user(0xb9cc0008, frame->tramp + 1); in setup_rt_frame()
190 regs->r15 = ((unsigned long)frame->tramp)-8; in setup_rt_frame()
192 address = ((unsigned long)frame->tramp); in setup_rt_frame()
200 address += ((unsigned long)frame->tramp) & ~PAGE_MASK; in setup_rt_frame()
/arch/parisc/kernel/
A Dftrace.c116 u32 *tramp; in ftrace_make_call() local
160 tramp = ftrace_trampoline; in ftrace_make_call()
165 tramp = ftrace_trampoline_unaligned; in ftrace_make_call()
180 __patch_text_multiple(ip, tramp, size); in ftrace_make_call()
A Dsignal32.h40 unsigned int tramp[2]; /* holds original return address */ member
/arch/arm64/kernel/
A Dmodule-plts.c286 Elf_Shdr *pltsec, *tramp = NULL; in module_frob_arch_sections() local
300 tramp = sechdrs + i; in module_frob_arch_sections()
359 if (tramp) { in module_frob_arch_sections()
360 tramp->sh_type = SHT_NOBITS; in module_frob_arch_sections()
361 tramp->sh_flags = SHF_EXECINSTR | SHF_ALLOC; in module_frob_arch_sections()
362 tramp->sh_addralign = __alignof__(struct plt_entry); in module_frob_arch_sections()
363 tramp->sh_size = NR_FTRACE_PLTS * sizeof(struct plt_entry); in module_frob_arch_sections()
A Dvmlinux.lds.S128 *(.entry.tramp.text) \
131 *(.entry.tramp.rodata)
A Dentry.S104 .set .Lalias\@, TRAMP_VALIAS + \sym - .entry.tramp.text
/arch/powerpc/tools/
A Dftrace-gen-ool-stubs.sh35 .pushsection .tramp.ftrace.text,"aw"
45 .pushsection .tramp.ftrace.init,"aw"
/arch/x86/include/asm/
A Dstatic_call.h66 extern bool __static_call_fixup(void *tramp, u8 op, void *dest);
68 extern void __static_call_update_early(void *tramp, void *func);
/arch/powerpc/perf/
A Dcallchain_64.c33 unsigned int tramp[6]; member
42 if (nip == fp + offsetof(struct signal_frame_64, tramp)) in is_sigreturn_64_address()
/arch/parisc/include/asm/
A Drt_sigframe.h6 unsigned int tramp[2]; /* holds original return address */ member
/arch/powerpc/include/asm/
A Dmodule.h50 unsigned long tramp; member
/arch/hexagon/kernel/
A Dsignal.c22 unsigned long tramp[2]; member
114 err |= __put_user(0x7800d166, &frame->tramp[0]); in setup_rt_frame()
115 err |= __put_user(0x5400c004, &frame->tramp[1]); in setup_rt_frame()
/arch/x86/platform/efi/
A Defi_64.c181 unsigned long pfn, text, pf, rodata, tramp; in efi_setup_page_tables() local
259 tramp = __pa(__efi64_thunk_ret_tramp); in efi_setup_page_tables()
260 pfn = tramp >> PAGE_SHIFT; in efi_setup_page_tables()
263 if (kernel_map_pages_in_pgd(pgd, pfn, tramp, 1, pf)) { in efi_setup_page_tables()

Completed in 695 milliseconds