Home
last modified time | relevance | path

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

/linux/arch/powerpc/kernel/trace/
A Dftrace.c227 unsigned long tramp; in __ftrace_make_nop() local
270 if (tramp & 0x8000) in __ftrace_make_nop()
271 tramp -= 0x10000; in __ftrace_make_nop()
273 pr_devel(" %lx ", tramp); in __ftrace_make_nop()
275 if (tramp != addr) { in __ftrace_make_nop()
277 tramp); in __ftrace_make_nop()
545 if (!mod->arch.tramp) {
556 tramp = mod->arch.tramp;
661 if (!tramp) {
745 if (tramp != entry) {
[all …]
/linux/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 target = (unsigned long)(is_ret0 ? tramp + PPC_SCT_RET0 : func); in arch_static_call_transform()
12 bool is_short = is_offset_in_branch_range((long)target - (long)tramp); in arch_static_call_transform()
14 if (!tramp) in arch_static_call_transform()
20 err = patch_instruction(tramp + PPC_SCT_DATA, ppc_inst(target)); in arch_static_call_transform()
26 err = patch_instruction(tramp, ppc_inst(PPC_RAW_BLR())); in arch_static_call_transform()
28 err = patch_branch(tramp, target, 0); in arch_static_call_transform()
30 err = patch_instruction(tramp, ppc_inst(PPC_RAW_NOP())); in arch_static_call_transform()
35 panic("%s: patching failed %pS at %pS\n", __func__, func, tramp); in arch_static_call_transform()
A Dsignal_64.c61 unsigned int tramp[TRAMP_SIZE]; member
616 static long setup_trampoline(unsigned int syscall, unsigned int __user *tramp) in setup_trampoline() argument
622 err |= __put_user(PPC_RAW_BCTRL(), &tramp[0]); in setup_trampoline()
623 err |= __put_user(PPC_RAW_ADDI(_R1, _R1, __SIGNAL_FRAMESIZE), &tramp[1]); in setup_trampoline()
625 err |= __put_user(PPC_RAW_LI(_R0, syscall), &tramp[2]); in setup_trampoline()
626 err |= __put_user(PPC_RAW_SC(), &tramp[3]); in setup_trampoline()
630 err |= __put_user(0, &tramp[i]); in setup_trampoline()
633 flush_icache_range((unsigned long) &tramp[0], in setup_trampoline()
634 (unsigned long) &tramp[TRAMP_SIZE]); in setup_trampoline()
919 err |= setup_trampoline(__NR_rt_sigreturn, &frame->tramp[0]); in handle_rt_signal64()
[all …]
A Dsignal_32.c730 unsigned long tramp; in handle_rt_signal32() local
773 tramp = VDSO32_SYMBOL(tsk->mm->context.vdso, sigtramp_rt32); in handle_rt_signal32()
775 tramp = (unsigned long)mctx->mc_pad; in handle_rt_signal32()
787 regs->link = tramp; in handle_rt_signal32()
830 unsigned long tramp; in handle_signal32() local
869 tramp = VDSO32_SYMBOL(tsk->mm->context.vdso, sigtramp32); in handle_signal32()
871 tramp = (unsigned long)mctx->mc_pad; in handle_signal32()
878 regs->link = tramp; in handle_signal32()
A Dmodule_32.c278 module->arch.tramp = do_plt_call(module->core_layout.base, in module_finalize_ftrace()
281 if (!module->arch.tramp) in module_finalize_ftrace()
A Dvmlinux.lds.S106 *(.tramp.ftrace.text);
230 *(.tramp.ftrace.init);
A Dmodule_64.c788 mod->arch.tramp = stub_for_addr(sechdrs, in module_finalize_ftrace()
801 if (!mod->arch.tramp) in module_finalize_ftrace()
/linux/arch/x86/kernel/
A Dstatic_call.c59 static void __static_call_validate(void *insn, bool tail, bool tramp) in __static_call_validate() argument
63 if (tramp && memcmp(insn+5, "SCT", 3)) { in __static_call_validate()
101 void arch_static_call_transform(void *site, void *tramp, void *func, bool tail) in arch_static_call_transform() argument
105 if (tramp) { in arch_static_call_transform()
106 __static_call_validate(tramp, true, true); in arch_static_call_transform()
107 __static_call_transform(tramp, __sc_insn(!func, true), func); in arch_static_call_transform()
A Dftrace.c265 static inline void tramp_free(void *tramp) in tramp_free() argument
267 module_memfree(tramp); in tramp_free()
275 static inline void tramp_free(void *tramp) { } in tramp_free() argument
/linux/include/linux/
A Dstatic_call.h144 extern void arch_static_call_transform(void *site, void *tramp, void *func, bool tail);
173 s32 tramp; member
177 extern void __static_call_update(struct static_call_key *key, void *tramp, void *func);
238 void __static_call_update(struct static_call_key *key, void *tramp, void *func) in __static_call_update() argument
242 arch_static_call_transform(NULL, tramp, func, false); in __static_call_update()
315 void __static_call_update(struct static_call_key *key, void *tramp, void *func) in __static_call_update() argument
/linux/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()
/linux/arch/arm64/kernel/
A Dmodule-plts.c296 Elf_Shdr *pltsec, *tramp = NULL; in module_frob_arch_sections() local
310 tramp = sechdrs + i; in module_frob_arch_sections()
369 if (tramp) { in module_frob_arch_sections()
370 tramp->sh_type = SHT_NOBITS; in module_frob_arch_sections()
371 tramp->sh_flags = SHF_EXECINSTR | SHF_ALLOC; in module_frob_arch_sections()
372 tramp->sh_addralign = __alignof__(struct plt_entry); in module_frob_arch_sections()
373 tramp->sh_size = NR_FTRACE_PLTS * sizeof(struct plt_entry); in module_frob_arch_sections()
A Dvmlinux.lds.S118 *(.entry.tramp.text) \
A Dvmlinux.lds31 …. = ALIGN((1 << 12)); __entry_tramp_text_start = .; *(.entry.tramp.text) . = ALIGN((1 << 12)); __e…
A Dentry.S102 add \dst, \dst, #(\sym - .entry.tramp.text)
/linux/kernel/
A Dstatic_call.c123 void __static_call_update(struct static_call_key *key, void *tramp, void *func) in __static_call_update() argument
136 arch_static_call_transform(NULL, tramp, func, false); in __static_call_update()
343 unsigned long tramp; in tramp_key_lookup() local
345 tramp = (long)tramp_key->tramp + (long)&tramp_key->tramp; in tramp_key_lookup()
346 if (tramp == addr) in tramp_key_lookup()
/linux/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 Dsignal.c293 &frame->tramp[SIGRESTARTBLOCK_TRAMP+0]); in setup_rt_frame()
295 &frame->tramp[SIGRESTARTBLOCK_TRAMP+1]); in setup_rt_frame()
297 &frame->tramp[SIGRESTARTBLOCK_TRAMP+2]); in setup_rt_frame()
298 err |= __put_user(INSN_NOP, &frame->tramp[SIGRESTARTBLOCK_TRAMP+3]); in setup_rt_frame()
300 start = (unsigned long) &frame->tramp[0]; in setup_rt_frame()
301 end = (unsigned long) &frame->tramp[TRAMP_SIZE]; in setup_rt_frame()
309 rp = (unsigned long) &frame->tramp[SIGRESTARTBLOCK_TRAMP]; in setup_rt_frame()
A Dsignal32.h49 compat_uint_t tramp[COMPAT_TRAMP_SIZE]; member
/linux/arch/powerpc/perf/
A Dcallchain_64.c60 unsigned int tramp[6]; member
69 if (nip == fp + offsetof(struct signal_frame_64, tramp)) in is_sigreturn_64_address()
/linux/arch/hexagon/kernel/
A Dsignal.c23 unsigned long tramp[2]; member
115 err |= __put_user(0x7800d166, &frame->tramp[0]); in setup_rt_frame()
116 err |= __put_user(0x5400c004, &frame->tramp[1]); in setup_rt_frame()
/linux/arch/parisc/include/asm/
A Drt_sigframe.h14 unsigned int tramp[TRAMP_SIZE]; member
/linux/arch/powerpc/include/asm/
A Dmodule.h43 unsigned long tramp; member

Completed in 35 milliseconds