1# types.h either 2# param.h either 3# defs.h either 4# x86.h either 5# asm.h either 6# mmu.h either 7# elf.h either 8# mp.h either 9 10even: bootasm.S # mild preference 11even: bootother.S # mild preference 12# bootmain.c either 13even: main.c 14# mp.c don't care at all 15# even: initcode.S 16# odd: init.c 17 18# spinlock.h either 19# spinlock.c either 20right: spinlock.c # mild preference 21even: proc.h # mild preference 22 23# goal is to have two action-packed 2-page spreads, 24# one with 25# ksegment usegment allocproc userinit growproc fork 26# and another with 27# scheduler sched yield forkret sleep wakeup1 wakeup 28right: proc.c # VERY important 29 30# setjmp.S either 31# vm.c either 32# kalloc.c either 33 34# syscall.h either 35# trapasm.S either 36# traps.h either 37# even: trap.c 38# vectors.pl either 39# syscall.c either 40# sysproc.c either 41 42# buf.h either 43# dev.h either 44# fcntl.h either 45# stat.h either 46# file.h either 47# fs.h either 48# fsvar.h either 49left: ide.c 50# odd: bio.c 51odd: fs.c # VERY important 52# file.c either 53# exec.c either 54# sysfile.c either 55 56# even: pipe.c # mild preference 57# string.c either 58left: kbd.h 59even: console.c 60odd: sh.c 61