/linux-master/kernel/ |
H A D | kexec_elf.c | 203 struct kexec_elf_info *elf_info, 207 struct elf_phdr *phdr = (struct elf_phdr *) &elf_info->proghdrs[idx]; 208 const struct elfhdr *ehdr = elf_info->ehdr; 212 pbuf = buf + elf_info->ehdr->e_phoff + (idx * sizeof(*buf_phdr)); 215 phdr->p_type = elf32_to_cpu(elf_info->ehdr, buf_phdr->p_type); 216 phdr->p_flags = elf32_to_cpu(elf_info->ehdr, buf_phdr->p_flags); 252 struct kexec_elf_info *elf_info) 255 const struct elfhdr *ehdr = elf_info->ehdr; 263 elf_info->proghdrs = kzalloc(phdr_size, GFP_KERNEL); 264 if (!elf_info 202 elf_read_phdr(const char *buf, size_t len, struct kexec_elf_info *elf_info, int idx) argument 251 elf_read_phdrs(const char *buf, size_t len, struct kexec_elf_info *elf_info) argument 296 elf_read_from_buffer(const char *buf, size_t len, struct elfhdr *ehdr, struct kexec_elf_info *elf_info) argument 319 kexec_free_elf_info(struct kexec_elf_info *elf_info) argument 327 kexec_build_elf_info(const char *buf, size_t len, struct elfhdr *ehdr, struct kexec_elf_info *elf_info) argument 368 struct kexec_elf_info elf_info; local 388 kexec_elf_load(struct kimage *image, struct elfhdr *ehdr, struct kexec_elf_info *elf_info, struct kexec_buf *kbuf, unsigned long *lowest_load_addr) argument [all...] |
/linux-master/scripts/mod/ |
H A D | modpost.h | 112 struct elf_info { struct 136 static inline unsigned int get_secindex(const struct elf_info *info, 165 static inline bool is_valid_name(struct elf_info *elf, Elf_Sym *sym) 175 void symsearch_init(struct elf_info *elf); 176 void symsearch_finish(struct elf_info *elf); 177 Elf_Sym *symsearch_find_nearest(struct elf_info *elf, Elf_Addr addr, 182 void handle_moddevtable(struct module *mod, struct elf_info *info, 192 void *sym_get_data(const struct elf_info *info, const Elf_Sym *sym);
|
H A D | symsearch.c | 50 static unsigned int symbol_count(struct elf_info *elf) 68 static void symsearch_populate(struct elf_info *elf, 124 void symsearch_init(struct elf_info *elf) 139 void symsearch_finish(struct elf_info *elf) 153 Elf_Sym *symsearch_find_nearest(struct elf_info *elf, Elf_Addr addr,
|
H A D | modpost.c | 326 static void *sym_get_data_by_offset(const struct elf_info *info, 334 void *sym_get_data(const struct elf_info *info, const Elf_Sym *sym) 340 static const char *sech_name(const struct elf_info *info, Elf_Shdr *sechdr) 346 static const char *sec_name(const struct elf_info *info, unsigned int secindex) 415 static int parse_elf(struct elf_info *info, const char *filename) 573 static void parse_elf_finish(struct elf_info *info) 579 static int ignore_undef_symbol(struct elf_info *info, const char *symname) 613 static void handle_symbol(struct module *mod, struct elf_info *info, 676 static char *get_next_modinfo(struct elf_info *info, const char *tag, 696 static char *get_modinfo(struct elf_info *inf [all...] |
H A D | file2alias.c | 1593 void handle_moddevtable(struct module *mod, struct elf_info *info,
|
/linux-master/arch/powerpc/kexec/ |
H A D | elf_64.c | 39 struct kexec_elf_info elf_info; local 46 ret = kexec_build_elf_info(kernel_buf, kernel_len, &ehdr, &elf_info); 58 ret = kexec_elf_load(image, &ehdr, &elf_info, &kbuf, &kernel_load_addr); 137 slave_code = elf_info.buffer + elf_info.proghdrs[0].p_offset; 149 kexec_free_elf_info(&elf_info);
|
/linux-master/arch/parisc/kernel/ |
H A D | kexec_file.c | 24 struct kexec_elf_info elf_info; local 28 ret = kexec_build_elf_info(kernel_buf, kernel_len, &ehdr, &elf_info); 32 ret = kexec_elf_load(image, &ehdr, &elf_info, &kbuf, &kernel_load_addr); 36 image->start = __pa(elf_info.ehdr->e_entry);
|
/linux-master/arch/powerpc/boot/ |
H A D | elf.h | 150 struct elf_info { struct 155 int parse_elf64(void *hdr, struct elf_info *info); 156 int parse_elf32(void *hdr, struct elf_info *info);
|
H A D | elf_util.c | 14 int parse_elf64(void *hdr, struct elf_info *info) 50 int parse_elf32(void *hdr, struct elf_info *info)
|
H A D | main.c | 29 struct elf_info ei;
|
/linux-master/arch/riscv/kernel/ |
H A D | elf_kexec.c | 37 struct kexec_elf_info *elf_info, unsigned long old_pbase, 49 phdr = &elf_info->proghdrs[i]; 57 kbuf.buffer = (void *) elf_info->buffer + phdr->p_offset; 76 struct elfhdr *ehdr, struct kexec_elf_info *elf_info, 87 phdr = &elf_info->proghdrs[i]; 208 struct kexec_elf_info elf_info; local 211 ret = kexec_build_elf_info(kernel_buf, kernel_len, &ehdr, &elf_info); 215 ret = elf_find_pbase(image, kernel_len, &ehdr, &elf_info, 222 ret = riscv_kexec_elf_load(image, &ehdr, &elf_info, 334 kexec_free_elf_info(&elf_info); 36 riscv_kexec_elf_load(struct kimage *image, struct elfhdr *ehdr, struct kexec_elf_info *elf_info, unsigned long old_pbase, unsigned long new_pbase) argument 75 elf_find_pbase(struct kimage *image, unsigned long kernel_len, struct elfhdr *ehdr, struct kexec_elf_info *elf_info, unsigned long *old_pbase, unsigned long *new_pbase) argument [all...] |
/linux-master/include/linux/ |
H A D | kexec.h | 284 struct kexec_elf_info *elf_info); 287 struct kexec_elf_info *elf_info, 291 void kexec_free_elf_info(struct kexec_elf_info *elf_info);
|
/linux-master/fs/ |
H A D | binfmt_elf.c | 172 elf_addr_t *elf_info; local 224 elf_info = (elf_addr_t *)mm->saved_auxv; 228 *elf_info++ = id; \ 229 *elf_info++ = val; \ 279 memset(elf_info, 0, (char *)mm->saved_auxv + 280 sizeof(mm->saved_auxv) - (char *)elf_info); 283 elf_info += 2; 285 ei_index = elf_info - (elf_addr_t *)mm->saved_auxv; 345 /* Put the elf_info on the stack in the right place. */
|