Make the default simulator qemu for project 2...4,
authorBen Pfaff <blp@cs.stanford.edu>
Fri, 26 May 2006 20:59:59 +0000 (20:59 +0000)
committerBen Pfaff <blp@cs.stanford.edu>
Fri, 26 May 2006 20:59:59 +0000 (20:59 +0000)
instead of just doing so in tests/Makefile.
Update documentation to match.

doc/filesys.texi
doc/intro.texi
doc/userprog.texi
doc/vm.texi
src/filesys/Make.vars
src/tests/Make.tests
src/threads/Make.vars
src/userprog/Make.vars
src/utils/pintos
src/vm/Make.vars
tests/Makefile

index 08ac31c6a97a0151abd3d8c99434fbb781cb1b87..a93481cca37da657cf8ec50890691e12f2d39dfe 100644 (file)
@@ -14,10 +14,6 @@ filesys submission.  If you build on project 3, then all of the project
 @file{filesys/Make.vars} to enable VM functionality.  You can receive up
 to 5% extra credit if you do enable VM.
 
-The tests for project 4 will run much faster if
-you use the qemu emulator, e.g.@: via @code{make check
-PINTOSOPTS='--qemu'}.
-
 @menu
 * Project 4 Background::        
 * Project 4 Requirements::      
index d95842ee274f1e84d75aabe65226dc0c906258d4..f5e6fb3239ec8fd76d45c191ec967e5708a1ce97 100644 (file)
@@ -268,8 +268,8 @@ When you're debugging code, it's useful to be able to run a
 program twice and have it do exactly the same thing.  On second and
 later runs, you can make new observations without having to discard or
 verify your old observations.  This property is called
-``reproducibility.''  The simulator we use by default, Bochs, can be set
-up for
+``reproducibility.''  One of the simulators that Pintos supports, Bochs,
+can be set up for
 reproducibility, and that's the way that @command{pintos} invokes it
 by default.
 
@@ -337,7 +337,10 @@ After running all the tests, @command{make check} also prints a summary
 of the test results.
 
 For project 1, the tests will probably run faster in Bochs.  For the
-rest of the projects, they will probably run faster in qemu.
+rest of the projects, they will run much faster in qemu.
+@command{make check} will select the faster simulator by default, but
+you can override its choice by specifying @option{SIMULATOR=--bochs} or
+@option{SIMULATOR=--qemu} on the @command{make} command line.
 
 You can also run individual tests one at a time.  A given test @var{t}
 writes its output to @file{@var{t}.output}, then a script scores the
@@ -353,8 +356,8 @@ its run.  If you prefer, you can observe the progress of each test by
 specifying @option{VERBOSE=1} on the @command{make} command line, as in
 @code{make check VERBOSE=1}.  You can also provide arbitrary options to the
 @command{pintos} run by the tests with @option{PINTOSOPTS='@dots{}'},
-e.g.@: @code{make check PINTOSOPTS='--qemu'} to run the tests under
-qemu.
+e.g.@: @code{make check PINTOSOPTS='-j 1'} to select a jitter value of 1
+(@pxref{Debugging Versus Testing}).
 
 All of the tests and related files are in @file{pintos/src/tests}.
 Before we test your submission, we will replace the contents of that
index 65caf334a8495cdc3a61de1fe945b85adfa67117..b3987d9a29748e547499746c0f50ea0ad96b1eb5 100644 (file)
@@ -20,9 +20,7 @@ assignment.  The ``alarm clock'' functionality may be useful in
 projects 3 and 4, but it is not strictly required.
 
 You might find it useful to go back and reread how to run the tests
-(@pxref{Testing}).  In particular, the tests for project 2 (and later
-projects) will run much faster if you use the qemu emulator, e.g.@:
-via @code{make check PINTOSOPTS='--qemu'}.
+(@pxref{Testing}).
 
 @menu
 * Project 2 Background::        
index 53c88cbfc7e9645715f855442f037b6af0f58378..be9980800808b758fbae9fbe95ef67fbb5a56fa1 100644 (file)
@@ -17,10 +17,6 @@ in project 3.
 You will continue to handle Pintos disks and file systems the same way
 you did in the previous assignment (@pxref{Using the File System}).
 
-The tests for project 3 (and later projects) will run much faster if
-you use the qemu emulator, e.g.@: via @code{make check
-PINTOSOPTS='--qemu'}.
-
 @menu
 * Project 3 Background::        
 * Project 3 Suggested Order of Implementation::  
