xref: /xv6-public/runoff.spec (revision 5bf11c50)
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
5d49d3138SAustin Clements# the two pages.  "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.
11d49d3138SAustin Clements#
12d49d3138SAustin Clements# You'd think these would be the other way around.
13d2c7f649SAustin Clements
14eaea18cbSrsc# types.h either
15eaea18cbSrsc# param.h either
16eaea18cbSrsc# defs.h either
17eaea18cbSrsc# x86.h either
18eaea18cbSrsc# asm.h either
19eaea18cbSrsc# mmu.h either
20eaea18cbSrsc# elf.h either
21eaea18cbSrsc# mp.h either
22eaea18cbSrsc
23eaea18cbSrsceven: bootasm.S  # mild preference
24eaea18cbSrsceven: bootother.S  # mild preference
25d8828817SAustin Clementseven: bootmain.c  # mild preference
26f1f8dd91Srsceven: main.c
27eaea18cbSrsc# mp.c don't care at all
280aef8914SRuss Cox# even: initcode.S
290aef8914SRuss Cox# odd: init.c
30eaea18cbSrsc
31eaea18cbSrsc# spinlock.h either
32d8828817SAustin Clementsleft: spinlock.h  # mild preference
33d8828817SAustin Clementseven: spinlock.h  # mild preference
34d8828817SAustin Clements
35d8828817SAustin Clements# This gets struct proc and allocproc on the same spread
36d8828817SAustin Clementsright: proc.h
37d8828817SAustin Clementsodd: proc.h
380aef8914SRuss Cox
390aef8914SRuss Cox# goal is to have two action-packed 2-page spreads,
400aef8914SRuss Cox# one with
41d8828817SAustin Clements#     userinit growproc fork exit wait
420aef8914SRuss Cox# and another with
430aef8914SRuss Cox#     scheduler sched yield forkret sleep wakeup1 wakeup
44d8828817SAustin Clementsleft: proc.c   # VERY important
45d8828817SAustin Clementsodd: proc.c   # VERY important
460aef8914SRuss Cox
47f25a3f9aSAustin Clements# A few more action packed spreads
48f25a3f9aSAustin Clements# page table creation and process loading
49f25a3f9aSAustin Clements#     walkpgdir mappages setupkvm vmenable switch[ku]vm inituvm loaduvm
50f25a3f9aSAustin Clements# process memory management
51f25a3f9aSAustin Clements#     allocuvm deallocuvm freevm
52f25a3f9aSAustin Clementsright: vm.c
53f25a3f9aSAustin Clementsodd: vm.c
54f25a3f9aSAustin Clements
55eaea18cbSrsc# kalloc.c either
56eaea18cbSrsc
57eaea18cbSrsc# syscall.h either
58eaea18cbSrsc# trapasm.S either
59eaea18cbSrsc# traps.h either
600aef8914SRuss Cox# even: trap.c
61eaea18cbSrsc# vectors.pl either
62eaea18cbSrsc# syscall.c either
63eaea18cbSrsc# sysproc.c either
64eaea18cbSrsc
65eaea18cbSrsc# buf.h either
66eaea18cbSrsc# dev.h either
67eaea18cbSrsc# fcntl.h either
68eaea18cbSrsc# stat.h either
69eaea18cbSrsc# file.h either
70eaea18cbSrsc# fs.h either
71eaea18cbSrsc# fsvar.h either
720aef8914SRuss Coxleft: ide.c
73*5bf11c50SAustin Clementseven: ide.c
74eaea18cbSrsc# odd: bio.c
75eaea18cbSrscodd: fs.c   # VERY important
76eaea18cbSrsc# file.c either
77eaea18cbSrsc# exec.c either
78eaea18cbSrsc# sysfile.c either
79eaea18cbSrsc
800c931af5Srsc# even: pipe.c  # mild preference
81eaea18cbSrsc# string.c either
820aef8914SRuss Coxleft: kbd.h
83*5bf11c50SAustin Clementseven: kbd.h
84eae04163Srsceven: console.c
85eae04163Srscodd: sh.c
86