Home
last modified time | relevance | path

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

12

/Linux-v5.10/tools/objtool/
Delf.c231 struct reloc *find_reloc_by_dest_range(const struct elf *elf, struct section *sec, in find_reloc_by_dest_range()
234 struct reloc *reloc, *r = NULL; in find_reloc_by_dest_range() local
237 if (!sec->reloc) in find_reloc_by_dest_range()
240 sec = sec->reloc; in find_reloc_by_dest_range()
243 elf_hash_for_each_possible(elf->reloc_hash, reloc, hash, in find_reloc_by_dest_range()
245 if (reloc->sec != sec) in find_reloc_by_dest_range()
248 if (reloc->offset >= offset && reloc->offset < offset + len) { in find_reloc_by_dest_range()
249 if (!r || reloc->offset < r->offset) in find_reloc_by_dest_range()
250 r = reloc; in find_reloc_by_dest_range()
260 struct reloc *find_reloc_by_dest(const struct elf *elf, struct section *sec, unsigned long offset) in find_reloc_by_dest()
[all …]
Dorc_gen.c94 struct reloc *reloc; in create_orc_entry() local
101 reloc = malloc(sizeof(*reloc)); in create_orc_entry()
102 if (!reloc) { in create_orc_entry()
106 memset(reloc, 0, sizeof(*reloc)); in create_orc_entry()
109 reloc->sym = insn_sec->sym; in create_orc_entry()
110 reloc->addend = insn_off; in create_orc_entry()
116 reloc->sym = find_symbol_containing(insn_sec, insn_off); in create_orc_entry()
117 if (!reloc->sym) { in create_orc_entry()
122 reloc->sym = find_symbol_containing(insn_sec, in create_orc_entry()
125 if (!reloc->sym) { in create_orc_entry()
[all …]
Dcheck.c349 struct reloc *reloc; in add_dead_ends() local
367 list_for_each_entry(reloc, &sec->reloc_list, list) { in add_dead_ends()
368 if (reloc->sym->type != STT_SECTION) { in add_dead_ends()
372 insn = find_insn(file, reloc->sym->sec, reloc->addend); in add_dead_ends()
375 else if (reloc->addend == reloc->sym->sec->len) { in add_dead_ends()
376 insn = find_last_insn(file, reloc->sym->sec); in add_dead_ends()
379 reloc->sym->sec->name, reloc->addend); in add_dead_ends()
384 reloc->sym->sec->name, reloc->addend); in add_dead_ends()
402 list_for_each_entry(reloc, &sec->reloc_list, list) { in add_dead_ends()
403 if (reloc->sym->type != STT_SECTION) { in add_dead_ends()
[all …]
Delf.h36 struct section *base, *reloc; member
62 struct reloc { struct
118 static inline u32 reloc_hash(struct reloc *reloc) in reloc_hash() argument
120 return sec_offset_hash(reloc->sec, reloc->offset); in reloc_hash()
126 void elf_add_reloc(struct elf *elf, struct reloc *reloc);
130 int elf_write_reloc(struct elf *elf, struct reloc *reloc);
139 struct reloc *find_reloc_by_dest(const struct elf *elf, struct section *sec, unsigned long offset);
140 struct reloc *find_reloc_by_dest_range(const struct elf *elf, struct section *sec,
Dspecial.h38 struct reloc *reloc);
39 struct reloc *arch_find_switch_table(struct objtool_file *file,
/Linux-v5.10/drivers/gpu/drm/radeon/
Dr600_cs.c970 struct radeon_bo_list *reloc; in r600_cs_check_reg() local
1015 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r600_cs_check_reg()
1021 ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff); in r600_cs_check_reg()
1033 r = radeon_cs_packet_next_reloc(p, &reloc, r600_nomm); in r600_cs_check_reg()
1042 if (reloc->tiling_flags & RADEON_TILING_MACRO) { in r600_cs_check_reg()
1075 r = radeon_cs_packet_next_reloc(p, &reloc, r600_nomm); in r600_cs_check_reg()
1083 ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff); in r600_cs_check_reg()
1084 track->vgt_strmout_bo[tmp] = reloc->robj; in r600_cs_check_reg()
1085 track->vgt_strmout_bo_mc[tmp] = reloc->gpu_offset; in r600_cs_check_reg()
1098 r = radeon_cs_packet_next_reloc(p, &reloc, r600_nomm); in r600_cs_check_reg()
[all …]
Dr200.c149 struct radeon_bo_list *reloc; in r200_packet0_check() local
181 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r200_packet0_check()
188 track->zb.robj = reloc->robj; in r200_packet0_check()
191 ib[idx] = idx_value + ((u32)reloc->gpu_offset); in r200_packet0_check()
194 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r200_packet0_check()
201 track->cb[0].robj = reloc->robj; in r200_packet0_check()
204 ib[idx] = idx_value + ((u32)reloc->gpu_offset); in r200_packet0_check()
213 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r200_packet0_check()
221 if (reloc->tiling_flags & RADEON_TILING_MACRO) in r200_packet0_check()
223 if (reloc->tiling_flags & RADEON_TILING_MICRO) in r200_packet0_check()
[all …]
Devergreen_cs.c1097 struct radeon_bo_list *reloc; in evergreen_cs_handle_reg() local
1143 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in evergreen_cs_handle_reg()
1149 ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff); in evergreen_cs_handle_reg()
1172 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in evergreen_cs_handle_reg()
1180 ib[idx] |= Z_ARRAY_MODE(evergreen_cs_get_aray_mode(reloc->tiling_flags)); in evergreen_cs_handle_reg()
1181 track->db_z_info |= Z_ARRAY_MODE(evergreen_cs_get_aray_mode(reloc->tiling_flags)); in evergreen_cs_handle_reg()
1182 if (reloc->tiling_flags & RADEON_TILING_MACRO) { in evergreen_cs_handle_reg()
1185 evergreen_tiling_fields(reloc->tiling_flags, in evergreen_cs_handle_reg()
1214 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in evergreen_cs_handle_reg()
1221 ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff); in evergreen_cs_handle_reg()
[all …]
Dr300.c635 struct radeon_bo_list *reloc; in r300_packet0_check() local
669 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check()
676 track->cb[i].robj = reloc->robj; in r300_packet0_check()
679 ib[idx] = idx_value + ((u32)reloc->gpu_offset); in r300_packet0_check()
682 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check()
689 track->zb.robj = reloc->robj; in r300_packet0_check()
692 ib[idx] = idx_value + ((u32)reloc->gpu_offset); in r300_packet0_check()
711 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check()
721 ((idx_value & ~31) + (u32)reloc->gpu_offset); in r300_packet0_check()
723 if (reloc->tiling_flags & RADEON_TILING_MACRO) in r300_packet0_check()
[all …]
Dr100.c1267 struct radeon_bo_list *reloc; in r100_reloc_pitch_offset() local
1270 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r100_reloc_pitch_offset()
1280 tmp += (((u32)reloc->gpu_offset) >> 10); in r100_reloc_pitch_offset()
1283 if (reloc->tiling_flags & RADEON_TILING_MACRO) in r100_reloc_pitch_offset()
1285 if (reloc->tiling_flags & RADEON_TILING_MICRO) { in r100_reloc_pitch_offset()
1306 struct radeon_bo_list *reloc; in r100_packet3_load_vbpntr() local
1323 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r100_packet3_load_vbpntr()
1331 ib[idx+1] = radeon_get_ib_value(p, idx + 1) + ((u32)reloc->gpu_offset); in r100_packet3_load_vbpntr()
1334 track->arrays[i + 0].robj = reloc->robj; in r100_packet3_load_vbpntr()
1336 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r100_packet3_load_vbpntr()
[all …]
/Linux-v5.10/arch/x86/boot/compressed/
Dmisc.c179 int *reloc; in handle_relocations() local
232 for (reloc = output + output_len - sizeof(*reloc); *reloc; reloc--) { in handle_relocations()
233 long extended = *reloc; in handle_relocations()
243 while (*--reloc) { in handle_relocations()
244 long extended = *reloc; in handle_relocations()
253 for (reloc--; *reloc; reloc--) { in handle_relocations()
254 long extended = *reloc; in handle_relocations()
/Linux-v5.10/drivers/gpu/drm/qxl/
Dqxl_ioctl.c209 struct drm_qxl_reloc reloc; in qxl_process_single_command() local
212 if (copy_from_user(&reloc, u + i, sizeof(reloc))) { in qxl_process_single_command()
219 if (reloc.reloc_type != QXL_RELOC_TYPE_BO && reloc.reloc_type != QXL_RELOC_TYPE_SURF) { in qxl_process_single_command()
220 DRM_DEBUG("unknown reloc type %d\n", reloc.reloc_type); in qxl_process_single_command()
225 reloc_info[i].type = reloc.reloc_type; in qxl_process_single_command()
227 if (reloc.dst_handle) { in qxl_process_single_command()
228 ret = qxlhw_handle_to_bo(file_priv, reloc.dst_handle, release, in qxl_process_single_command()
232 reloc_info[i].dst_offset = reloc.dst_offset; in qxl_process_single_command()
235 reloc_info[i].dst_offset = reloc.dst_offset + release->release_offset; in qxl_process_single_command()
240 if (reloc.reloc_type == QXL_RELOC_TYPE_BO || reloc.src_handle) { in qxl_process_single_command()
[all …]
/Linux-v5.10/drivers/gpu/host1x/
Djob.c117 struct host1x_reloc *reloc = &job->relocs[i]; in pin_job() local
121 reloc->target.bo = host1x_bo_get(reloc->target.bo); in pin_job()
122 if (!reloc->target.bo) { in pin_job()
144 sgt = host1x_bo_pin(dev, reloc->target.bo, phys); in pin_job()
155 switch (reloc->flags & mask) { in pin_job()
183 job->unpins[job->num_unpins].bo = reloc->target.bo; in pin_job()
287 struct host1x_reloc *reloc = &job->relocs[i]; in do_relocs() local
289 reloc->target.offset) >> reloc->shift; in do_relocs()
293 if (cmdbuf != reloc->cmdbuf.bo) in do_relocs()
298 reloc->cmdbuf.offset / sizeof(u32) + in do_relocs()
[all …]
/Linux-v5.10/drivers/gpu/drm/i915/gem/selftests/
Di915_gem_execbuffer.c13 u64 reloc; in read_reloc() local
15 memcpy(&reloc, &map[x], sizeof(reloc)); in read_reloc()
16 return reloc & mask; in read_reloc()
83 u64 reloc = read_reloc(map, offsets[i], mask); in __igt_gpu_reloc() local
85 if (reloc != i) { in __igt_gpu_reloc()
87 eb->engine->name, i, offsets[i], reloc, i); in __igt_gpu_reloc()
/Linux-v5.10/tools/objtool/arch/x86/
Dspecial.c43 struct reloc *reloc) in arch_support_alt_relocation() argument
94 struct reloc *arch_find_switch_table(struct objtool_file *file, in arch_find_switch_table()
97 struct reloc *text_reloc, *rodata_reloc; in arch_find_switch_table()
/Linux-v5.10/arch/parisc/kernel/
Dkexec.c74 void (*reloc)(unsigned long head, in machine_kexec() local
87 reloc = (void *)&desc; in machine_kexec()
90 reloc = (void *)virt; in machine_kexec()
105 reloc(image->head & PAGE_MASK, image->start, phys); in machine_kexec()
/Linux-v5.10/fs/isofs/
Drock.c315 struct inode *reloc; in parse_rock_ridge_inode_internal() local
524 reloc = isofs_iget_reloc(inode->i_sb, reloc_block, 0); in parse_rock_ridge_inode_internal()
525 if (IS_ERR(reloc)) { in parse_rock_ridge_inode_internal()
526 ret = PTR_ERR(reloc); in parse_rock_ridge_inode_internal()
529 inode->i_mode = reloc->i_mode; in parse_rock_ridge_inode_internal()
530 set_nlink(inode, reloc->i_nlink); in parse_rock_ridge_inode_internal()
531 inode->i_uid = reloc->i_uid; in parse_rock_ridge_inode_internal()
532 inode->i_gid = reloc->i_gid; in parse_rock_ridge_inode_internal()
533 inode->i_rdev = reloc->i_rdev; in parse_rock_ridge_inode_internal()
534 inode->i_size = reloc->i_size; in parse_rock_ridge_inode_internal()
[all …]
/Linux-v5.10/scripts/
Dcheck_extable.sh42 eval $(echo $reloc | sed 's/\([^+]\+\)+\?\(0x[0-9a-f]\+\)\?/symbol="\1"; symbol_offset="\2"/')
109 for reloc in ${suspicious_relocs}; do
112 find_symbol_and_offset_from_reloc ${reloc}
/Linux-v5.10/drivers/gpu/drm/i915/gt/
Dintel_renderstate.h35 const u32 *reloc; member
42 .reloc = gen ## _g ## _null_state_relocs, \
Dintel_renderstate.c84 if (i * 4 == rodata->reloc[reloc_index]) { in render_state_setup()
102 if (rodata->reloc[reloc_index] != -1) { in render_state_setup()
/Linux-v5.10/fs/
Dbinfmt_flat.c398 ptr = (unsigned long __user *)(current->mm->start_code + r.reloc.offset); in old_reloc()
400 ptr = (unsigned long __user *)(current->mm->start_data + r.reloc.offset); in old_reloc()
406 r.reloc.offset, ptr, val, segment[r.reloc.type]); in old_reloc()
408 switch (r.reloc.type) { in old_reloc()
419 pr_err("Unknown relocation type=%x\n", r.reloc.type); in old_reloc()
437 __be32 __user *reloc; in load_flat_file() local
619 reloc = (__be32 __user *) in load_flat_file()
644 reloc = (__be32 __user *) in load_flat_file()
816 if (get_user(tmp, reloc + i)) in load_flat_file()
859 if (get_user(relval, reloc + i)) in load_flat_file()
/Linux-v5.10/drivers/gpu/drm/nouveau/
Dnouveau_gem.c597 struct drm_nouveau_gem_pushbuf_reloc *reloc, in nouveau_gem_pushbuf_reloc_apply() argument
604 struct drm_nouveau_gem_pushbuf_reloc *r = &reloc[i]; in nouveau_gem_pushbuf_reloc_apply()
680 struct drm_nouveau_gem_pushbuf_reloc *reloc = NULL; in nouveau_gem_ioctl_pushbuf() local
759 if (!reloc) { in nouveau_gem_ioctl_pushbuf()
761 reloc = u_memcpya(req->relocs, req->nr_relocs, sizeof(*reloc)); in nouveau_gem_ioctl_pushbuf()
762 if (IS_ERR(reloc)) { in nouveau_gem_ioctl_pushbuf()
763 ret = PTR_ERR(reloc); in nouveau_gem_ioctl_pushbuf()
770 ret = nouveau_gem_pushbuf_reloc_apply(cli, req, reloc, bo); in nouveau_gem_ioctl_pushbuf()
878 if (!IS_ERR(reloc)) in nouveau_gem_ioctl_pushbuf()
879 u_free(reloc); in nouveau_gem_ioctl_pushbuf()
/Linux-v5.10/drivers/gpu/drm/i915/gem/
Di915_gem_execbuffer.c978 relocation_target(const struct drm_i915_gem_relocation_entry *reloc, in relocation_target() argument
981 return gen8_canonical_addr((int)reloc->delta + target->node.start); in relocation_target()
1533 const struct drm_i915_gem_relocation_entry *reloc, in relocate_entry() argument
1537 u64 target_addr = relocation_target(reloc, target); in relocate_entry()
1538 u64 offset = reloc->offset; in relocate_entry()
1573 const struct drm_i915_gem_relocation_entry *reloc) in eb_relocate_entry() argument
1580 target = eb_get_vma(eb, reloc->target_handle); in eb_relocate_entry()
1585 if (unlikely(reloc->write_domain & (reloc->write_domain - 1))) { in eb_relocate_entry()
1589 reloc->target_handle, in eb_relocate_entry()
1590 (int) reloc->offset, in eb_relocate_entry()
[all …]
/Linux-v5.10/arch/arm64/kernel/
DMakefile55 obj-$(CONFIG_ARM64_RELOC_TEST) += arm64-reloc-test.o
56 arm64-reloc-test-y := reloc_test_core.o reloc_test_syms.o
/Linux-v5.10/include/linux/
Dflat.h76 } reloc; member

12