47 lines
1,014 B
Plaintext
47 lines
1,014 B
Plaintext
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).
|
|
|