Lines Matching refs:segment

50 	struct rproc_dump_segment *segment;  in rproc_coredump_add_segment()  local
52 segment = kzalloc(sizeof(*segment), GFP_KERNEL); in rproc_coredump_add_segment()
53 if (!segment) in rproc_coredump_add_segment()
56 segment->da = da; in rproc_coredump_add_segment()
57 segment->size = size; in rproc_coredump_add_segment()
59 list_add_tail(&segment->node, &rproc->dump_segments); in rproc_coredump_add_segment()
82 struct rproc_dump_segment *segment, in rproc_coredump_add_custom_segment() argument
87 struct rproc_dump_segment *segment; in rproc_coredump_add_custom_segment() local
89 segment = kzalloc(sizeof(*segment), GFP_KERNEL); in rproc_coredump_add_custom_segment()
90 if (!segment) in rproc_coredump_add_custom_segment()
93 segment->da = da; in rproc_coredump_add_custom_segment()
94 segment->size = size; in rproc_coredump_add_custom_segment()
95 segment->priv = priv; in rproc_coredump_add_custom_segment()
96 segment->dump = dumpfn; in rproc_coredump_add_custom_segment()
98 list_add_tail(&segment->node, &rproc->dump_segments); in rproc_coredump_add_custom_segment()
138 struct rproc_dump_segment *segment; in rproc_coredump_find_segment() local
140 list_for_each_entry(segment, segments, node) { in rproc_coredump_find_segment()
141 if (user_offset < segment->size) { in rproc_coredump_find_segment()
142 *data_left = segment->size - user_offset; in rproc_coredump_find_segment()
143 return segment; in rproc_coredump_find_segment()
145 user_offset -= segment->size; in rproc_coredump_find_segment()
153 struct rproc_dump_segment *segment, in rproc_copy_segment() argument
159 if (segment->dump) { in rproc_copy_segment()
160 segment->dump(rproc, segment, dest, offset, size); in rproc_copy_segment()
162 ptr = rproc_da_to_va(rproc, segment->da + offset, size, &is_iomem); in rproc_copy_segment()
166 &segment->da, offset, size); in rproc_copy_segment()
237 struct rproc_dump_segment *segment; in rproc_coredump() local
258 list_for_each_entry(segment, &rproc->dump_segments, node) { in rproc_coredump()
266 data_size += segment->size; in rproc_coredump()
294 list_for_each_entry(segment, &rproc->dump_segments, node) { in rproc_coredump()
298 elf_phdr_set_p_vaddr(class, phdr, segment->da); in rproc_coredump()
299 elf_phdr_set_p_paddr(class, phdr, segment->da); in rproc_coredump()
300 elf_phdr_set_p_filesz(class, phdr, segment->size); in rproc_coredump()
301 elf_phdr_set_p_memsz(class, phdr, segment->size); in rproc_coredump()
306 rproc_copy_segment(rproc, data + offset, segment, 0, in rproc_coredump()
307 segment->size); in rproc_coredump()
347 struct rproc_dump_segment *segment; in rproc_coredump_using_sections() local
381 list_for_each_entry(segment, &rproc->dump_segments, node) { in rproc_coredump_using_sections()
383 strtbl_size += strlen(segment->priv) + 1; in rproc_coredump_using_sections()
385 data_size += segment->size; in rproc_coredump_using_sections()
434 list_for_each_entry(segment, &rproc->dump_segments, node) { in rproc_coredump_using_sections()
438 elf_shdr_set_sh_addr(class, shdr, segment->da); in rproc_coredump_using_sections()
439 elf_shdr_set_sh_size(class, shdr, segment->size); in rproc_coredump_using_sections()
443 elf_strtbl_add(segment->priv, ehdr, class, &strtbl_index)); in rproc_coredump_using_sections()
447 rproc_copy_segment(rproc, data + offset, segment, 0, in rproc_coredump_using_sections()
448 segment->size); in rproc_coredump_using_sections()