Home
last modified time | relevance | path

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

12345

/kernel/linux/linux-5.10/arch/arm/kernel/
H A Dmodule-plts.c36 static void prealloc_fixed(struct mod_plt_sec *pltsec, struct plt_entries *plt) in prealloc_fixed() argument
44 for (i = 0; i < ARRAY_SIZE(plt->ldr); ++i) in prealloc_fixed()
45 plt->ldr[i] = PLT_ENT_LDR; in prealloc_fixed()
47 BUILD_BUG_ON(sizeof(fixed_plts) > sizeof(plt->lit)); in prealloc_fixed()
48 memcpy(plt->lit, fixed_plts, sizeof(fixed_plts)); in prealloc_fixed()
55 struct plt_entries *plt; in get_module_plt() local
60 pltsec->plt_ent = (struct plt_entries *)pltsec->plt->sh_addr; in get_module_plt()
61 plt = pltsec->plt_ent; in get_module_plt()
63 prealloc_fixed(pltsec, plt); in get_module_plt()
66 if (plt in get_module_plt()
[all...]
/kernel/linux/linux-6.6/arch/arm/kernel/
H A Dmodule-plts.c31 static void prealloc_fixed(struct mod_plt_sec *pltsec, struct plt_entries *plt) in prealloc_fixed() argument
39 for (i = 0; i < ARRAY_SIZE(plt->ldr); ++i) in prealloc_fixed()
40 plt->ldr[i] = PLT_ENT_LDR; in prealloc_fixed()
42 BUILD_BUG_ON(sizeof(fixed_plts) > sizeof(plt->lit)); in prealloc_fixed()
43 memcpy(plt->lit, fixed_plts, sizeof(fixed_plts)); in prealloc_fixed()
50 struct plt_entries *plt; in get_module_plt() local
55 pltsec->plt_ent = (struct plt_entries *)pltsec->plt->sh_addr; in get_module_plt()
56 plt = pltsec->plt_ent; in get_module_plt()
58 prealloc_fixed(pltsec, plt); in get_module_plt()
61 if (plt in get_module_plt()
[all...]
/kernel/linux/linux-5.10/drivers/net/phy/
H A Dphy_led_triggers.c31 struct phy_led_trigger *plt; in phy_led_trigger_change_speed() local
39 plt = phy_speed_to_led_trigger(phy, phy->speed); in phy_led_trigger_change_speed()
40 if (!plt) { in phy_led_trigger_change_speed()
47 if (plt != phy->last_triggered) { in phy_led_trigger_change_speed()
54 led_trigger_event(&plt->trigger, LED_FULL); in phy_led_trigger_change_speed()
55 phy->last_triggered = plt; in phy_led_trigger_change_speed()
68 struct phy_led_trigger *plt, in phy_led_trigger_register()
71 plt->speed = speed; in phy_led_trigger_register()
72 phy_led_trigger_format_name(phy, plt->name, sizeof(plt in phy_led_trigger_register()
67 phy_led_trigger_register(struct phy_device *phy, struct phy_led_trigger *plt, unsigned int speed) phy_led_trigger_register() argument
79 phy_led_trigger_unregister(struct phy_led_trigger *plt) phy_led_trigger_unregister() argument
[all...]
/kernel/linux/linux-6.6/drivers/net/phy/
H A Dphy_led_triggers.c31 struct phy_led_trigger *plt; in phy_led_trigger_change_speed() local
39 plt = phy_speed_to_led_trigger(phy, phy->speed); in phy_led_trigger_change_speed()
40 if (!plt) { in phy_led_trigger_change_speed()
47 if (plt != phy->last_triggered) { in phy_led_trigger_change_speed()
54 led_trigger_event(&plt->trigger, LED_FULL); in phy_led_trigger_change_speed()
55 phy->last_triggered = plt; in phy_led_trigger_change_speed()
68 struct phy_led_trigger *plt, in phy_led_trigger_register()
72 plt->speed = speed; in phy_led_trigger_register()
73 phy_led_trigger_format_name(phy, plt->name, sizeof(plt in phy_led_trigger_register()
67 phy_led_trigger_register(struct phy_device *phy, struct phy_led_trigger *plt, unsigned int speed, const char *suffix) phy_led_trigger_register() argument
79 phy_led_trigger_unregister(struct phy_led_trigger *plt) phy_led_trigger_unregister() argument
[all...]
/kernel/linux/linux-5.10/arch/riscv/kernel/
H A Dmodule-sections.c36 struct mod_section *plt_sec = &mod->arch.plt; in module_emit_plt_entry()
37 struct plt_entry *plt = get_plt_entry(val, plt_sec, got_plt_sec); in module_emit_plt_entry() local
40 if (plt) in module_emit_plt_entry()
41 return (unsigned long)plt; in module_emit_plt_entry()
46 plt = (struct plt_entry *)plt_sec->shdr->sh_addr; in module_emit_plt_entry()
47 plt[i] = emit_plt_entry(val, in module_emit_plt_entry()
48 (unsigned long)&plt[i], in module_emit_plt_entry()
55 return (unsigned long)&plt[i]; in module_emit_plt_entry()
98 * Find the empty .got and .plt sections. in module_frob_arch_sections()
101 if (!strcmp(secstrings + sechdrs[i].sh_name, ".plt")) in module_frob_arch_sections()
[all...]
/kernel/linux/linux-6.6/arch/riscv/kernel/
H A Dmodule-sections.c36 struct mod_section *plt_sec = &mod->arch.plt; in module_emit_plt_entry()
37 struct plt_entry *plt = get_plt_entry(val, plt_sec, got_plt_sec); in module_emit_plt_entry() local
40 if (plt) in module_emit_plt_entry()
41 return (unsigned long)plt; in module_emit_plt_entry()
46 plt = (struct plt_entry *)plt_sec->shdr->sh_addr; in module_emit_plt_entry()
47 plt[i] = emit_plt_entry(val, in module_emit_plt_entry()
48 (unsigned long)&plt[i], in module_emit_plt_entry()
55 return (unsigned long)&plt[i]; in module_emit_plt_entry()
98 * Find the empty .got and .plt sections. in module_frob_arch_sections()
101 if (!strcmp(secstrings + sechdrs[i].sh_name, ".plt")) in module_frob_arch_sections()
[all...]
/kernel/linux/linux-5.10/arch/x86/boot/compressed/
H A Dvmlinux.lds.S83 .got.plt (INFO) : {
84 *(.got.plt)
86 ASSERT(SIZEOF(.got.plt) == 0 ||
88 SIZEOF(.got.plt) == 0x18,
90 SIZEOF(.got.plt) == 0xc,
103 .plt : {
104 *(.plt) *(.plt.*)
106 ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!")
/kernel/linux/linux-6.6/arch/x86/boot/compressed/
H A Dvmlinux.lds.S86 .got.plt (INFO) : {
87 *(.got.plt)
89 ASSERT(SIZEOF(.got.plt) == 0 ||
91 SIZEOF(.got.plt) == 0x18,
93 SIZEOF(.got.plt) == 0xc,
106 .plt : {
107 *(.plt) *(.plt.*)
109 ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!")
/kernel/linux/linux-5.10/arch/loongarch/kernel/
H A Dmodule-sections.c41 struct mod_section *plt_sec = &mod->arch.plt; in module_emit_plt_entry()
43 struct plt_entry *plt = get_plt_entry(val, sechdrs, plt_sec, plt_idx_sec); in module_emit_plt_entry() local
46 if (plt) in module_emit_plt_entry()
47 return (Elf_Addr)plt; in module_emit_plt_entry()
52 plt = (struct plt_entry *)sechdrs[plt_sec->shndx].sh_addr; in module_emit_plt_entry()
53 plt[nr] = emit_plt_entry(val); in module_emit_plt_entry()
61 return (Elf_Addr)&plt[nr]; in module_emit_plt_entry()
111 * Find the empty .plt sections. in module_frob_arch_sections()
116 else if (!strcmp(secstrings + sechdrs[i].sh_name, ".plt")) in module_frob_arch_sections()
117 mod->arch.plt in module_frob_arch_sections()
[all...]
H A Dftrace_dyn.c92 struct plt_entry *plt = mod->arch.ftrace_trampolines; in get_ftrace_plt() local
95 return &plt[FTRACE_PLT_IDX]; in get_ftrace_plt()
98 return &plt[FTRACE_REGS_PLT_IDX]; in get_ftrace_plt()
105 struct plt_entry *plt; in get_plt_addr() local
107 plt = get_ftrace_plt(mod, addr); in get_plt_addr()
108 if (!plt) { in get_plt_addr()
113 return (unsigned long)plt; in get_plt_addr()
/kernel/linux/linux-6.6/arch/loongarch/kernel/
H A Dmodule-sections.c41 struct mod_section *plt_sec = &mod->arch.plt; in module_emit_plt_entry()
43 struct plt_entry *plt = get_plt_entry(val, sechdrs, plt_sec, plt_idx_sec); in module_emit_plt_entry() local
46 if (plt) in module_emit_plt_entry()
47 return (Elf_Addr)plt; in module_emit_plt_entry()
52 plt = (struct plt_entry *)sechdrs[plt_sec->shndx].sh_addr; in module_emit_plt_entry()
53 plt[nr] = emit_plt_entry(val); in module_emit_plt_entry()
61 return (Elf_Addr)&plt[nr]; in module_emit_plt_entry()
111 * Find the empty .plt sections. in module_frob_arch_sections()
116 else if (!strcmp(secstrings + sechdrs[i].sh_name, ".plt")) in module_frob_arch_sections()
117 mod->arch.plt in module_frob_arch_sections()
[all...]
H A Dftrace_dyn.c43 struct plt_entry *plt = mod->arch.ftrace_trampolines; in get_ftrace_plt() local
46 return &plt[FTRACE_PLT_IDX]; in get_ftrace_plt()
49 return &plt[FTRACE_REGS_PLT_IDX]; in get_ftrace_plt()
66 struct plt_entry *plt; in ftrace_find_callable_addr() local
101 plt = get_ftrace_plt(mod, *addr); in ftrace_find_callable_addr()
102 if (!plt) { in ftrace_find_callable_addr()
107 *addr = (unsigned long)plt; in ftrace_find_callable_addr()
/kernel/linux/linux-5.10/arch/arm64/kernel/
H A Dvmlinux.lds.S145 * Make sure that the .got.plt is either completely empty or it
148 .got.plt : { *(.got.plt) }
149 ASSERT(SIZEOF(.got.plt) == 0 || SIZEOF(.got.plt) == 0x18,
278 .plt : {
279 *(.plt) *(.plt.*) *(.iplt) *(.igot .igot.plt)
281 ASSERT(SIZEOF(.plt)
[all...]
H A Dmodule-plts.c28 struct plt_entry plt; in get_plt_entry() local
35 plt = __get_adrp_add_pair(dst, (u64)pc, AARCH64_INSN_REG_16); in get_plt_entry()
36 plt.br = cpu_to_le32(br); in get_plt_entry()
38 return plt; in get_plt_entry()
79 struct plt_entry *plt = (struct plt_entry *)sechdrs[pltsec->plt_shndx].sh_addr; in module_emit_plt_entry() local
84 if (is_forbidden_offset_for_adrp(&plt[i].adrp)) in module_emit_plt_entry()
87 plt[i] = get_plt_entry(val, &plt[i]); in module_emit_plt_entry()
94 if (j >= 0 && plt_entries_equal(plt + i, plt in module_emit_plt_entry()
110 struct plt_entry *plt = (struct plt_entry *)sechdrs[pltsec->plt_shndx].sh_addr; module_emit_veneer_for_adrp() local
[all...]
H A Dftrace.c68 struct plt_entry *plt = mod->arch.ftrace_trampolines; in get_ftrace_plt() local
71 return &plt[FTRACE_PLT_IDX]; in get_ftrace_plt()
74 return &plt[FTRACE_REGS_PLT_IDX]; in get_ftrace_plt()
94 struct plt_entry *plt; in ftrace_find_callable_addr() local
129 plt = get_ftrace_plt(mod, *addr); in ftrace_find_callable_addr()
130 if (!plt) { in ftrace_find_callable_addr()
135 *addr = (unsigned long)plt; in ftrace_find_callable_addr()
/kernel/linux/linux-6.6/arch/arm64/kernel/
H A Dmodule-plts.c28 struct plt_entry plt; in get_plt_entry() local
35 plt = __get_adrp_add_pair(dst, (u64)pc, AARCH64_INSN_REG_16); in get_plt_entry()
36 plt.br = cpu_to_le32(br); in get_plt_entry()
38 return plt; in get_plt_entry()
75 struct plt_entry *plt = (struct plt_entry *)sechdrs[pltsec->plt_shndx].sh_addr; in module_emit_plt_entry() local
80 if (is_forbidden_offset_for_adrp(&plt[i].adrp)) in module_emit_plt_entry()
83 plt[i] = get_plt_entry(val, &plt[i]); in module_emit_plt_entry()
90 if (j >= 0 && plt_entries_equal(plt + i, plt in module_emit_plt_entry()
106 struct plt_entry *plt = (struct plt_entry *)sechdrs[pltsec->plt_shndx].sh_addr; module_emit_veneer_for_adrp() local
[all...]
H A Dvmlinux.lds.S196 * Make sure that the .got.plt is either completely empty or it
199 .got.plt : { *(.got.plt) }
200 ASSERT(SIZEOF(.got.plt) == 0 || SIZEOF(.got.plt) == 0x18,
335 .plt : {
336 *(.plt) *(.plt.*) *(.iplt) *(.igot .igot.plt)
338 ASSERT(SIZEOF(.plt)
[all...]
/kernel/linux/linux-5.10/arch/ia64/kernel/
H A Dmodule.c235 patch_plt (struct module *mod, struct plt_entry *plt, long target_ip, unsigned long target_gp) in patch_plt() argument
237 if (apply_imm64(mod, (struct insn *) (plt->bundle[0] + 2), target_gp) in patch_plt()
238 && apply_imm60(mod, (struct insn *) (plt->bundle[1] + 2), in patch_plt()
239 (target_ip - (int64_t) plt->bundle[1]) / 16)) in patch_plt()
245 plt_target (struct plt_entry *plt) in plt_target() argument
247 uint64_t b0, b1, *b = (uint64_t *) plt->bundle[1]; in plt_target()
254 return (long) plt->bundle[1] + 16*off; in plt_target()
285 patch_plt (struct module *mod, struct plt_entry *plt, long target_ip, unsigned long target_gp) in patch_plt() argument
287 if (apply_imm64(mod, (struct insn *) (plt->bundle[0] + 2), target_ip) in patch_plt()
288 && apply_imm64(mod, (struct insn *) (plt in patch_plt()
294 plt_target(struct plt_entry *plt) plt_target() argument
541 struct plt_entry *plt, *plt_end; get_plt() local
[all...]
/kernel/linux/linux-6.6/arch/ia64/kernel/
H A Dmodule.c235 patch_plt (struct module *mod, struct plt_entry *plt, long target_ip, unsigned long target_gp) in patch_plt() argument
237 if (apply_imm64(mod, (struct insn *) (plt->bundle[0] + 2), target_gp) in patch_plt()
238 && apply_imm60(mod, (struct insn *) (plt->bundle[1] + 2), in patch_plt()
239 (target_ip - (int64_t) plt->bundle[1]) / 16)) in patch_plt()
245 plt_target (struct plt_entry *plt) in plt_target() argument
247 uint64_t b0, b1, *b = (uint64_t *) plt->bundle[1]; in plt_target()
254 return (long) plt->bundle[1] + 16*off; in plt_target()
285 patch_plt (struct module *mod, struct plt_entry *plt, long target_ip, unsigned long target_gp) in patch_plt() argument
287 if (apply_imm64(mod, (struct insn *) (plt->bundle[0] + 2), target_ip) in patch_plt()
288 && apply_imm64(mod, (struct insn *) (plt in patch_plt()
294 plt_target(struct plt_entry *plt) plt_target() argument
541 struct plt_entry *plt, *plt_end; get_plt() local
[all...]
/kernel/linux/linux-5.10/arch/um/kernel/
H A Duml.lds.S59 .rel.plt : {
60 *(.rel.plt)
65 .rela.plt : {
66 *(.rela.plt)
97 .got : { *(.got.plt) *(.got) }
H A Ddyn.lds.S57 .rel.plt : {
58 *(.rel.plt)
63 .rela.plt : {
64 *(.rela.plt)
72 .plt : { *(.plt) }
154 .got : { *(.got.plt) *(.got) }
/kernel/linux/linux-5.10/arch/riscv/include/asm/
H A Dmodule.h22 struct mod_section plt; member
50 * should be the original (pc+4) before entring plt entry.
64 unsigned long plt, in emit_plt_entry()
79 unsigned long offset = got_plt - plt; in emit_plt_entry()
104 struct plt_entry *plt = (struct plt_entry *)sec_plt->shdr->sh_addr; in get_plt_entry() local
107 return plt + got_plt_idx; in get_plt_entry()
63 emit_plt_entry(unsigned long val, unsigned long plt, unsigned long got_plt) emit_plt_entry() argument
/kernel/linux/linux-6.6/arch/um/kernel/
H A Duml.lds.S58 .rel.plt : {
59 *(.rel.plt)
64 .rela.plt : {
65 *(.rela.plt)
96 .got : { *(.got.plt) *(.got) }
/kernel/linux/linux-5.10/arch/x86/kernel/
H A Dvmlinux.lds.S456 * Make sure that the .got.plt is either completely empty or it
459 .got.plt (INFO) : { *(.got.plt) }
460 ASSERT(SIZEOF(.got.plt) == 0 ||
462 SIZEOF(.got.plt) == 0x18,
464 SIZEOF(.got.plt) == 0xc,
477 .plt : {
478 *(.plt) *(.plt.*) *(.iplt)
480 ASSERT(SIZEOF(.plt)
[all...]
/kernel/linux/linux-6.6/arch/x86/kernel/
H A Dvmlinux.lds.S465 * Make sure that the .got.plt is either completely empty or it
468 .got.plt (INFO) : { *(.got.plt) }
469 ASSERT(SIZEOF(.got.plt) == 0 ||
471 SIZEOF(.got.plt) == 0x18,
473 SIZEOF(.got.plt) == 0xc,
486 .plt : {
487 *(.plt) *(.plt.*) *(.iplt)
489 ASSERT(SIZEOF(.plt)
[all...]

Completed in 11 milliseconds

12345