Lines Matching defs:phdr
1060 static bool q6v5_phdr_valid(const struct elf32_phdr *phdr)
1062 if (phdr->p_type != PT_LOAD)
1065 if ((phdr->p_flags & QCOM_MDT_TYPE_MASK) == QCOM_MDT_TYPE_HASH)
1068 if (!phdr->p_memsz)
1331 const struct elf32_phdr *phdr;
1374 phdr = &phdrs[i];
1376 if (!q6v5_phdr_valid(phdr))
1379 if (phdr->p_flags & QCOM_MDT_RELOCATABLE)
1382 if (phdr->p_paddr < min_addr)
1383 min_addr = phdr->p_paddr;
1385 if (phdr->p_paddr + phdr->p_memsz > max_addr)
1386 max_addr = ALIGN(phdr->p_paddr + phdr->p_memsz, SZ_4K);
1419 phdr = &phdrs[i];
1421 if (!q6v5_phdr_valid(phdr))
1424 offset = phdr->p_paddr - mpss_reloc;
1425 if (offset < 0 || offset + phdr->p_memsz > qproc->mpss_size) {
1431 if (phdr->p_filesz > phdr->p_memsz) {
1439 ptr = memremap(qproc->mpss_phys + offset, phdr->p_memsz, MEMREMAP_WC);
1443 &qproc->mpss_phys, offset, phdr->p_memsz);
1447 if (phdr->p_filesz && phdr->p_offset < fw->size) {
1449 if (phdr->p_offset + phdr->p_filesz > fw->size) {
1458 memcpy(ptr, fw->data + phdr->p_offset, phdr->p_filesz);
1459 } else if (phdr->p_filesz) {
1463 ptr, phdr->p_filesz);
1470 if (seg_fw->size != phdr->p_filesz) {
1483 if (phdr->p_memsz > phdr->p_filesz) {
1484 memset(ptr + phdr->p_filesz, 0,
1485 phdr->p_memsz - phdr->p_filesz);
1488 size += phdr->p_memsz;
1639 const struct elf32_phdr *phdr;
1659 phdr = &phdrs[i];
1661 if (!q6v5_phdr_valid(phdr))
1664 ret = rproc_coredump_add_custom_segment(rproc, phdr->p_paddr,
1665 phdr->p_memsz,
1671 qproc->total_dump_size += phdr->p_memsz;