1# Is sheet 01 (after the TOC) a left sheet or a right sheet? 2sheet1: left 3 4# "left" and "right" specify which page of a two-page spread a file 5# must start on. "left" means that a file must start on the first of 6# the two pages. "right" means it must start on the second of the two 7# pages. The file may start in either column. 8# 9# "even" and "odd" specify which column a file must start on. "even" 10# means it must start in the left of the two columns (00). "odd" means it 11# must start in the right of the two columns (50). 12# 13# You'd think these would be the other way around. 14 15# types.h either 16# param.h either 17# defs.h either 18# x86.h either 19# asm.h either 20# mmu.h either 21# elf.h either 22# mp.h either 23 24even: entry.S # mild preference 25even: entryother.S # mild preference 26even: main.c 27# mp.c don't care at all 28# even: initcode.S 29# odd: init.c 30 31left: spinlock.h 32even: spinlock.h 33 34# This gets struct proc and allocproc on the same spread 35left: proc.h 36even: proc.h 37 38# goal is to have two action-packed 2-page spreads, 39# one with 40# userinit growproc fork exit wait 41# and another with 42# scheduler sched yield forkret sleep wakeup1 wakeup 43right: proc.c # VERY important 44even: proc.c # VERY important 45 46# A few more action packed spreads 47# page table creation and process loading 48# walkpgdir mappages setupkvm switch[ku]vm inituvm (loaduvm) 49# process memory management 50# allocuvm deallocuvm freevm 51left: vm.c 52 53even: kalloc.c # mild preference 54 55# syscall.h either 56# trapasm.S either 57# traps.h either 58# even: trap.c 59# vectors.pl either 60# syscall.c either 61# sysproc.c either 62 63# buf.h either 64# dev.h either 65# fcntl.h either 66# stat.h either 67# file.h either 68# fs.h either 69# fsvar.h either 70# left: ide.c # mild preference 71even: ide.c 72# odd: bio.c 73 74# log.c fits nicely in a spread 75even: log.c 76left: log.c 77 78# with fs.c starting on 2nd column of a left page, we get these 2-page spreads: 79# ialloc iupdate iget idup ilock iunlock iput iunlockput 80# bmap itrunc stati readi writei 81# namecmp dirlookup dirlink skipelem namex namei 82# fileinit filealloc filedup fileclose filestat fileread filewrite 83# starting on 2nd column of a right page is not terrible either 84odd: fs.c # VERY important 85left: fs.c # mild preference 86# file.c either 87# exec.c either 88# sysfile.c either 89 90# Mild preference, but makes spreads of mp.c, lapic.c, and ioapic.c+picirq.c 91even: mp.c 92left: mp.c 93 94# even: pipe.c # mild preference 95# string.c either 96# left: kbd.h # mild preference 97even: kbd.h 98even: console.c 99odd: sh.c 100 101even: bootasm.S # mild preference 102even: bootmain.c # mild preference 103