runoff.list: bootmain.c missing mmu.h: funny \ alignment in mmu.h main.c: should use static int bcpu to avoid having live stack variable across the asm volatile that changes %esp and %ebp. cpus[0] -> cpus[bcpu] init.c: should while(wait() >= 0); not just wait(); proc.c: comment at top of scheduler() should say via longjmp back to the scheduler not via longjmp back to the top of scheduler sched should panic if state == RUNNING. forkret comment should say "Return" not "return" as a consequence of the implementation of proc_kill, any loop calling sleep should check for p->killed and be able to break out with an error return. can swap procdump up after proc_kill and then have proc_exit and proc_wait on same sheet proc_exit should wake up proc[1] if any reparenting was done. sched -> switch2scheduler? or just switch? trap.c if spin locks are ever held without cli, trap should call yield() only if nlock == 0 main.c, proc.c, trap.c: use a constant for 3 (USER).