xref: /xv6-public/runoff.spec (revision f25a3f9a)
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 page.  "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# types.h either
13# param.h either
14# defs.h either
15# x86.h either
16# asm.h either
17# mmu.h either
18# elf.h either
19# mp.h either
20
21even: bootasm.S  # mild preference
22even: bootother.S  # mild preference
23even: bootmain.c  # mild preference
24even: main.c
25# mp.c don't care at all
26# even: initcode.S
27# odd: init.c
28
29# spinlock.h either
30left: spinlock.h  # mild preference
31even: spinlock.h  # mild preference
32
33# This gets struct proc and allocproc on the same spread
34right: proc.h
35odd: proc.h
36
37# goal is to have two action-packed 2-page spreads,
38# one with
39#     userinit growproc fork exit wait
40# and another with
41#     scheduler sched yield forkret sleep wakeup1 wakeup
42left: proc.c   # VERY important
43odd: proc.c   # VERY important
44
45# A few more action packed spreads
46# page table creation and process loading
47#     walkpgdir mappages setupkvm vmenable switch[ku]vm inituvm loaduvm
48# process memory management
49#     allocuvm deallocuvm freevm
50right: vm.c
51odd: vm.c
52
53# kalloc.c either
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
70left: ide.c
71# odd: bio.c
72odd: fs.c   # VERY important
73# file.c either
74# exec.c either
75# sysfile.c either
76
77# even: pipe.c  # mild preference
78# string.c either
79left: kbd.h
80even: console.c
81odd: sh.c
82