index 7fec17280f260785005073c061fd884116b523e6..d8050cd9718421f02f62173b6b190afb8f123da1 100644 (file)
@@ -4,6 +4,7 @@ os.dsk: DEFINES = -DUSERPROG -DFILESYS
 KERNEL_SUBDIRS = threads devices lib lib/kernel userprog filesys
 TEST_SUBDIRS = tests/userprog tests/filesys/base tests/filesys/extended
 GRADING_FILE = $(SRCDIR)/tests/filesys/Grading.no-vm
+SIMULATOR = --qemu
 
 # Uncomment the lines below to enable VM.
 #os.dsk: DEFINES += -DVM
index 44e8d5e495b91fb5a6727b99f3ebc8124f9c8da9..9cb992bda4b48b8b288f7d877e4142d0ea536336 100644 (file)
@@ -12,7 +12,7 @@ PINTOSFLAGS += -v -T $(TIMEOUT)                                               \
        $(foreach file,$(PUTFILES),-p $(file) -a $(notdir $(file)))
 KERNELFLAGS += -q
 
-PINTOS = pintos $(PINTOSOPTS) $(PINTOSFLAGS) -- $(KERNELFLAGS)
+PINTOS = pintos $(SIMULATOR) $(PINTOSOPTS) $(PINTOSFLAGS) -- $(KERNELFLAGS)
 
 OUTPUTS = $(addsuffix .output,$(TESTS))
 ERRORS = $(addsuffix .errors,$(TESTS))
index 1c90f59f84d517c00d21d3d8370329d7b851da20..dc45c2a13dbc24e62a1dda1d4835af3a7b6a52a9 100644 (file)
@@ -4,3 +4,4 @@ os.dsk: DEFINES =
 KERNEL_SUBDIRS = threads devices lib lib/kernel $(TEST_SUBDIRS)
 TEST_SUBDIRS = tests/threads
 GRADING_FILE = $(SRCDIR)/tests/threads/Grading
+SIMULATOR = --bochs
index 711b091e7dc0b9897272dcdd61146b9669155dd7..9db3cfa6c91baa76b1557ccfd420a2b037bd0f9e 100644 (file)
@@ -4,3 +4,4 @@ os.dsk: DEFINES = -DUSERPROG -DFILESYS
 KERNEL_SUBDIRS = threads devices lib lib/kernel userprog filesys
 TEST_SUBDIRS = tests/userprog tests/userprog/no-vm tests/filesys/base
 GRADING_FILE = $(SRCDIR)/tests/userprog/Grading
+SIMULATOR = --qemu
index 19ef70f650954680a8507bad26e5364c2e8ec226..31f4a38dc867950e0a52b8906d65e103a88d5504 100755 (executable)
@@ -8,7 +8,7 @@ use Getopt::Long qw(:config bundling);
 
 # Command-line options.
 our ($start_time) = time ();
-our ($sim) = $ENV{PINTOSSIM};  # Simulator: bochs, qemu, or gsx.
+our ($sim);                    # Simulator: bochs, qemu, or gsx.
 our ($debug) = "none";         # Debugger: none, monitor, or gdb.
 our ($mem) = 4;                        # Physical RAM in MB.
 our ($serial_out) = 1;         # Send output to serial port?
@@ -130,8 +130,6 @@ Disk options: (name an existing FILE or specify SIZE in MB for a temp disk)
   --swap-disk=FILE|SIZE    Set swap disk file (default: swap.dsk)
 Other options:
   -h, --help               Display this help message.
-Environment variables:
-  PINTOSSIM                Select default simulator.
 EOF
     exit $exitcode;
 }
index a65d137c77b2d980ea29886d92e1e68469f43c33..a5ea6b02f8181e3b7d8cd3a05d27ec61a1716d8a 100644 (file)
@@ -4,3 +4,4 @@ os.dsk: DEFINES = -DUSERPROG -DFILESYS -DVM
 KERNEL_SUBDIRS = threads devices lib lib/kernel userprog filesys vm
 TEST_SUBDIRS = tests/userprog tests/vm tests/filesys/base
 GRADING_FILE = $(SRCDIR)/tests/vm/Grading
+SIMULATOR = --qemu
index b119ffd80021e3c9c6f67cca3a2ede1c8e80d4d4..102e1e96f21f92a17002abc004ef1654eb7476ec 100644 (file)
@@ -19,7 +19,7 @@ cd $@/src && $(MAKE) -s clean
 endef
 
 define run-tests
-cd $@/src/$(PROJECT) && $(MAKE) check PINTOSOPTS=$(PINTOSOPTS)
+cd $@/src/$(PROJECT) && $(MAKE) check
 endef
 
 define grade-tests
@@ -58,7 +58,6 @@ examples userprog vm filesys::
        $(clean)
 
 # Tests for the reference solutions.
-p2 p3 p4: PINTOSOPTS = --qemu
 p1 p2 p3 p4::
        $(mk-sandbox)
        $(apply-patch)