blob: 6b5a1e8815e3b9cfee8c596206e440cab80ef538 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# This file is meant to change some aspect of how weenix is built or run.
# Variables in this file should meet the following criteria:
# * They change some behavior in the building or running of weenix that someone
# using weenix for educational purposes could reasonably want to change on a regular
# basis. Note that variables like CFLAGS are not defined here because they should
# generally not be changed.
#
# Setting any of these variables will control which parts of the source tree
# are built. To enable something set it to 1, otherwise set it to 0.
#
DRIVERS=1
VFS=1
S5FS=1
VM=1
DYNAMIC=1
# When you finish S5FS, first enable "VM"; once this is working, then enable
# "DYNAMIC".
# Debug message behaviour: Edit `INIT_DBG_MODES` in kernel/util/debug.c to set
# which messages are shown.
# Switches for non-required components. If you wish to try implementing
# some extra features in Weenix, there are some pre-designed features
# you can add. Turn on one of these flags and re-compile Weenix. Please
# see the Wiki for details on what is provided by changing these flags
# and what you will need to implement to complete them, of course you
# are always free to implement your own features as well. Remember, though
# these features are not "extra-credit" they are purely for academic
# interest. The most important thing is that you have a working core
# implementation, and that is what you will be graded on. If you decide
# to implement extra features please make sure your core Weenix is working
# first, and make sure to make a copy of your working Weenix before you
# go breaking it, which we promise you will happen.
SHADOWD=0 # shadow page cleanup
MOUNTING=0 # be able to mount multiple file systems
GETCWD=0 # getcwd(3) syscall-like functionality
UPREEMPT=0 # userland preemption
KPREEMPT=0 # kernel space preemption
MTP=0 # multiple kernel threads per process
PIPES=0 # pipe(2) functionality
SMP=0 # symmetric multiprocessing support
VGABUF=0 # Use a rudimentary VGA buffers instead of VT support.
KPREEMPT=0
RENAMEDIR=0
# Set the number of terminals that we should be launching.
NTERMS=3
# Set the number of disks that we should be launching with
NDISKS=1
# terminal binary to use when opening a second terminal for gdb
GDB_TERM=xterm
GDB_PORT=1234
# The amount of physical memory which will be available to Weenix (in megabytes)
# XXX MEMORY=256 is hardcoded in ./weenix right now -- this line here is
# currently ignored
MEMORY=256
# Parameters for the hard disk we build (must be compatible!)
# If the FS is too big for the disk, BAD things happen!
DISK_BLOCKS=2048 # For fsmaker
DISK_INODES=240 # For fsmaker
# Boolean options specified in this specified in this file that should be
# included as definitions at compile time
COMPILE_CONFIG_BOOLS=" DRIVERS VFS S5FS VM FI DYNAMIC MOUNTING MTP GETCWD RENAMEDIR UPREEMPT PIPES SMP KPREEMPT"
# As above, but not booleans
COMPILE_CONFIG_DEFS=" NTERMS NDISKS DBG DISK_SIZE "
|