Lines Matching refs:ldr
61 static int llext_copy_section(struct llext_loader *ldr, struct llext *ext, in llext_copy_section() argument
66 if (!ldr->sects[mem_idx].sh_size) { in llext_copy_section()
69 ext->mem_size[mem_idx] = ldr->sects[mem_idx].sh_size; in llext_copy_section()
72 if (ldr->sects[mem_idx].sh_type != SHT_NOBITS) { in llext_copy_section()
74 ext->mem[mem_idx] = llext_peek(ldr, ldr->sects[mem_idx].sh_offset); in llext_copy_section()
77 ldr->sects[mem_idx].sh_size); in llext_copy_section()
101 const uintptr_t sect_alloc = ROUND_UP(ldr->sects[mem_idx].sh_size, LLEXT_PAGE_SIZE); in llext_copy_section()
106 while (sect_alloc < ldr->sects[mem_idx].sh_size) { in llext_copy_section()
122 if (ldr->sects[mem_idx].sh_type == SHT_NOBITS) { in llext_copy_section()
123 memset(ext->mem[mem_idx], 0, ldr->sects[mem_idx].sh_size); in llext_copy_section()
125 ret = llext_seek(ldr, ldr->sects[mem_idx].sh_offset); in llext_copy_section()
130 ret = llext_read(ldr, ext->mem[mem_idx], ldr->sects[mem_idx].sh_size); in llext_copy_section()
146 int llext_copy_strings(struct llext_loader *ldr, struct llext *ext) in llext_copy_strings() argument
148 int ret = llext_copy_section(ldr, ext, LLEXT_MEM_SHSTRTAB, NULL); in llext_copy_strings()
151 ret = llext_copy_section(ldr, ext, LLEXT_MEM_STRTAB, NULL); in llext_copy_strings()
157 int llext_copy_regions(struct llext_loader *ldr, struct llext *ext, in llext_copy_regions() argument
166 int ret = llext_copy_section(ldr, ext, mem_idx, ldr_parm); in llext_copy_regions()