Home
last modified time | relevance | path

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

123

/Linux-v5.15/tools/objtool/
Delf.c191 struct reloc *find_reloc_by_dest_range(const struct elf *elf, struct section *sec, in find_reloc_by_dest_range()
194 struct reloc *reloc, *r = NULL; in find_reloc_by_dest_range() local
197 if (!sec->reloc) in find_reloc_by_dest_range()
200 sec = sec->reloc; in find_reloc_by_dest_range()
203 elf_hash_for_each_possible(reloc, reloc, hash, in find_reloc_by_dest_range()
205 if (reloc->sec != sec) in find_reloc_by_dest_range()
208 if (reloc->offset >= offset && reloc->offset < offset + len) { in find_reloc_by_dest_range()
209 if (!r || reloc->offset < r->offset) in find_reloc_by_dest_range()
210 r = reloc; in find_reloc_by_dest_range()
220 struct reloc *find_reloc_by_dest(const struct elf *elf, struct section *sec, unsigned long offset) in find_reloc_by_dest()
[all …]
Dcheck.c366 struct reloc *reloc; in add_dead_ends() local
384 list_for_each_entry(reloc, &sec->reloc_list, list) { in add_dead_ends()
385 if (reloc->sym->type != STT_SECTION) { in add_dead_ends()
389 insn = find_insn(file, reloc->sym->sec, reloc->addend); in add_dead_ends()
392 else if (reloc->addend == reloc->sym->sec->sh.sh_size) { in add_dead_ends()
393 insn = find_last_insn(file, reloc->sym->sec); in add_dead_ends()
396 reloc->sym->sec->name, reloc->addend); in add_dead_ends()
401 reloc->sym->sec->name, reloc->addend); in add_dead_ends()
419 list_for_each_entry(reloc, &sec->reloc_list, list) { in add_dead_ends()
420 if (reloc->sym->type != STT_SECTION) { in add_dead_ends()
[all …]
Dspecial.c61 static void reloc_to_sec_off(struct reloc *reloc, struct section **sec, in reloc_to_sec_off() argument
64 *sec = reloc->sym->sec; in reloc_to_sec_off()
65 *off = reloc->sym->offset + reloc->addend; in reloc_to_sec_off()
72 struct reloc *orig_reloc, *new_reloc; in get_alt_entry()
128 struct reloc *key_reloc; in get_alt_entry()
/Linux-v5.15/drivers/gpu/drm/radeon/
Dr600_cs.c971 struct radeon_bo_list *reloc; in r600_cs_check_reg() local
1016 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r600_cs_check_reg()
1022 ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff); in r600_cs_check_reg()
1034 r = radeon_cs_packet_next_reloc(p, &reloc, r600_nomm); in r600_cs_check_reg()
1043 if (reloc->tiling_flags & RADEON_TILING_MACRO) { in r600_cs_check_reg()
1076 r = radeon_cs_packet_next_reloc(p, &reloc, r600_nomm); in r600_cs_check_reg()
1084 ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff); in r600_cs_check_reg()
1085 track->vgt_strmout_bo[tmp] = reloc->robj; in r600_cs_check_reg()
1086 track->vgt_strmout_bo_mc[tmp] = reloc->gpu_offset; in r600_cs_check_reg()
1099 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.c1096 struct radeon_bo_list *reloc; in evergreen_cs_handle_reg() local
1142 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in evergreen_cs_handle_reg()
1148 ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff); in evergreen_cs_handle_reg()
1171 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in evergreen_cs_handle_reg()
1179 ib[idx] |= Z_ARRAY_MODE(evergreen_cs_get_aray_mode(reloc->tiling_flags)); in evergreen_cs_handle_reg()
1180 track->db_z_info |= Z_ARRAY_MODE(evergreen_cs_get_aray_mode(reloc->tiling_flags)); in evergreen_cs_handle_reg()
1181 if (reloc->tiling_flags & RADEON_TILING_MACRO) { in evergreen_cs_handle_reg()
1184 evergreen_tiling_fields(reloc->tiling_flags, in evergreen_cs_handle_reg()
1213 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in evergreen_cs_handle_reg()
1220 ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff); in evergreen_cs_handle_reg()
[all …]
Dr300.c630 struct radeon_bo_list *reloc; in r300_packet0_check() local
664 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check()
671 track->cb[i].robj = reloc->robj; in r300_packet0_check()
674 ib[idx] = idx_value + ((u32)reloc->gpu_offset); in r300_packet0_check()
677 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check()
684 track->zb.robj = reloc->robj; in r300_packet0_check()
687 ib[idx] = idx_value + ((u32)reloc->gpu_offset); in r300_packet0_check()
706 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check()
716 ((idx_value & ~31) + (u32)reloc->gpu_offset); in r300_packet0_check()
718 if (reloc->tiling_flags & RADEON_TILING_MACRO) in r300_packet0_check()
[all …]
Dr100.c1274 struct radeon_bo_list *reloc; in r100_reloc_pitch_offset() local
1277 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r100_reloc_pitch_offset()
1287 tmp += (((u32)reloc->gpu_offset) >> 10); in r100_reloc_pitch_offset()
1290 if (reloc->tiling_flags & RADEON_TILING_MACRO) in r100_reloc_pitch_offset()
1292 if (reloc->tiling_flags & RADEON_TILING_MICRO) { in r100_reloc_pitch_offset()
1313 struct radeon_bo_list *reloc; in r100_packet3_load_vbpntr() local
1330 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r100_packet3_load_vbpntr()
1338 ib[idx+1] = radeon_get_ib_value(p, idx + 1) + ((u32)reloc->gpu_offset); in r100_packet3_load_vbpntr()
1341 track->arrays[i + 0].robj = reloc->robj; in r100_packet3_load_vbpntr()
1343 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r100_packet3_load_vbpntr()
[all …]
/Linux-v5.15/tools/objtool/include/objtool/
Delf.h36 struct section *base, *reloc; member
61 struct reloc { struct
125 static inline u32 reloc_hash(struct reloc *reloc) in reloc_hash() argument
127 return sec_offset_hash(reloc->sec, reloc->offset); in reloc_hash()
142 int elf_write_reloc(struct elf *elf, struct reloc *reloc);
152 struct reloc *find_reloc_by_dest(const struct elf *elf, struct section *sec, unsigned long offset);
153 struct reloc *find_reloc_by_dest_range(const struct elf *elf, struct section *sec,
Dspecial.h39 struct reloc *reloc);
40 struct reloc *arch_find_switch_table(struct objtool_file *file,
Dcheck.h58 struct reloc *jump_table;
59 struct reloc *reloc; member
/Linux-v5.15/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.15/drivers/gpu/drm/qxl/
Dqxl_ioctl.c208 struct drm_qxl_reloc reloc; in qxl_process_single_command() local
211 if (copy_from_user(&reloc, u + i, sizeof(reloc))) { in qxl_process_single_command()
218 if (reloc.reloc_type != QXL_RELOC_TYPE_BO && reloc.reloc_type != QXL_RELOC_TYPE_SURF) { in qxl_process_single_command()
219 DRM_DEBUG("unknown reloc type %d\n", reloc.reloc_type); in qxl_process_single_command()
224 reloc_info[i].type = reloc.reloc_type; in qxl_process_single_command()
226 if (reloc.dst_handle) { in qxl_process_single_command()
227 ret = qxlhw_handle_to_bo(file_priv, reloc.dst_handle, release, in qxl_process_single_command()
231 reloc_info[i].dst_offset = reloc.dst_offset; in qxl_process_single_command()
234 reloc_info[i].dst_offset = reloc.dst_offset + release->release_offset; in qxl_process_single_command()
239 if (reloc.reloc_type == QXL_RELOC_TYPE_BO || reloc.src_handle) { in qxl_process_single_command()
[all …]
/Linux-v5.15/drivers/gpu/host1x/
Djob.c149 struct host1x_reloc *reloc = &job->relocs[i]; in pin_job() local
152 reloc->target.bo = host1x_bo_get(reloc->target.bo); in pin_job()
153 if (!reloc->target.bo) { in pin_job()
175 sgt = host1x_bo_pin(dev, reloc->target.bo, phys); in pin_job()
186 switch (reloc->flags & mask) { in pin_job()
214 job->unpins[job->num_unpins].bo = reloc->target.bo; in pin_job()
321 struct host1x_reloc *reloc = &job->relocs[i]; in do_relocs() local
323 reloc->target.offset) >> reloc->shift; in do_relocs()
327 if (cmdbuf != reloc->cmdbuf.bo) in do_relocs()
332 reloc->cmdbuf.offset / sizeof(u32) + in do_relocs()
[all …]
/Linux-v5.15/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.15/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.15/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.15/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.15/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.15/arch/arm64/kvm/hyp/nvhe/
DMakefile30 extra-y := $(hyp-obj) kvm_nvhe.tmp.o kvm_nvhe.rel.o hyp.lds hyp-reloc.S hyp-reloc.o
57 $(obj)/hyp-reloc.S: $(obj)/kvm_nvhe.tmp.o $(obj)/gen-hyprel FORCE
65 $(obj)/kvm_nvhe.rel.o: $(obj)/kvm_nvhe.tmp.o $(obj)/hyp-reloc.o FORCE
/Linux-v5.15/drivers/gpu/drm/i915/gt/
Dintel_renderstate.h18 const u32 *reloc; member
25 .reloc = gen ## _g ## _null_state_relocs, \
/Linux-v5.15/drivers/gpu/drm/i915/gem/
Di915_gem_execbuffer.c1024 relocation_target(const struct drm_i915_gem_relocation_entry *reloc, in relocation_target() argument
1027 return gen8_canonical_addr((int)reloc->delta + target->node.start); in relocation_target()
1250 const struct drm_i915_gem_relocation_entry *reloc, in relocate_entry() argument
1254 u64 target_addr = relocation_target(reloc, target); in relocate_entry()
1255 u64 offset = reloc->offset; in relocate_entry()
1283 const struct drm_i915_gem_relocation_entry *reloc) in eb_relocate_entry() argument
1290 target = eb_get_vma(eb, reloc->target_handle); in eb_relocate_entry()
1295 if (unlikely(reloc->write_domain & (reloc->write_domain - 1))) { in eb_relocate_entry()
1299 reloc->target_handle, in eb_relocate_entry()
1300 (int) reloc->offset, in eb_relocate_entry()
[all …]
/Linux-v5.15/fs/
Dbinfmt_flat.c404 ptr = (unsigned long __user *)(current->mm->start_code + r.reloc.offset); in old_reloc()
406 ptr = (unsigned long __user *)(current->mm->start_data + r.reloc.offset); in old_reloc()
412 r.reloc.offset, ptr, val, segment[r.reloc.type]); in old_reloc()
414 switch (r.reloc.type) { in old_reloc()
425 pr_err("Unknown relocation type=%x\n", r.reloc.type); in old_reloc()
443 __be32 __user *reloc; in load_flat_file() local
626 reloc = (__be32 __user *) in load_flat_file()
652 reloc = (__be32 __user *) in load_flat_file()
824 if (get_user(tmp, reloc + i)) in load_flat_file()
867 if (get_user(relval, reloc + i)) in load_flat_file()
/Linux-v5.15/drivers/gpu/drm/tegra/
Dsubmit.c208 dma_addr_t iova = mapping->iova + buf->reloc.target_offset; in submit_write_reloc()
216 written_ptr = iova >> buf->reloc.shift; in submit_write_reloc()
218 if (buf->reloc.gather_offset_words >= bo->gather_data_words) { in submit_write_reloc()
221 buf->reloc.gather_offset_words, bo->gather_data_words); in submit_write_reloc()
225 buf->reloc.gather_offset_words = array_index_nospec(buf->reloc.gather_offset_words, in submit_write_reloc()
228 bo->gather_data[buf->reloc.gather_offset_words] = written_ptr; in submit_write_reloc()
/Linux-v5.15/drivers/gpu/drm/nouveau/
Dnouveau_gem.c645 struct drm_nouveau_gem_pushbuf_reloc *reloc, in nouveau_gem_pushbuf_reloc_apply() argument
652 struct drm_nouveau_gem_pushbuf_reloc *r = &reloc[i]; in nouveau_gem_pushbuf_reloc_apply()
728 struct drm_nouveau_gem_pushbuf_reloc *reloc = NULL; in nouveau_gem_ioctl_pushbuf() local
807 if (!reloc) { in nouveau_gem_ioctl_pushbuf()
809 reloc = u_memcpya(req->relocs, req->nr_relocs, sizeof(*reloc)); in nouveau_gem_ioctl_pushbuf()
810 if (IS_ERR(reloc)) { in nouveau_gem_ioctl_pushbuf()
811 ret = PTR_ERR(reloc); in nouveau_gem_ioctl_pushbuf()
818 ret = nouveau_gem_pushbuf_reloc_apply(cli, req, reloc, bo); in nouveau_gem_ioctl_pushbuf()
926 if (!IS_ERR(reloc)) in nouveau_gem_ioctl_pushbuf()
927 u_free(reloc); in nouveau_gem_ioctl_pushbuf()

123