Home
last modified time | relevance | path

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

/linux/arch/x86/kernel/
H A Dstatic_call.c122 static void __static_call_validate(u8 *insn, bool tail, bool tramp) in __static_call_validate() argument
126 if (tramp && memcmp(insn+5, tramp_ud, 3)) { in __static_call_validate()
166 void arch_static_call_transform(void *site, void *tramp, void *func, bool tail) in arch_static_call_transform() argument
170 if (tramp && !site) { in arch_static_call_transform()
171 __static_call_validate(tramp, true, true); in arch_static_call_transform()
172 __static_call_transform(tramp, __sc_insn(!func, true), func, false); in arch_static_call_transform()
184 noinstr void __static_call_update_early(void *tramp, void *func) in __static_call_update_early() argument
188 __text_gen_insn(tramp, JMP32_INSN_OPCODE, tramp, func, JMP32_INSN_SIZE); in __static_call_update_early()
204 bool __static_call_fixup(void *tramp, u8 op, void *dest) in __static_call_fixup() argument
206 unsigned long addr = (unsigned long)tramp; in __static_call_fixup()
[all …]
/linux/arch/powerpc/kernel/trace/
H A Dftrace.c123 return (addr == (unsigned long)ftrace_caller ? mod->arch.tramp : mod->arch.tramp_regs); in ftrace_lookup_module_stub()
260 mod->arch.tramp, 1); in ftrace_init_ool_stub()
580 static void __init add_ftrace_tramp(unsigned long tramp) in add_ftrace_tramp() argument
586 ftrace_tramps[i] = tramp; in add_ftrace_tramp()
593 unsigned int *tramp[] = { ftrace_tramp_text, ftrace_tramp_init }; in ftrace_dyn_arch_init() local
620 reladdr = addr - (unsigned long)tramp[i]; in ftrace_dyn_arch_init()
628 memcpy(tramp[i], stub_insns, sizeof(stub_insns)); in ftrace_dyn_arch_init()
629 tramp[i][0] |= IMM_H18(reladdr); in ftrace_dyn_arch_init()
630 tramp[i][1] |= IMM_L(reladdr); in ftrace_dyn_arch_init()
631 add_ftrace_tramp((unsigned long)tramp[i]); in ftrace_dyn_arch_init()
[all …]
/linux/arch/x86/hyperv/
H A Dhv_crash.c450 struct hv_crash_tramp_data *tramp; in hv_crash_setup_trampdata() local
472 tramp = (struct hv_crash_tramp_data *)dest; in hv_crash_setup_trampdata()
477 tramp->tramp32_cr3 = __sme_pa(hv_crash_ptpgs[0]); in hv_crash_setup_trampdata()
480 tramp->kernel_cr3 = __sme_pa(init_mm.pgd); in hv_crash_setup_trampdata()
482 tramp->gdtr32.limit = sizeof(struct hv_crash_tramp_gdt); in hv_crash_setup_trampdata()
483 tramp->gdtr32.address = trampoline_pa + in hv_crash_setup_trampdata()
484 (ulong)&tramp->tramp_gdt - trampoline_va; in hv_crash_setup_trampdata()
487 tramp->tramp_gdt.cs64 = 0x00af9a000000ffff; in hv_crash_setup_trampdata()
489 tramp->cs_jmptgt.csval = 0x8; in hv_crash_setup_trampdata()
491 tramp->cs_jmptgt.address = trampoline_pa + offs; in hv_crash_setup_trampdata()
[all …]
/linux/include/linux/
H A Dstatic_call.h144 extern void arch_static_call_transform(void *site, void *tramp, void *func, bool tail);
177 s32 tramp; member
181 extern void __static_call_update(struct static_call_key *key, void *tramp, void *func);
258 void __static_call_update(struct static_call_key *key, void *tramp, void *func) in __static_call_update() argument
262 arch_static_call_transform(NULL, tramp, func, false); in __static_call_update()
337 void __static_call_update(struct static_call_key *key, void *tramp, void *func) in __static_call_update() argument
/linux/arch/loongarch/kernel/
H A Dmodule-sections.c109 Elf_Shdr *got_sec, *plt_sec, *plt_idx_sec, *tramp = NULL; in module_frob_arch_sections() local
122 tramp = sechdrs + i; in module_frob_arch_sections()
178 if (tramp) { in module_frob_arch_sections()
179 tramp->sh_type = SHT_NOBITS; in module_frob_arch_sections()
180 tramp->sh_flags = SHF_EXECINSTR | SHF_ALLOC; in module_frob_arch_sections()
181 tramp->sh_addralign = __alignof__(struct plt_entry); in module_frob_arch_sections()
182 tramp->sh_size = NR_FTRACE_PLTS * sizeof(struct plt_entry); in module_frob_arch_sections()
/linux/arch/microblaze/kernel/
H 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/tools/testing/selftests/bpf/prog_tests/
H A Duprobe_syscall.c413 void *tramp = NULL; in check_attach() local
424 tramp = (void *) (call + 1) + call->raddr; in check_attach()
426 ASSERT_OK(find_uprobes_trampoline(tramp), "uprobes_trampoline"); in check_attach()
428 return tramp; in check_attach()
431 static void check_detach(void *addr, void *tramp) in check_detach() argument
434 ASSERT_OK(find_uprobes_trampoline(tramp), "uprobes_trampoline"); in check_detach()
441 void *tramp; in check() local
443 tramp = check_attach(skel, trigger, addr, executed); in check()
445 check_detach(addr, tramp); in check()
/linux/kernel/
H A Dstatic_call_inline.c134 void __static_call_update(struct static_call_key *key, void *tramp, void *func) in __static_call_update() argument
147 arch_static_call_transform(NULL, tramp, func, false); in __static_call_update()
209 arch_static_call_transform(site_addr, tramp, func, in __static_call_update()
353 unsigned long tramp; in tramp_key_lookup()
355 tramp = (long)tramp_key->tramp + (long)&tramp_key->tramp; in tramp_key_lookup()
356 if (tramp == addr) in tramp_key_lookup()
354 unsigned long tramp; tramp_key_lookup() local
/linux/arch/arm64/kernel/
H A Dmodule-plts.c286 Elf_Shdr *pltsec, *tramp = NULL, *init_tramp = NULL; in module_frob_arch_sections() local
300 tramp = sechdrs + i; in module_frob_arch_sections()
362 if (tramp) { in module_frob_arch_sections()
363 tramp->sh_type = SHT_NOBITS; in module_frob_arch_sections()
364 tramp->sh_flags = SHF_EXECINSTR | SHF_ALLOC; in module_frob_arch_sections()
365 tramp->sh_addralign = __alignof__(struct plt_entry); in module_frob_arch_sections()
366 tramp->sh_size = NR_FTRACE_PLTS * sizeof(struct plt_entry); in module_frob_arch_sections()
H A Dvmlinux.lds.S128 *(.entry.tramp.text) \
131 *(.entry.tramp.rodata)
H A Dentry.S104 .set .Lalias\@, TRAMP_VALIAS + \sym - .entry.tramp.text
/linux/arch/powerpc/kernel/
H 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 …]
H 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()
H A Dvmlinux.lds.S104 *(.tramp.ftrace.text);
261 *(.tramp.ftrace.init);
H A Dmodule_64.c1141 mod->arch.tramp = stub_for_addr(sechdrs, in module_finalize_ftrace()
1154 if (!mod->arch.tramp) in module_finalize_ftrace()
1157 if (setup_ftrace_ool_stubs(sechdrs, mod->arch.tramp, mod)) in module_finalize_ftrace()
/linux/arch/x86/include/asm/
H 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);
/linux/arch/hexagon/kernel/
H 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()
/linux/arch/parisc/include/asm/
H A Drt_sigframe.h6 unsigned int tramp[2]; /* holds original return address */ member
/linux/arch/powerpc/include/asm/
H A Dmodule.h51 unsigned long tramp; member
/linux/arch/parisc/kernel/
H A Dsignal32.h40 unsigned int tramp[2]; /* holds original return address */ member
/linux/arch/x86/platform/efi/
H 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()
/linux/tools/testing/selftests/bpf/test_kmods/
H A Dbpf_testmod.c1728 void **tramp; in bpf_testmod_init() local
1760 tramp = (void **)&__bpf_testmod_ops.tramp_1; in bpf_testmod_init()
1761 while (tramp <= (void **)&__bpf_testmod_ops.tramp_40) in bpf_testmod_init()
1762 *tramp++ = bpf_testmod_tramp; in bpf_testmod_init()