ph 21 bootmain.c struct proghdr *ph, *eph; ph 35 bootmain.c ph = (struct proghdr*)((uchar*)elf + elf->phoff); ph 36 bootmain.c eph = ph + elf->phnum; ph 37 bootmain.c for(; ph < eph; ph++){ ph 38 bootmain.c pa = (uchar*)ph->paddr; ph 39 bootmain.c readseg(pa, ph->filesz, ph->off); ph 40 bootmain.c if(ph->memsz > ph->filesz) ph 41 bootmain.c stosb(pa + ph->filesz, 0, ph->memsz - ph->filesz); ph 18 exec.c struct proghdr ph; ph 43 exec.c for(i=0, off=elf.phoff; i<elf.phnum; i++, off+=sizeof(ph)){ ph 44 exec.c if(readi(ip, (char*)&ph, off, sizeof(ph)) != sizeof(ph)) ph 46 exec.c if(ph.type != ELF_PROG_LOAD) ph 48 exec.c if(ph.memsz < ph.filesz) ph 50 exec.c if(ph.vaddr + ph.memsz < ph.vaddr) ph 52 exec.c if((sz = allocuvm(pgdir, sz, ph.vaddr + ph.memsz)) == 0) ph 54 exec.c if(ph.vaddr % PGSIZE != 0) ph 56 exec.c if(loaduvm(pgdir, (char*)ph.vaddr, ip, ph.off, ph.filesz) < 0)