diff options
author | nthnluu <nate1299@me.com> | 2024-01-28 21:20:27 -0500 |
---|---|---|
committer | nthnluu <nate1299@me.com> | 2024-01-28 21:20:27 -0500 |
commit | c63f340d90800895f007de64b7d2d14624263331 (patch) | |
tree | 2c0849fa597dd6da831c8707b6f2603403778d7b /Config.mk |
Created student weenix repository
Diffstat (limited to 'Config.mk')
-rw-r--r-- | Config.mk | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/Config.mk b/Config.mk new file mode 100644 index 0000000..75aecf4 --- /dev/null +++ b/Config.mk @@ -0,0 +1,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=1 + RENAMEDIR=1 + +# 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 " |