| /linux/drivers/soc/qcom/ |
| H A D | mdt_loader.c | 54 static bool mdt_phdr_loadable(const struct elf32_phdr *phdr) in mdt_phdr_loadable() argument 56 if (phdr->p_type != PT_LOAD) in mdt_phdr_loadable() 59 if ((phdr->p_flags & QCOM_MDT_TYPE_MASK) == QCOM_MDT_TYPE_HASH) in mdt_phdr_loadable() 62 if (!phdr->p_memsz) in mdt_phdr_loadable() 72 const struct elf32_phdr *phdr = &phdrs[segment]; in mdt_load_split_segment() local 85 ptr, phdr->p_filesz); in mdt_load_split_segment() 91 if (seg_fw->size != phdr->p_filesz) { in mdt_load_split_segment() 112 const struct elf32_phdr *phdr; in qcom_mdt_get_size() local 125 phdr = &phdrs[i]; in qcom_mdt_get_size() 127 if (!mdt_phdr_loadable(phdr)) in qcom_mdt_get_size() [all …]
|
| H A D | smem.c | 292 phdr_to_last_uncached_entry(struct smem_partition_header *phdr) in phdr_to_last_uncached_entry() argument 294 void *p = phdr; in phdr_to_last_uncached_entry() 296 return p + le32_to_cpu(phdr->offset_free_uncached); in phdr_to_last_uncached_entry() 300 phdr_to_first_cached_entry(struct smem_partition_header *phdr, in phdr_to_first_cached_entry() argument 303 void *p = phdr; in phdr_to_first_cached_entry() 306 return p + le32_to_cpu(phdr->size) - ALIGN(sizeof(*e), cacheline); in phdr_to_first_cached_entry() 310 phdr_to_last_cached_entry(struct smem_partition_header *phdr) in phdr_to_last_cached_entry() argument 312 void *p = phdr; in phdr_to_last_cached_entry() 314 return p + le32_to_cpu(phdr->offset_free_cached); in phdr_to_last_cached_entry() 318 phdr_to_first_uncached_entry(struct smem_partition_header *phdr) in phdr_to_first_uncached_entry() argument [all …]
|
| /linux/fs/ |
| H A D | binfmt_elf_fdpic.c | 141 struct elf_phdr *phdr; in elf_fdpic_fetch_phdrs() local 161 phdr = params->phdrs; in elf_fdpic_fetch_phdrs() 162 for (loop = 0; loop < params->hdr.e_phnum; loop++, phdr++) { in elf_fdpic_fetch_phdrs() 163 if (phdr->p_type != PT_GNU_STACK) in elf_fdpic_fetch_phdrs() 166 if (phdr->p_flags & PF_X) in elf_fdpic_fetch_phdrs() 171 params->stack_size = phdr->p_memsz; in elf_fdpic_fetch_phdrs() 186 struct elf_phdr *phdr; in load_elf_fdpic_binary() local 229 phdr = exec_params.phdrs; in load_elf_fdpic_binary() 231 for (i = 0; i < exec_params.hdr.e_phnum; i++, phdr++) { in load_elf_fdpic_binary() 232 switch (phdr->p_type) { in load_elf_fdpic_binary() [all …]
|
| /linux/arch/s390/kernel/ |
| H A D | kexec_elf.c | 21 const Elf_Phdr *phdr; in kexec_file_add_kernel_elf() local 34 phdr = (void *)ehdr + ehdr->e_phoff; in kexec_file_add_kernel_elf() 35 for (i = 0; i < ehdr->e_phnum; i++, phdr++) { in kexec_file_add_kernel_elf() 36 if (phdr->p_type != PT_LOAD) in kexec_file_add_kernel_elf() 39 buf.buffer = kernel + phdr->p_offset; in kexec_file_add_kernel_elf() 40 buf.bufsz = phdr->p_filesz; in kexec_file_add_kernel_elf() 42 buf.mem = ALIGN(phdr->p_paddr, phdr->p_align); in kexec_file_add_kernel_elf() 47 buf.memsz = phdr->p_memsz; in kexec_file_add_kernel_elf() 48 data->memsz = ALIGN(data->memsz, phdr->p_align) + buf.memsz; in kexec_file_add_kernel_elf() 50 if (entry - phdr->p_paddr < phdr->p_memsz) { in kexec_file_add_kernel_elf() [all …]
|
| H A D | crash_dump.c | 494 static void fill_ptload(Elf64_Phdr *phdr, unsigned long paddr, in fill_ptload() argument 497 phdr->p_type = PT_LOAD; in fill_ptload() 498 phdr->p_vaddr = vaddr; in fill_ptload() 499 phdr->p_offset = paddr; in fill_ptload() 500 phdr->p_paddr = paddr; in fill_ptload() 501 phdr->p_filesz = size; in fill_ptload() 502 phdr->p_memsz = size; in fill_ptload() 503 phdr->p_flags = PF_R | PF_W | PF_X; in fill_ptload() 504 phdr->p_align = PAGE_SIZE; in fill_ptload() 510 static void loads_init(Elf64_Phdr *phdr, bool os_info_has_vm) in loads_init() argument [all …]
|
| /linux/kernel/ |
| H A D | crash_core.c | 171 Elf64_Phdr *phdr; in crash_prepare_elf64_headers() local 199 phdr = (Elf64_Phdr *)(ehdr + 1); in crash_prepare_elf64_headers() 215 phdr->p_type = PT_NOTE; in crash_prepare_elf64_headers() 217 phdr->p_offset = phdr->p_paddr = notes_addr; in crash_prepare_elf64_headers() 218 phdr->p_filesz = phdr->p_memsz = sizeof(note_buf_t); in crash_prepare_elf64_headers() 220 phdr++; in crash_prepare_elf64_headers() 224 phdr->p_type = PT_NOTE; in crash_prepare_elf64_headers() 225 phdr->p_offset = phdr->p_paddr = paddr_vmcoreinfo_note(); in crash_prepare_elf64_headers() 226 phdr->p_filesz = phdr->p_memsz = VMCOREINFO_NOTE_SIZE; in crash_prepare_elf64_headers() 228 phdr++; in crash_prepare_elf64_headers() [all …]
|
| /linux/arch/riscv/kernel/ |
| H A D | kexec_elf.c | 32 const struct elf_phdr *phdr; in riscv_kexec_elf_load() local 37 phdr = &elf_info->proghdrs[i]; in riscv_kexec_elf_load() 38 if (phdr->p_type != PT_LOAD) in riscv_kexec_elf_load() 41 size = phdr->p_filesz; in riscv_kexec_elf_load() 42 if (size > phdr->p_memsz) in riscv_kexec_elf_load() 43 size = phdr->p_memsz; in riscv_kexec_elf_load() 45 kbuf.buffer = (void *) elf_info->buffer + phdr->p_offset; in riscv_kexec_elf_load() 47 kbuf.buf_align = phdr->p_align; in riscv_kexec_elf_load() 48 kbuf.mem = phdr->p_paddr - old_pbase + new_pbase; in riscv_kexec_elf_load() 49 kbuf.memsz = phdr->p_memsz; in riscv_kexec_elf_load() [all …]
|
| /linux/tools/testing/selftests/kvm/lib/ |
| H A D | elf.c | 148 Elf64_Phdr phdr; in kvm_vm_elf_load() local 149 test_read(fd, &phdr, sizeof(phdr)); in kvm_vm_elf_load() 152 if (phdr.p_type != PT_LOAD) in kvm_vm_elf_load() 156 TEST_ASSERT(phdr.p_memsz > 0, "Unexpected loadable segment " in kvm_vm_elf_load() 159 n1, (uint64_t) phdr.p_memsz); in kvm_vm_elf_load() 160 vm_vaddr_t seg_vstart = align_down(phdr.p_vaddr, vm->page_size); in kvm_vm_elf_load() 161 vm_vaddr_t seg_vend = phdr.p_vaddr + phdr.p_memsz - 1; in kvm_vm_elf_load() 181 if (phdr.p_filesz) { in kvm_vm_elf_load() 182 offset_rv = lseek(fd, phdr.p_offset, SEEK_SET); in kvm_vm_elf_load() 183 TEST_ASSERT(offset_rv == phdr.p_offset, in kvm_vm_elf_load() [all …]
|
| /linux/fs/proc/ |
| H A D | vmcore.c | 867 Elf64_Phdr phdr; in merge_note_headers_elf64() local 890 phdr.p_type = PT_NOTE; in merge_note_headers_elf64() 891 phdr.p_flags = 0; in merge_note_headers_elf64() 894 phdr.p_offset = roundup(note_off, PAGE_SIZE); in merge_note_headers_elf64() 895 phdr.p_vaddr = phdr.p_paddr = 0; in merge_note_headers_elf64() 896 phdr.p_filesz = phdr.p_memsz = phdr_sz; in merge_note_headers_elf64() 897 phdr.p_align = 4; in merge_note_headers_elf64() 901 memcpy(tmp, &phdr, sizeof(phdr)); in merge_note_headers_elf64() 902 tmp += sizeof(phdr); in merge_note_headers_elf64() 917 elfnotes_orig_sz = phdr.p_memsz; in merge_note_headers_elf64() [all …]
|
| /linux/arch/loongarch/kernel/ |
| H A D | kexec_elf.c | 29 const struct elf_phdr *phdr; in _elf_kexec_load() local 31 phdr = &elf_info->proghdrs[i]; in _elf_kexec_load() 32 if (phdr->p_type != PT_LOAD) in _elf_kexec_load() 35 size = phdr->p_filesz; in _elf_kexec_load() 36 if (size > phdr->p_memsz) in _elf_kexec_load() 37 size = phdr->p_memsz; in _elf_kexec_load() 39 kbuf->buffer = (void *)elf_info->buffer + phdr->p_offset; in _elf_kexec_load() 41 kbuf->buf_align = phdr->p_align; in _elf_kexec_load() 42 *text_offset = __pa(phdr->p_paddr); in _elf_kexec_load() 44 kbuf->memsz = ALIGN(phdr->p_memsz, SZ_64K); in _elf_kexec_load()
|
| /linux/arch/powerpc/kernel/ |
| H A D | fadump.c | 760 struct elf_phdr *phdr; in fadump_update_elfcore_header() local 765 phdr = (struct elf_phdr *)bufp; in fadump_update_elfcore_header() 767 if (phdr->p_type == PT_NOTE) { in fadump_update_elfcore_header() 768 phdr->p_paddr = __pa(fw_dump.cpu_notes_buf_vaddr); in fadump_update_elfcore_header() 769 phdr->p_offset = phdr->p_paddr; in fadump_update_elfcore_header() 770 phdr->p_filesz = fw_dump.cpu_notes_buf_size; in fadump_update_elfcore_header() 771 phdr->p_memsz = fw_dump.cpu_notes_buf_size; in fadump_update_elfcore_header() 990 static void __init populate_elf_pt_load(struct elf_phdr *phdr, u64 start, in populate_elf_pt_load() argument 993 phdr->p_align = 0; in populate_elf_pt_load() 994 phdr->p_memsz = size; in populate_elf_pt_load() [all …]
|
| /linux/drivers/media/usb/siano/ |
| H A D | smsusb.c | 98 struct sms_msg_hdr *phdr = (struct sms_msg_hdr *)surb->cb->p; in smsusb_onresponse() local 100 smsendian_handle_message_header(phdr); in smsusb_onresponse() 101 if (urb->actual_length >= phdr->msg_length) { in smsusb_onresponse() 102 surb->cb->size = phdr->msg_length; in smsusb_onresponse() 105 (phdr->msg_flags & MSG_HDR_FLAG_SPLIT_MSG)) { in smsusb_onresponse() 109 ((phdr->msg_flags >> 8) & 3); in smsusb_onresponse() 112 if (((int) phdr->msg_length + in smsusb_onresponse() 115 phdr->msg_length, in smsusb_onresponse() 123 memcpy((char *) phdr + surb->cb->offset, in smsusb_onresponse() 124 phdr, sizeof(struct sms_msg_hdr)); in smsusb_onresponse() [all …]
|
| /linux/drivers/media/common/siano/ |
| H A D | smsendian.c | 87 struct sms_msg_hdr *phdr = (struct sms_msg_hdr *)msg; in smsendian_handle_message_header() local 89 phdr->msg_type = le16_to_cpu((__force __le16)phdr->msg_type); in smsendian_handle_message_header() 90 phdr->msg_length = le16_to_cpu((__force __le16)phdr->msg_length); in smsendian_handle_message_header() 91 phdr->msg_flags = le16_to_cpu((__force __le16)phdr->msg_flags); in smsendian_handle_message_header()
|
| /linux/drivers/remoteproc/ |
| H A D | remoteproc_elf_helpers.h | 70 ELF_GEN_FIELD_GET_SET(phdr, p_paddr, u64) in ELF_GEN_FIELD_GET_SET() 71 ELF_GEN_FIELD_GET_SET(phdr, p_vaddr, u64) in ELF_GEN_FIELD_GET_SET() 72 ELF_GEN_FIELD_GET_SET(phdr, p_filesz, u64) in ELF_GEN_FIELD_GET_SET() 73 ELF_GEN_FIELD_GET_SET(phdr, p_memsz, u64) in ELF_GEN_FIELD_GET_SET() 74 ELF_GEN_FIELD_GET_SET(phdr, p_type, u32) in ELF_GEN_FIELD_GET_SET() 75 ELF_GEN_FIELD_GET_SET(phdr, p_offset, u64) in ELF_GEN_FIELD_GET_SET() 76 ELF_GEN_FIELD_GET_SET(phdr, p_flags, u32) in ELF_GEN_FIELD_GET_SET() 77 ELF_GEN_FIELD_GET_SET(phdr, p_align, u64) in ELF_GEN_FIELD_GET_SET() 97 ELF_STRUCT_SIZE(phdr)
|
| H A D | remoteproc_coredump.c | 238 void *phdr; in rproc_coredump() local 290 phdr = data + elf_hdr_get_e_phoff(class, ehdr); in rproc_coredump() 295 memset(phdr, 0, elf_size_of_phdr(class)); in rproc_coredump() 296 elf_phdr_set_p_type(class, phdr, PT_LOAD); in rproc_coredump() 297 elf_phdr_set_p_offset(class, phdr, offset); 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() 302 elf_phdr_set_p_flags(class, phdr, PF_R | PF_W | PF_X); in rproc_coredump() [all …]
|
| H A D | remoteproc_elf_loader.c | 163 const void *ehdr, *phdr; local 172 phdr = elf_data + elf_hdr_get_e_phoff(class, ehdr); 175 for (i = 0; i < phnum; i++, phdr += elf_phdr_get_size) { 176 u64 da = elf_phdr_get_p_paddr(class, phdr); 177 u64 memsz = elf_phdr_get_p_memsz(class, phdr); 178 u64 filesz = elf_phdr_get_p_filesz(class, phdr); 179 u64 offset = elf_phdr_get_p_offset(class, phdr); 180 u32 type = elf_phdr_get_p_type(class, phdr);
|
| H A D | qcom_q6v5_mss.c | 1104 static bool q6v5_phdr_valid(const struct elf32_phdr *phdr) in q6v5_phdr_valid() argument 1106 if (phdr->p_type != PT_LOAD) in q6v5_phdr_valid() 1109 if ((phdr->p_flags & QCOM_MDT_TYPE_MASK) == QCOM_MDT_TYPE_HASH) in q6v5_phdr_valid() 1112 if (!phdr->p_memsz) in q6v5_phdr_valid() 1386 const struct elf32_phdr *phdr; in q6v5_mpss_load() local 1429 phdr = &phdrs[i]; in q6v5_mpss_load() 1431 if (!q6v5_phdr_valid(phdr)) in q6v5_mpss_load() 1434 if (phdr->p_flags & QCOM_MDT_RELOCATABLE) in q6v5_mpss_load() 1437 if (phdr->p_paddr < min_addr) in q6v5_mpss_load() 1438 min_addr = phdr->p_paddr; in q6v5_mpss_load() [all …]
|
| /linux/arch/powerpc/platforms/powernv/ |
| H A D | opal-core.c | 307 Elf64_Phdr *phdr; in create_opalcore() local 380 phdr = (Elf64_Phdr *)bufp; in create_opalcore() 382 phdr->p_type = cpu_to_be32(PT_NOTE); in create_opalcore() 383 phdr->p_flags = 0; in create_opalcore() 384 phdr->p_align = 0; in create_opalcore() 385 phdr->p_paddr = phdr->p_vaddr = 0; in create_opalcore() 386 phdr->p_offset = cpu_to_be64(hdr_size); in create_opalcore() 387 phdr->p_filesz = phdr->p_memsz = cpu_to_be64(cpu_notes_size); in create_opalcore() 394 phdr = (Elf64_Phdr *)bufp; in create_opalcore() 396 phdr->p_type = cpu_to_be32(PT_LOAD); in create_opalcore() [all …]
|
| /linux/tools/testing/selftests/sgx/ |
| H A D | load.c | 235 Elf64_Phdr *phdr = &phdr_tbl[i]; in encl_load() local 237 if (phdr->p_type == PT_LOAD) in encl_load() 247 Elf64_Phdr *phdr = &phdr_tbl[i]; in encl_load() local 248 unsigned int flags = phdr->p_flags; in encl_load() 250 if (phdr->p_type != PT_LOAD) in encl_load() 258 phdr->p_flags); in encl_load() 265 phdr->p_flags); in encl_load() 270 src_offset = phdr->p_offset & PAGE_MASK; in encl_load() 276 seg->prot = (phdr->p_flags & PF_R) ? PROT_READ : 0; in encl_load() 277 seg->prot |= (phdr->p_flags & PF_W) ? PROT_WRITE : 0; in encl_load() [all …]
|
| /linux/net/dsa/ |
| H A D | tag_qca.c | 17 __be16 *phdr; in qca_tag_xmit() 23 phdr = dsa_etype_header_pos_tx(skb); in qca_tag_xmit() 30 *phdr = htons(hdr); in qca_tag_xmit() 41 __be16 *phdr; in qca_tag_rcv() 52 phdr = dsa_etype_header_pos_rx(skb); in qca_tag_rcv() 53 hdr = ntohs(*phdr); in qca_tag_rcv() 18 __be16 *phdr; qca_tag_xmit() local 42 __be16 *phdr; qca_tag_rcv() local
|
| /linux/lib/ |
| H A D | buildid.c | 201 const Elf32_Phdr *phdr; in parse_build_id() 221 phdr = freader_fetch(r, phoff + i * sizeof(Elf32_Phdr), sizeof(Elf32_Phdr)); in get_build_id_32() 222 if (!phdr) in get_build_id_32() 225 if (phdr->p_type == PT_NOTE && in get_build_id_32() 226 !parse_build_id(r, build_id, size, READ_ONCE(phdr->p_offset), in get_build_id_32() 227 READ_ONCE(phdr->p_filesz))) in get_build_id_32() 237 const Elf64_Phdr *phdr; in get_build_id_32() 258 phdr = freader_fetch(r, phoff + i * sizeof(Elf64_Phdr), sizeof(Elf64_Phdr)); in get_build_id_64() 259 if (!phdr) in get_build_id_64() 262 if (phdr in get_build_id_64() 217 const Elf32_Phdr *phdr; get_build_id_32() local 253 const Elf64_Phdr *phdr; get_build_id_64() local [all...] |
| /linux/arch/x86/boot/compressed/ |
| H A D | misc.c | 285 Elf64_Phdr *phdrs, *phdr; in parse_elf() local 288 Elf32_Phdr *phdrs, *phdr; in parse_elf() 309 phdr = &phdrs[i]; in parse_elf() 311 switch (phdr->p_type) { in parse_elf() 314 if ((phdr->p_align % 0x200000) != 0) in parse_elf() 319 dest += (phdr->p_paddr - LOAD_PHYSICAL_ADDR); in parse_elf() 321 dest = (void *)(phdr->p_paddr); in parse_elf() 323 memmove(dest, output + phdr->p_offset, phdr->p_filesz); in parse_elf()
|
| /linux/tools/perf/util/ |
| H A D | genelf.c | 172 Elf_Phdr *phdr; in jit_write_elf() local 212 phdr = elf_newphdr(e, 1); in jit_write_elf() 213 phdr[0].p_type = PT_LOAD; in jit_write_elf() 214 phdr[0].p_offset = GEN_ELF_TEXT_OFFSET; in jit_write_elf() 215 phdr[0].p_vaddr = GEN_ELF_TEXT_OFFSET; in jit_write_elf() 216 phdr[0].p_paddr = GEN_ELF_TEXT_OFFSET; in jit_write_elf() 217 phdr[0].p_filesz = csize; in jit_write_elf() 218 phdr[0].p_memsz = csize; in jit_write_elf() 219 phdr[0].p_flags = PF_X | PF_R; in jit_write_elf() 220 phdr[0].p_align = 8; in jit_write_elf()
|
| /linux/arch/parisc/boot/compressed/ |
| H A D | misc.c | 237 Elf64_Phdr *phdrs, *phdr; in parse_elf() local 240 Elf32_Phdr *phdrs, *phdr; in parse_elf() 265 phdr = &phdrs[i]; in parse_elf() 267 switch (phdr->p_type) { in parse_elf() 269 dest = (void *)((unsigned long) phdr->p_paddr & in parse_elf() 271 memmove(dest, output + phdr->p_offset, phdr->p_filesz); in parse_elf()
|
| /linux/drivers/net/wireless/broadcom/brcm80211/brcmsmac/ |
| H A D | d11.h | 677 #define D11A_PHY_HDR_GRATE(phdr) ((phdr)->rlpt[0] & 0x0f) argument 678 #define D11A_PHY_HDR_GRES(phdr) (((phdr)->rlpt[0] >> 4) & 0x01) argument 679 #define D11A_PHY_HDR_GLENGTH(phdr) (((u32 *)((phdr)->rlpt) >> 5) & 0x0fff) argument 680 #define D11A_PHY_HDR_GPARITY(phdr) (((phdr)->rlpt[3] >> 1) & 0x01) argument 681 #define D11A_PHY_HDR_GTAIL(phdr) (((phdr)->rlpt[3] >> 2) & 0x3f) argument 684 #define D11A_PHY_HDR_SRATE(phdr, rate) \ argument 685 ((phdr)->rlpt[0] = ((phdr)->rlpt[0] & 0xf0) | ((rate) & 0xf)) 687 #define D11A_PHY_HDR_SRES(phdr) ((phdr)->rlpt[0] &= 0xef) argument 689 #define D11A_PHY_HDR_SLENGTH(phdr, length) \ argument 690 (*(u32 *)((phdr)->rlpt) = *(u32 *)((phdr)->rlpt) | \ [all …]
|