Lines Matching refs:phdr

58 	entry_addr = flags.phdr ? load_elf_image_phdr(addr)  in bootelf()
82 Elf64_Phdr *phdr; /* Program header structure pointer */ in load_elf64_image_phdr() local
86 phdr = (Elf64_Phdr *)(addr + (ulong)ehdr->e_phoff); in load_elf64_image_phdr()
89 for (i = 0; i < ehdr->e_phnum; ++i, ++phdr) { in load_elf64_image_phdr()
90 void *dst = (void *)(ulong)phdr->p_paddr; in load_elf64_image_phdr()
91 void *src = (void *)addr + phdr->p_offset; in load_elf64_image_phdr()
94 if (phdr->p_type != PT_LOAD) in load_elf64_image_phdr()
98 i, dst, (ulong)phdr->p_filesz); in load_elf64_image_phdr()
99 if (phdr->p_filesz) in load_elf64_image_phdr()
100 memcpy(dst, src, phdr->p_filesz); in load_elf64_image_phdr()
101 if (phdr->p_filesz != phdr->p_memsz) in load_elf64_image_phdr()
102 memset(dst + phdr->p_filesz, 0x00, in load_elf64_image_phdr()
103 phdr->p_memsz - phdr->p_filesz); in load_elf64_image_phdr()
105 roundup(phdr->p_memsz, ARCH_DMA_MINALIGN)); in load_elf64_image_phdr()
197 Elf32_Phdr *phdr; /* Program header structure pointer */ in load_elf_image_phdr() local
204 phdr = (Elf32_Phdr *)(addr + ehdr->e_phoff); in load_elf_image_phdr()
207 for (i = 0; i < ehdr->e_phnum; ++i, ++phdr) { in load_elf_image_phdr()
208 void *dst = (void *)(uintptr_t)phdr->p_paddr; in load_elf_image_phdr()
209 void *src = (void *)addr + phdr->p_offset; in load_elf_image_phdr()
212 if (phdr->p_type != PT_LOAD) in load_elf_image_phdr()
216 i, dst, phdr->p_filesz); in load_elf_image_phdr()
217 if (phdr->p_filesz) in load_elf_image_phdr()
218 memcpy(dst, src, phdr->p_filesz); in load_elf_image_phdr()
219 if (phdr->p_filesz != phdr->p_memsz) in load_elf_image_phdr()
220 memset(dst + phdr->p_filesz, 0x00, in load_elf_image_phdr()
221 phdr->p_memsz - phdr->p_filesz); in load_elf_image_phdr()
223 roundup(phdr->p_memsz, ARCH_DMA_MINALIGN)); in load_elf_image_phdr()