xref: /xv6-public/runoff.spec (revision 5bf11c50)
1sheet1: left
2
3# "left" and "right" specify which page of a two-page spread a file
4# must start on.  "left" means that a file must start on the first of
5# the two pages.  "right" means it must start on the second of the two
6# pages.  The file may start in either column.
7#
8# "even" and "odd" specify which column a file must start on.  "even"
9# means it must start in the left of the two columns.  "odd" means it
10# must start in the right of the two columns.
11#
12# You'd think these would be the other way around.
13
14# types.h either
15# param.h either
16# defs.h either
17# x86.h either
18# asm.h either
19# mmu.h either
20# elf.h either
21# mp.h either
22
23even: bootasm.S  # mild preference
24even: bootother.S  # mild preference
25even: bootmain.c  # mild preference
26even: main.c
27# mp.c don't care at all
28# even: initcode.S
29# odd: init.c
30
31# spinlock.h either
32left: spinlock.h  # mild preference
33even: spinlock.h  # mild preference
34
35# This gets struct proc and allocproc on the same spread
36right: proc.h
37odd: proc.h
38
39# goal is to have two action-packed 2-page spreads,
40# one with
41#     userinit growproc fork exit wait
42# and another with
43#     scheduler sched yield forkret sleep wakeup1 wakeup
44left: proc.c   # VERY important
45odd: proc.c   # VERY important
46
47# A few more action packed spreads
48# page table creation and process loading
49#     walkpgdir mappages setupkvm vmenable switch[ku]vm inituvm loaduvm
50# process memory management
51#     allocuvm deallocuvm freevm
52right: vm.c
53odd: vm.c
54
55# kalloc.c either
56
57# syscall.h either
58# trapasm.S either
59# traps.h either
60# even: trap.c
61# vectors.pl either
62# syscall.c either
63# sysproc.c either
64
65# buf.h either
66# dev.h either
67# fcntl.h either
68# stat.h either
69# file.h either
70# fs.h either
71# fsvar.h either
72left: ide.c
73even: ide.c
74# odd: bio.c
75odd: fs.c   # VERY important
76# file.c either
77# exec.c either
78# sysfile.c either
79
80# even: pipe.c  # mild preference
81# string.c either
82left: kbd.h
83even: kbd.h
84even: console.c
85odd: sh.c
86