| 242 | static off_t fileofs; |
| 243 | |
| 244 | static int |
| 245 | cb_dumphdr(struct dump_pa *mdp, int seqnr, void *arg) |
| 246 | { |
| 247 | struct dumperinfo *di = (struct dumperinfo*)arg; |
| 248 | Elf_Phdr phdr; |
| 249 | uint64_t size; |
| 250 | int error; |
| 251 | |
| 252 | size = mdp->pa_size; |
| 253 | bzero(&phdr, sizeof(phdr)); |
| 254 | phdr.p_type = PT_LOAD; |
| 255 | phdr.p_flags = PF_R; /* XXX */ |
| 256 | phdr.p_offset = fileofs; |
| 257 | #ifdef __powerpc__ |
| 258 | phdr.p_vaddr = (do_minidump? mdp->pa_start : ~0L); |
| 259 | phdr.p_paddr = (do_minidump? ~0L : mdp->pa_start); |
| 260 | #else |
| 261 | phdr.p_vaddr = mdp->pa_start; |
| 262 | phdr.p_paddr = mdp->pa_start; |
| 263 | #endif |
| 264 | phdr.p_filesz = size; |
| 265 | phdr.p_memsz = size; |
| 266 | phdr.p_align = PAGE_SIZE; |
| 267 | |
| 268 | error = dumpsys_buf_write(di, (char*)&phdr, sizeof(phdr)); |
| 269 | fileofs += phdr.p_filesz; |
| 270 | return (error); |
| 271 | } |
| 272 | |
| 273 | static int |
| 274 | cb_size(struct dump_pa *mdp, int seqnr, void *arg) |
nothing calls this directly
no test coverage detected