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

/linux-master/arch/powerpc/kernel/
H A Dstatic_call.c7 void arch_static_call_transform(void *site, void *tramp, void *func, bool tail) argument
11 unsigned long target = (unsigned long)(is_ret0 ? tramp + PPC_SCT_RET0 : func);
12 bool is_short = is_offset_in_branch_range((long)target - (long)tramp);
14 if (!tramp)
20 err = patch_instruction(tramp + PPC_SCT_DATA, ppc_inst(target));
26 err = patch_instruction(tramp, ppc_inst(PPC_RAW_BLR()));
28 err = patch_branch(tramp, target, 0);
30 err = patch_instruction(tramp, ppc_inst(PPC_RAW_NOP()));
35 panic("%s: patching failed %pS at %pS\n", __func__, func, tramp);
H A Dsignal_64.c61 unsigned int tramp[TRAMP_SIZE]; member in struct:rt_sigframe
624 static long setup_trampoline(unsigned int syscall, unsigned int __user *tramp) argument
630 err |= __put_user(PPC_RAW_BCTRL(), &tramp[0]);
631 err |= __put_user(PPC_RAW_ADDI(_R1, _R1, __SIGNAL_FRAMESIZE), &tramp[1]);
633 err |= __put_user(PPC_RAW_LI(_R0, syscall), &tramp[2]);
634 err |= __put_user(PPC_RAW_SC(), &tramp[3]);
638 err |= __put_user(0, &tramp[i]);
641 flush_icache_range((unsigned long) &tramp[0],
642 (unsigned long) &tramp[TRAMP_SIZE]);
927 err |= setup_trampoline(__NR_rt_sigreturn, &frame->tramp[
[all...]
H A Dsignal_32.c743 unsigned long tramp; local
786 tramp = VDSO32_SYMBOL(tsk->mm->context.vdso, sigtramp_rt32);
788 tramp = (unsigned long)mctx->mc_pad;
800 regs->link = tramp;
843 unsigned long tramp; local
882 tramp = VDSO32_SYMBOL(tsk->mm->context.vdso, sigtramp32);
884 tramp = (unsigned long)mctx->mc_pad;
891 regs->link = tramp;
H A Dmodule_32.c324 module->arch.tramp = do_plt_call(module->mem[MOD_TEXT].base,
327 if (!module->arch.tramp)
H A Dvmlinux.lds.S110 *(.tramp.ftrace.text);
277 *(.tramp.ftrace.init);
H A Dmodule_64.c1091 mod->arch.tramp = stub_for_addr(sechdrs,
1104 if (!mod->arch.tramp)
/linux-master/arch/parisc/include/asm/
H A Drt_sigframe.h6 unsigned int tramp[2]; /* holds original return address */ member in struct:rt_sigframe
/linux-master/arch/powerpc/kernel/trace/
H A Dftrace_64_pg.c32 * We generally only have a single long_branch tramp and at most 2 or 3 plt
123 unsigned long entry, ptr, tramp; local
140 tramp = find_bl_target(ip, op);
142 pr_devel("ip:%lx jumps to %lx", ip, tramp);
144 if (module_trampoline_target(mod, tramp, &ptr)) {
193 * bl <tramp>
239 static int add_ftrace_tramp(unsigned long tramp) argument
245 ftrace_tramps[i] = tramp;
258 static int setup_mcount_compiler_tramp(unsigned long tramp) argument
264 /* Is this a known long jump tramp
310 unsigned long tramp, ip = rec->ip; local
413 unsigned long entry, ptr, tramp; local
474 unsigned long tramp, entry, ptr; local
557 unsigned long entry, ptr, tramp; local
732 unsigned int *tramp[] = { ftrace_tramp_text, ftrace_tramp_init }; local
[all...]
H A Dftrace.c120 stub = (addr == (unsigned long)ftrace_caller ? rec->arch.mod->arch.tramp :
340 static void __init add_ftrace_tramp(unsigned long tramp) argument
346 ftrace_tramps[i] = tramp;
353 unsigned int *tramp[] = { ftrace_tramp_text, ftrace_tramp_init }; local
380 reladdr = addr - (unsigned long)tramp[i];
388 memcpy(tramp[i], stub_insns, sizeof(stub_insns));
389 tramp[i][0] |= IMM_H18(reladdr);
390 tramp[i][1] |= IMM_L(reladdr);
391 add_ftrace_tramp((unsigned long)tramp[i]);
403 memcpy(tramp[
[all...]
/linux-master/arch/x86/kernel/
H A Dstatic_call.c10 JMP = 2, /* tramp / site tail-call */
11 RET = 3, /* tramp / site cond-tail-call */
114 static void __static_call_validate(u8 *insn, bool tail, bool tramp) argument
118 if (tramp && memcmp(insn+5, tramp_ud, 3)) {
157 void arch_static_call_transform(void *site, void *tramp, void *func, bool tail) argument
161 if (tramp) {
162 __static_call_validate(tramp, true, true);
163 __static_call_transform(tramp, __sc_insn(!func, true), func, false);
187 bool __static_call_fixup(void *tramp, u8 op, void *dest) argument
189 unsigned long addr = (unsigned long)tramp;
[all...]
H A Dftrace.c270 static inline void tramp_free(void *tramp) argument
272 module_memfree(tramp);
280 static inline void tramp_free(void *tramp) { } argument
/linux-master/include/linux/
H A Dstatic_call.h142 * Either @site or @tramp can be NULL.
144 extern void arch_static_call_transform(void *site, void *tramp, void *func, bool tail);
175 s32 tramp; member in struct:static_call_tramp_key
179 extern void __static_call_update(struct static_call_key *key, void *tramp, void *func);
254 void __static_call_update(struct static_call_key *key, void *tramp, void *func) argument
258 arch_static_call_transform(NULL, tramp, func, false);
331 void __static_call_update(struct static_call_key *key, void *tramp, void *func) argument
/linux-master/arch/powerpc/include/asm/
H A Dmodule.h48 unsigned long tramp; member in struct:mod_arch_specific
/linux-master/arch/x86/include/asm/
H A Dstatic_call.h66 extern bool __static_call_fixup(void *tramp, u8 op, void *dest);
/linux-master/arch/loongarch/kernel/
H A Dmodule-sections.c108 Elf_Shdr *got_sec, *plt_sec, *plt_idx_sec, *tramp = NULL; local
121 tramp = sechdrs + i;
177 if (tramp) {
178 tramp->sh_type = SHT_NOBITS;
179 tramp->sh_flags = SHF_EXECINSTR | SHF_ALLOC;
180 tramp->sh_addralign = __alignof__(struct plt_entry);
181 tramp->sh_size = NR_FTRACE_PLTS * sizeof(struct plt_entry);
/linux-master/arch/parisc/kernel/
H A Dsignal32.h40 unsigned int tramp[2]; /* holds original return address */ member in struct:compat_rt_sigframe
H A Dftrace.c116 u32 *tramp; local
160 tramp = ftrace_trampoline;
165 tramp = ftrace_trampoline_unaligned;
180 __patch_text_multiple(ip, tramp, size);
/linux-master/arch/microblaze/kernel/
H A Dsignal.c48 unsigned long tramp[2]; /* signal trampoline */ member in struct:sigframe
54 unsigned long tramp[2]; /* signal trampoline */ member in struct:rt_sigframe
184 frame->tramp + 0);
186 err |= __put_user(0xb9cc0008, frame->tramp + 1);
188 /* Return from sighandler will jump to the tramp.
190 regs->r15 = ((unsigned long)frame->tramp)-8;
192 address = ((unsigned long)frame->tramp);
200 address += ((unsigned long)frame->tramp) & ~PAGE_MASK;
/linux-master/arch/arm64/kernel/
H A Dmodule-plts.c286 Elf_Shdr *pltsec, *tramp = NULL; local
300 tramp = sechdrs + i;
359 if (tramp) {
360 tramp->sh_type = SHT_NOBITS;
361 tramp->sh_flags = SHF_EXECINSTR | SHF_ALLOC;
362 tramp->sh_addralign = __alignof__(struct plt_entry);
363 tramp->sh_size = NR_FTRACE_PLTS * sizeof(struct plt_entry);
H A Dvmlinux.lds.S118 *(.entry.tramp.text) \
121 *(.entry.tramp.rodata)
H A Dentry.S105 .set .Lalias\@, TRAMP_VALIAS + \sym - .entry.tramp.text
660 .pushsection ".entry.tramp.rodata", "a", %progbits
760 .pushsection ".entry.tramp.text", "ax"
777 .popsection // .entry.tramp.text
926 .pushsection ".entry.tramp.text", "ax"
960 .popsection // .entry.tramp.text
/linux-master/arch/powerpc/perf/
H A Dcallchain_64.c33 unsigned int tramp[6]; member in struct:signal_frame_64
42 if (nip == fp + offsetof(struct signal_frame_64, tramp))
/linux-master/kernel/
H A Dstatic_call_inline.c134 void __static_call_update(struct static_call_key *key, void *tramp, void *func) argument
147 arch_static_call_transform(NULL, tramp, func, false);
354 unsigned long tramp; local
356 tramp = (long)tramp_key->tramp + (long)&tramp_key->tramp;
357 if (tramp == addr)
/linux-master/arch/hexagon/kernel/
H A Dsignal.c22 unsigned long tramp[2]; member in struct:rt_sigframe
114 err |= __put_user(0x7800d166, &frame->tramp[0]);
115 err |= __put_user(0x5400c004, &frame->tramp[1]);
/linux-master/arch/x86/platform/efi/
H A Defi_64.c180 unsigned long pfn, text, pf, rodata, tramp; local
258 tramp = __pa(__efi64_thunk_ret_tramp);
259 pfn = tramp >> PAGE_SHIFT;
262 if (kernel_map_pages_in_pgd(pgd, pfn, tramp, 1, pf)) {

Completed in 291 milliseconds