p 14 grep.c char *p, *q;
p 20 grep.c p = buf;
p 21 grep.c while((q = strchr(p, '\n')) != 0){
p 23 grep.c if(match(pattern, p)){
p 25 grep.c write(1, p, q+1 - p);
p 27 grep.c p = q+1;
p 29 grep.c if(p == buf)
p 32 grep.c m -= p - buf;
p 33 grep.c memmove(buf, p, m);
p 48 kalloc.c char *p;
p 49 kalloc.c p = (char*)PGROUNDUP((uint)vstart);
p 50 kalloc.c for(; p + PGSIZE <= (char*)vend; p += PGSIZE)
p 51 kalloc.c kfree(p);
p 10 ls.c char *p;
p 13 ls.c for(p=path+strlen(path); p >= path && *p != '/'; p--)
p 15 ls.c p++;
p 18 ls.c if(strlen(p) >= DIRSIZ)
p 19 ls.c return p;
p 20 ls.c memmove(buf, p, strlen(p));
p 21 ls.c memset(buf+strlen(p), ' ', DIRSIZ-strlen(p));
p 28 ls.c char buf[512], *p;
p 55 ls.c p = buf+strlen(buf);
p 56 ls.c *p++ = '/';
p 60 ls.c memmove(p, de.name, DIRSIZ);
p 61 ls.c p[DIRSIZ] = 0;
p 40 memide.c uchar *p;
p 51 memide.c p = memdisk + b->blockno*BSIZE;
p 55 memide.c memmove(p, b->data, BSIZE);
p 57 memide.c memmove(b->data, p, BSIZE);
p 42 mkfs.c void iappend(uint inum, void *p, int n);
p 258 mkfs.c char *p = (char*)xp;
p 289 mkfs.c bcopy(p, buf + off - (fbn * BSIZE), n1);
p 293 mkfs.c p += n1;
p 59 mmu.h uint p : 1; // Present
p 201 mmu.h uint p : 1; // Present
p 222 mmu.h (gate).p = 1; \
p 41 mp.c uchar *e, *p, *addr;
p 45 mp.c for(p = addr; p < e; p += sizeof(struct mp))
p 46 mp.c if(memcmp(p, "_MP_", 4) == 0 && sum(p, sizeof(struct mp)) == 0)
p 47 mp.c return (struct mp*)p;
p 60 mp.c uint p;
p 64 mp.c if((p = ((bda[0x0F]<<8)| bda[0x0E]) << 4)){
p 65 mp.c if((mp = mpsearch1(p, 1024)))
p 68 mp.c p = ((bda[0x14]<<8)|bda[0x13])*1024;
p 69 mp.c if((mp = mpsearch1(p-1024, 1024)))
p 102 mp.c uchar *p, *e;
p 113 mp.c for(p=(uchar*)(conf+1), e=(uchar*)conf+conf->length; p<e; ){
p 114 mp.c switch(*p){
p 116 mp.c proc = (struct mpproc*)p;
p 125 mp.c p += sizeof(struct mpproc);
p 128 mp.c ioapic = (struct mpioapic*)p;
p 130 mp.c p += sizeof(struct mpioapic);
p 135 mp.c p += 8;
p 138 mp.c cprintf("mpinit: unknown config type %x\n", *p);
p 24 pipe.c struct pipe *p;
p 26 pipe.c p = 0;
p 30 pipe.c if((p = (struct pipe*)kalloc()) == 0)
p 32 pipe.c p->readopen = 1;
p 33 pipe.c p->writeopen = 1;
p 34 pipe.c p->nwrite = 0;
p 35 pipe.c p->nread = 0;
p 36 pipe.c initlock(&p->lock, "pipe");
p 40 pipe.c (*f0)->pipe = p;
p 44 pipe.c (*f1)->pipe = p;
p 49 pipe.c if(p)
p 50 pipe.c kfree((char*)p);
p 59 pipe.c pipeclose(struct pipe *p, int writable)
p 61 pipe.c acquire(&p->lock);
p 63 pipe.c p->writeopen = 0;
p 64 pipe.c wakeup(&p->nread);
p 66 pipe.c p->readopen = 0;
p 67 pipe.c wakeup(&p->nwrite);
p 69 pipe.c if(p->readopen == 0 && p->writeopen == 0){
p 70 pipe.c release(&p->lock);
p 71 pipe.c kfree((char*)p);
p 73 pipe.c release(&p->lock);
p 78 pipe.c pipewrite(struct pipe *p, char *addr, int n)
p 82 pipe.c acquire(&p->lock);
p 84 pipe.c while(p->nwrite == p->nread + PIPESIZE){ //DOC: pipewrite-full
p 85 pipe.c if(p->readopen == 0 || proc->killed){
p 86 pipe.c release(&p->lock);
p 89 pipe.c wakeup(&p->nread);
p 90 pipe.c sleep(&p->nwrite, &p->lock); //DOC: pipewrite-sleep
p 92 pipe.c p->data[p->nwrite++ % PIPESIZE] = addr[i];
p 94 pipe.c wakeup(&p->nread); //DOC: pipewrite-wakeup1
p 95 pipe.c release(&p->lock);
p 100 pipe.c piperead(struct pipe *p, char *addr, int n)
p 104 pipe.c acquire(&p->lock);
p 105 pipe.c while(p->nread == p->nwrite && p->writeopen){ //DOC: pipe-empty
p 107 pipe.c release(&p->lock);
p 110 pipe.c sleep(&p->nread, &p->lock); //DOC: piperead-sleep
p 113 pipe.c if(p->nread == p->nwrite)
p 115 pipe.c addr[i] = p->data[p->nread++ % PIPESIZE];
p 117 pipe.c wakeup(&p->nwrite); //DOC: piperead-wakeup
p 118 pipe.c release(&p->lock);
p 37 proc.c struct proc *p;
p 41 proc.c for(p = ptable.proc; p < &ptable.proc[NPROC]; p++)
p 42 proc.c if(p->state == UNUSED)
p 48 proc.c p->state = EMBRYO;
p 49 proc.c p->pid = nextpid++;
p 53 proc.c if((p->kstack = kalloc()) == 0){
p 54 proc.c p->state = UNUSED;
p 57 proc.c sp = p->kstack + KSTACKSIZE;
p 60 proc.c sp -= sizeof *p->tf;
p 61 proc.c p->tf = (struct trapframe*)sp;
p 68 proc.c sp -= sizeof *p->context;
p 69 proc.c p->context = (struct context*)sp;
p 70 proc.c memset(p->context, 0, sizeof *p->context);
p 71 proc.c p->context->eip = (uint)forkret;
p 73 proc.c return p;
p 81 proc.c struct proc *p;
p 84 proc.c p = allocproc();
p 85 proc.c initproc = p;
p 86 proc.c if((p->pgdir = setupkvm()) == 0)
p 88 proc.c inituvm(p->pgdir, _binary_initcode_start, (int)_binary_initcode_size);
p 89 proc.c p->sz = PGSIZE;
p 90 proc.c memset(p->tf, 0, sizeof(*p->tf));
p 91 proc.c p->tf->cs = (SEG_UCODE << 3) | DPL_USER;
p 92 proc.c p->tf->ds = (SEG_UDATA << 3) | DPL_USER;
p 93 proc.c p->tf->es = p->tf->ds;
p 94 proc.c p->tf->ss = p->tf->ds;
p 95 proc.c p->tf->eflags = FL_IF;
p 96 proc.c p->tf->esp = PGSIZE;
p 97 proc.c p->tf->eip = 0; // beginning of initcode.S
p 99 proc.c safestrcpy(p->name, "initcode", sizeof(p->name));
p 100 proc.c p->cwd = namei("/");
p 102 proc.c p->state = RUNNABLE;
p 175 proc.c struct proc *p;
p 200 proc.c for(p = ptable.proc; p < &ptable.proc[NPROC]; p++){
p 201 proc.c if(p->parent == proc){
p 202 proc.c p->parent = initproc;
p 203 proc.c if(p->state == ZOMBIE)
p 219 proc.c struct proc *p;
p 226 proc.c for(p = ptable.proc; p < &ptable.proc[NPROC]; p++){
p 227 proc.c if(p->parent != proc)
p 230 proc.c if(p->state == ZOMBIE){
p 232 proc.c pid = p->pid;
p 233 proc.c kfree(p->kstack);
p 234 proc.c p->kstack = 0;
p 235 proc.c freevm(p->pgdir);
p 236 proc.c p->state = UNUSED;
p 237 proc.c p->pid = 0;
p 238 proc.c p->parent = 0;
p 239 proc.c p->name[0] = 0;
p 240 proc.c p->killed = 0;
p 268 proc.c struct proc *p;
p 276 proc.c for(p = ptable.proc; p < &ptable.proc[NPROC]; p++){
p 277 proc.c if(p->state != RUNNABLE)
p 283 proc.c proc = p;
p 284 proc.c switchuvm(p);
p 285 proc.c p->state = RUNNING;
p 392 proc.c struct proc *p;
p 394 proc.c for(p = ptable.proc; p < &ptable.proc[NPROC]; p++)
p 395 proc.c if(p->state == SLEEPING && p->chan == chan)
p 396 proc.c p->state = RUNNABLE;
p 414 proc.c struct proc *p;
p 417 proc.c for(p = ptable.proc; p < &ptable.proc[NPROC]; p++){
p 418 proc.c if(p->pid == pid){
p 419 proc.c p->killed = 1;
p 421 proc.c if(p->state == SLEEPING)
p 422 proc.c p->state = RUNNABLE;
p 447 proc.c struct proc *p;
p 451 proc.c for(p = ptable.proc; p < &ptable.proc[NPROC]; p++){
p 452 proc.c if(p->state == UNUSED)
p 454 proc.c if(p->state >= 0 && p->state < NELEM(states) && states[p->state])
p 455 proc.c state = states[p->state];
p 458 proc.c cprintf("%d %s %s", p->pid, state, p->name);
p 459 proc.c if(p->state == SLEEPING){
p 460 proc.c getcallerpcs((uint*)p->context->ebp+2, pc);
p 60 sh.c int p[2];
p 102 sh.c if(pipe(p) < 0)
p 106 sh.c dup(p[1]);
p 107 sh.c close(p[0]);
p 108 sh.c close(p[1]);
p 113 sh.c dup(p[0]);
p 114 sh.c close(p[0]);
p 115 sh.c close(p[1]);
p 118 sh.c close(p[0]);
p 119 sh.c close(p[1]);
p 59 string.c strncmp(const char *p, const char *q, uint n)
p 61 string.c while(n > 0 && *p && *p == *q)
p 62 string.c n--, p++, q++;
p 65 string.c return (uchar)*p - (uchar)*q;
p 71 sysfile.c char *p;
p 73 sysfile.c if(argfd(0, 0, &f) < 0 || argint(2, &n) < 0 || argptr(1, &p, n) < 0)
p 75 sysfile.c return fileread(f, p, n);
p 83 sysfile.c char *p;
p 85 sysfile.c if(argfd(0, 0, &f) < 0 || argint(2, &n) < 0 || argptr(1, &p, n) < 0)
p 87 sysfile.c return filewrite(f, p, n);
p 21 uart.c char *p;
p 47 uart.c for(p="xv6...\n"; *p; p++)
p 48 uart.c uartputc(*p);
p 19 ulib.c strcmp(const char *p, const char *q)
p 21 ulib.c while(*p && *p == *q)
p 22 ulib.c p++, q++;
p 23 ulib.c return (uchar)*p - (uchar)*q;
p 27 umalloc.c Header *bp, *p;
p 30 umalloc.c for(p = freep; !(bp > p && bp < p->s.ptr); p = p->s.ptr)
p 31 umalloc.c if(p >= p->s.ptr && (bp > p || bp < p->s.ptr))
p 33 umalloc.c if(bp + bp->s.size == p->s.ptr){
p 34 umalloc.c bp->s.size += p->s.ptr->s.size;
p 35 umalloc.c bp->s.ptr = p->s.ptr->s.ptr;
p 37 umalloc.c bp->s.ptr = p->s.ptr;
p 38 umalloc.c if(p + p->s.size == bp){
p 39 umalloc.c p->s.size += bp->s.size;
p 40 umalloc.c p->s.ptr = bp->s.ptr;
p 42 umalloc.c p->s.ptr = bp;
p 43 umalloc.c freep = p;
p 49 umalloc.c char *p;
p 54 umalloc.c p = sbrk(nu * sizeof(Header));
p 55 umalloc.c if(p == (char*)-1)
p 57 umalloc.c hp = (Header*)p;
p 66 umalloc.c Header *p, *prevp;
p 74 umalloc.c for(p = prevp->s.ptr; ; prevp = p, p = p->s.ptr){
p 75 umalloc.c if(p->s.size >= nunits){
p 76 umalloc.c if(p->s.size == nunits)
p 77 umalloc.c prevp->s.ptr = p->s.ptr;
p 79 umalloc.c p->s.size -= nunits;
p 80 umalloc.c p += p->s.size;
p 81 umalloc.c p->s.size = nunits;
p 84 umalloc.c return (void*)(p + 1);
p 86 umalloc.c if(p == freep)
p 87 umalloc.c if((p = morecore(nunits)) == 0)
p 1418 usertests.c char *a, *b, *c, *lastaddr, *oldbrk, *p, scratch;
p 1455 usertests.c p = sbrk(amt);
p 1456 usertests.c if (p != a) {
p 1550 usertests.c validateint(int *p)
p 1558 usertests.c "a" (SYS_sleep), "n" (T_SYSCALL), "c" (p) :
p 1566 usertests.c uint p;
p 1571 usertests.c for(p = 0; p <= (uint)hi; p += 4096){
p 1574 usertests.c validateint((int*)p);
p 1583 usertests.c if(link("nosuchfile", (char*)p) != -1){
p 165 vm.c switchuvm(struct proc *p)
p 173 vm.c if(p->pgdir == 0)
p 175 vm.c lcr3(v2p(p->pgdir)); // switch to new address space
p 358 vm.c copyout(pde_t *pgdir, uint va, void *p, uint len)
p 363 vm.c buf = (char*)p;
p 63 x86.h lgdt(struct segdesc *p, int size)
p 68 x86.h pd[1] = (uint)p;
p 69 x86.h pd[2] = (uint)p >> 16;
p 77 x86.h lidt(struct gatedesc *p, int size)
p 82 x86.h pd[1] = (uint)p;
p 83 x86.h pd[2] = (uint)p >> 16;