19d7a63e0SAustin Clementssheet1: left 29d7a63e0SAustin Clements 3d2c7f649SAustin Clements# "left" and "right" specify which page of a two-page spread a file 4d2c7f649SAustin Clements# must start on. "left" means that a file must start on the first of 5d2c7f649SAustin Clements# the two page. "right" means it must start on the second of the two 6d2c7f649SAustin Clements# pages. The file may start in either column. 7d2c7f649SAustin Clements# 8d2c7f649SAustin Clements# "even" and "odd" specify which column a file must start on. "even" 9d2c7f649SAustin Clements# means it must start in the left of the two columns. "odd" means it 10d2c7f649SAustin Clements# must start in the right of the two columns. 11d2c7f649SAustin Clements 12eaea18cbSrsc# types.h either 13eaea18cbSrsc# param.h either 14eaea18cbSrsc# defs.h either 15eaea18cbSrsc# x86.h either 16eaea18cbSrsc# asm.h either 17eaea18cbSrsc# mmu.h either 18eaea18cbSrsc# elf.h either 19eaea18cbSrsc# mp.h either 20eaea18cbSrsc 21eaea18cbSrsceven: bootasm.S # mild preference 22eaea18cbSrsceven: bootother.S # mild preference 23d8828817SAustin Clementseven: bootmain.c # mild preference 24f1f8dd91Srsceven: main.c 25eaea18cbSrsc# mp.c don't care at all 260aef8914SRuss Cox# even: initcode.S 270aef8914SRuss Cox# odd: init.c 28eaea18cbSrsc 29eaea18cbSrsc# spinlock.h either 30d8828817SAustin Clementsleft: spinlock.h # mild preference 31d8828817SAustin Clementseven: spinlock.h # mild preference 32d8828817SAustin Clements 33d8828817SAustin Clements# This gets struct proc and allocproc on the same spread 34d8828817SAustin Clementsright: proc.h 35d8828817SAustin Clementsodd: proc.h 360aef8914SRuss Cox 370aef8914SRuss Cox# goal is to have two action-packed 2-page spreads, 380aef8914SRuss Cox# one with 39d8828817SAustin Clements# userinit growproc fork exit wait 400aef8914SRuss Cox# and another with 410aef8914SRuss Cox# scheduler sched yield forkret sleep wakeup1 wakeup 42d8828817SAustin Clementsleft: proc.c # VERY important 43d8828817SAustin Clementsodd: proc.c # VERY important 440aef8914SRuss Cox 45*f25a3f9aSAustin Clements# A few more action packed spreads 46*f25a3f9aSAustin Clements# page table creation and process loading 47*f25a3f9aSAustin Clements# walkpgdir mappages setupkvm vmenable switch[ku]vm inituvm loaduvm 48*f25a3f9aSAustin Clements# process memory management 49*f25a3f9aSAustin Clements# allocuvm deallocuvm freevm 50*f25a3f9aSAustin Clementsright: vm.c 51*f25a3f9aSAustin Clementsodd: vm.c 52*f25a3f9aSAustin Clements 53eaea18cbSrsc# kalloc.c either 54eaea18cbSrsc 55eaea18cbSrsc# syscall.h either 56eaea18cbSrsc# trapasm.S either 57eaea18cbSrsc# traps.h either 580aef8914SRuss Cox# even: trap.c 59eaea18cbSrsc# vectors.pl either 60eaea18cbSrsc# syscall.c either 61eaea18cbSrsc# sysproc.c either 62eaea18cbSrsc 63eaea18cbSrsc# buf.h either 64eaea18cbSrsc# dev.h either 65eaea18cbSrsc# fcntl.h either 66eaea18cbSrsc# stat.h either 67eaea18cbSrsc# file.h either 68eaea18cbSrsc# fs.h either 69eaea18cbSrsc# fsvar.h either 700aef8914SRuss Coxleft: ide.c 71eaea18cbSrsc# odd: bio.c 72eaea18cbSrscodd: fs.c # VERY important 73eaea18cbSrsc# file.c either 74eaea18cbSrsc# exec.c either 75eaea18cbSrsc# sysfile.c either 76eaea18cbSrsc 770c931af5Srsc# even: pipe.c # mild preference 78eaea18cbSrsc# string.c either 790aef8914SRuss Coxleft: kbd.h 80eae04163Srsceven: console.c 81eae04163Srscodd: sh.c 82