Ben Pfaff [Thu, 17 Mar 2005 18:51:58 +0000 (18:51 +0000)]
When run.out is missing in &grade_test, just return an error that
preparation failed, instead of dying. This can happen legitimately
when a `pintos put' fails.
Ben Pfaff [Thu, 17 Mar 2005 18:21:14 +0000 (18:21 +0000)]
Remove file no longer needed.
Ben Pfaff [Sat, 5 Mar 2005 03:25:49 +0000 (03:25 +0000)]
Add another valid alternative for exec-missing output.
Ben Pfaff [Tue, 1 Mar 2005 06:11:36 +0000 (06:11 +0000)]
Update numbers according to Sameer's suggestions.
Ben Pfaff [Thu, 24 Feb 2005 22:22:19 +0000 (22:22 +0000)]
active_pd() should return a virtual address.
Ben Pfaff [Tue, 22 Feb 2005 20:54:06 +0000 (20:54 +0000)]
Only consider a disk to exist if it has nonzero size.
Ben Pfaff [Tue, 22 Feb 2005 20:51:37 +0000 (20:51 +0000)]
Remove trailing whitespace.
Ben Pfaff [Tue, 15 Feb 2005 04:59:40 +0000 (04:59 +0000)]
Use TIMER_FREQ of 19 for grading priority-fifo.
Ben Pfaff [Fri, 11 Feb 2005 05:13:08 +0000 (05:13 +0000)]
Apply appropriate changes from main branch to bring win0405-branch up
to date.
Ben Pfaff [Fri, 11 Feb 2005 03:49:41 +0000 (03:49 +0000)]
Fix randomization patches to work with revised bitmap code.
Ben Pfaff [Wed, 9 Feb 2005 06:07:36 +0000 (06:07 +0000)]
Fix typo.
Ben Pfaff [Tue, 8 Feb 2005 18:27:26 +0000 (18:27 +0000)]
Free file in file_close().
Ben Pfaff [Mon, 7 Feb 2005 05:56:04 +0000 (05:56 +0000)]
Get rid of THREAD_JOIN_IMPLEMENTED by adding thread_join() stub.
Also add stub implementations of thread_get_priority() and
thread_set_priority().
Ben Pfaff [Mon, 7 Feb 2005 05:52:50 +0000 (05:52 +0000)]
Increase default timeout to 15 seconds.
Ben Pfaff [Sat, 29 Jan 2005 06:50:57 +0000 (06:50 +0000)]
Remove .cvsignore from build directories; put `build' in higher level
.cvsignore instead.
Ben Pfaff [Tue, 25 Jan 2005 20:51:43 +0000 (20:51 +0000)]
Fix typo.
Ben Pfaff [Tue, 25 Jan 2005 20:50:29 +0000 (20:50 +0000)]
Be smarter about dealing with make failures.
Ben Pfaff [Tue, 25 Jan 2005 18:13:20 +0000 (18:13 +0000)]
Fix runaway bochs, pintos processes on time-outs.
Ben Pfaff [Sat, 22 Jan 2005 19:27:20 +0000 (19:27 +0000)]
Clarify that joinability is not inherited.
Ben Pfaff [Fri, 21 Jan 2005 22:24:31 +0000 (22:24 +0000)]
Comment.
Ben Pfaff [Fri, 21 Jan 2005 22:17:37 +0000 (22:17 +0000)]
Set up a frame pointer on interrupt entry, to improve backtraces of
system calls, page faults, etc., whether they come from user space or
the kernel.
Get rid of intr-stubs.pl, replacing it by equivalent all-assembler + C
preprocessor code.
Ben Pfaff [Fri, 21 Jan 2005 22:15:20 +0000 (22:15 +0000)]
Ignore test directories.
Ben Pfaff [Fri, 21 Jan 2005 22:14:41 +0000 (22:14 +0000)]
syscall-stub.S is gone; don't talk about it.
Ben Pfaff [Fri, 21 Jan 2005 22:12:48 +0000 (22:12 +0000)]
syscall-stub.h is gone; don't #include it.
Ben Pfaff [Thu, 20 Jan 2005 07:35:50 +0000 (07:35 +0000)]
Improve debuggability by adding .func/.endfunc around functions.
Ben Pfaff [Thu, 20 Jan 2005 07:31:25 +0000 (07:31 +0000)]
Improve debuggability by eliminating system call stub in separate
assembly file. Instead, implement system call stubs in inline
assembly.
Ben Pfaff [Thu, 20 Jan 2005 05:16:26 +0000 (05:16 +0000)]
Fix quoting.
Ben Pfaff [Thu, 20 Jan 2005 05:16:03 +0000 (05:16 +0000)]
Fix quoting.
Ben Pfaff [Thu, 20 Jan 2005 00:42:59 +0000 (00:42 +0000)]
Remove more or less meaningless comment.
Ben Pfaff [Wed, 19 Jan 2005 22:47:42 +0000 (22:47 +0000)]
Print a message if the default target is used.
Ben Pfaff [Wed, 19 Jan 2005 18:39:39 +0000 (18:39 +0000)]
If the kernel image gets too big, "cmp ebx, KERNEL_LOAD_PAGES*8 + 1"
assembles into 3 more bytes, which causes the image to be too big.
This reduces the length of the panic message to compensate.
Ben Pfaff [Tue, 18 Jan 2005 18:11:11 +0000 (18:11 +0000)]
Need to turn off interrupts again after calling into BIOS.
Ben Pfaff [Tue, 18 Jan 2005 17:26:47 +0000 (17:26 +0000)]
In all the variants of the basic test for part 1-1, release the lock
when we're done with it. This shouldn't be necessary, but not
releasing the lock is a corner case that we don't necessarily want the
students to have to handle.
Ben Pfaff [Fri, 14 Jan 2005 08:23:43 +0000 (08:23 +0000)]
When a Pintos run times out, report the load average.
Ben Pfaff [Fri, 14 Jan 2005 07:59:41 +0000 (07:59 +0000)]
Priority change clarification (problem 1-3).
Ben Pfaff [Fri, 14 Jan 2005 07:28:29 +0000 (07:28 +0000)]
Fix bogus return value from `pintos' utility when calling Bochs
and deal with utilities that expected this behavior.
Ben Pfaff [Fri, 14 Jan 2005 05:43:25 +0000 (05:43 +0000)]
Expect proper result from `pintos get'.
Ben Pfaff [Thu, 13 Jan 2005 06:23:32 +0000 (06:23 +0000)]
Improve comment.
Ben Pfaff [Mon, 10 Jan 2005 08:30:31 +0000 (08:30 +0000)]
Fix Intel names for outd, ind, outsd, insd.
Ben Pfaff [Mon, 10 Jan 2005 08:27:03 +0000 (08:27 +0000)]
Fix %' grouping in printf().
I hope this finally takes care of it.
Ben Pfaff [Mon, 10 Jan 2005 08:14:56 +0000 (08:14 +0000)]
Parse PINTOSOPTS environment variable as extra command-line options.
exit 1 on get, put.
Avoid Perl warnings when cwd doesn't contain a project name.
exit 1 for qemu, gsx.
Write serial output to pintos.out under gsx.
Ben Pfaff [Mon, 10 Jan 2005 07:18:03 +0000 (07:18 +0000)]
Fix order of edi, esi, ebp, ebx in switch_threads_frame. Doesn't
matter because they're never used in the C code, but it's good to have
them correct. Thanks to Howie Xu <xuhao@stanford.edu> for reporting
this bug.
Ben Pfaff [Sun, 9 Jan 2005 08:03:38 +0000 (08:03 +0000)]
Save and restore user processes' FS and GS registers.
Ben Pfaff [Sun, 9 Jan 2005 07:56:14 +0000 (07:56 +0000)]
Fix Make.base in same way as Makefile.
Ben Pfaff [Sun, 9 Jan 2005 02:19:38 +0000 (02:19 +0000)]
%d needed to be %zu
Ben Pfaff [Sun, 9 Jan 2005 01:33:20 +0000 (01:33 +0000)]
Fix ordering.
Ben Pfaff [Sun, 9 Jan 2005 01:15:50 +0000 (01:15 +0000)]
Don't use ! in shell.
Ben Pfaff [Sun, 9 Jan 2005 01:13:48 +0000 (01:13 +0000)]
Print int with %d, not %zu.
Ben Pfaff [Sun, 9 Jan 2005 01:10:35 +0000 (01:10 +0000)]
Add self-test.
Ben Pfaff [Sun, 9 Jan 2005 01:07:39 +0000 (01:07 +0000)]
Add `null' to .cvsignore, via mkmf.
Ben Pfaff [Sun, 9 Jan 2005 00:45:47 +0000 (00:45 +0000)]
Add a `null' test for testing src/userprog before system calls have
been implemented.
Ben Pfaff [Sun, 9 Jan 2005 00:36:06 +0000 (00:36 +0000)]
Print PASS messages when complete.
Ben Pfaff [Sun, 9 Jan 2005 00:31:45 +0000 (00:31 +0000)]
When running a "test" or "assemble" target, run-tests now returns zero
if all tests succeeded or nonzero if at least one failed.
Ben Pfaff [Sat, 8 Jan 2005 18:13:54 +0000 (18:13 +0000)]
Fix ASCII art diagram. Thanks to Roy Zeighami <zeighami@stanford.edu>
for reporting this bug.
Ben Pfaff [Thu, 6 Jan 2005 08:01:49 +0000 (08:01 +0000)]
Fix typo.
Ben Pfaff [Thu, 6 Jan 2005 04:56:25 +0000 (04:56 +0000)]
Fix condition variable example.
Thanks to Adam L Beberg <beberg@stanford.edu> for reporting this bug.
Ben Pfaff [Wed, 5 Jan 2005 08:29:33 +0000 (08:29 +0000)]
Only grade mlfqs-speedup and mlfqs-priority if mlfqs-on and mlfqs-off
were tested.
Ben Pfaff [Tue, 4 Jan 2005 08:07:05 +0000 (08:07 +0000)]
Update Bochs and toolchain build summaries.
Ben Pfaff [Tue, 4 Jan 2005 07:55:25 +0000 (07:55 +0000)]
Fix "%d"s that should be "%zu"s.
Ben Pfaff [Tue, 4 Jan 2005 07:38:14 +0000 (07:38 +0000)]
Fix multiple-output to stdout bug.
Ben Pfaff [Tue, 4 Jan 2005 07:12:08 +0000 (07:12 +0000)]
Change to deal with crappy GAS bug.
Ben Pfaff [Tue, 4 Jan 2005 05:19:30 +0000 (05:19 +0000)]
Patch for gcc-3.3.5.
Ben Pfaff [Sun, 2 Jan 2005 02:09:58 +0000 (02:09 +0000)]
Change assembly from AT&T to Intel syntax.
Update makefile.
Apply corresponding changes to the documentation,
the sample solutions, and the grading programs.
Ben Pfaff [Sun, 2 Jan 2005 01:37:40 +0000 (01:37 +0000)]
Add makefiles for cleaning grades, top level.
Ben Pfaff [Sun, 2 Jan 2005 01:37:05 +0000 (01:37 +0000)]
Comment.
Ben Pfaff [Sun, 2 Jan 2005 00:26:52 +0000 (00:26 +0000)]
Comment.
Ben Pfaff [Sun, 2 Jan 2005 00:08:17 +0000 (00:08 +0000)]
Remove redundant footnote.
Ben Pfaff [Sun, 2 Jan 2005 00:04:20 +0000 (00:04 +0000)]
Fix typo.
Ben Pfaff [Sun, 2 Jan 2005 00:02:05 +0000 (00:02 +0000)]
Fix command line
Ben Pfaff [Sat, 1 Jan 2005 23:21:51 +0000 (23:21 +0000)]
Add a suggestion to use `backtrace' and a reference to the manual to
the message printed by debug_panic().
Improve backtrace program.
Document improvements.
Ben Pfaff [Sat, 1 Jan 2005 19:40:50 +0000 (19:40 +0000)]
Comment.
Ben Pfaff [Sat, 1 Jan 2005 19:40:26 +0000 (19:40 +0000)]
Comment.
Ben Pfaff [Sat, 1 Jan 2005 19:35:14 +0000 (19:35 +0000)]
Comments.
Ben Pfaff [Sat, 1 Jan 2005 03:35:08 +0000 (03:35 +0000)]
Add another pointer to the debugging documentation.
Ben Pfaff [Sat, 1 Jan 2005 03:28:16 +0000 (03:28 +0000)]
Discourage combining student contributions late.
Talk about SourceForge.
Ben Pfaff [Sat, 1 Jan 2005 02:22:44 +0000 (02:22 +0000)]
Make close-stdin, close-stdout expected output more flexible.
Ben Pfaff [Sat, 1 Jan 2005 02:22:27 +0000 (02:22 +0000)]
Improve error message for grading when the make failed.
Still not ideal.
Ben Pfaff [Sat, 1 Jan 2005 02:22:03 +0000 (02:22 +0000)]
Fix syntax errors.
Ben Pfaff [Sat, 1 Jan 2005 01:03:31 +0000 (01:03 +0000)]
Revert to requiring that exec return -1 if there is a problem loading
a program.
Ben Pfaff [Sat, 1 Jan 2005 00:38:35 +0000 (00:38 +0000)]
Talk about write() to stdout more.
Ben Pfaff [Fri, 31 Dec 2004 23:28:17 +0000 (23:28 +0000)]
Wording.
Ben Pfaff [Fri, 31 Dec 2004 23:13:46 +0000 (23:13 +0000)]
Clarify.
Ben Pfaff [Fri, 31 Dec 2004 23:11:33 +0000 (23:11 +0000)]
Try to clarify synchronization.
Ben Pfaff [Fri, 31 Dec 2004 22:41:32 +0000 (22:41 +0000)]
Typographic fixes.
Ben Pfaff [Fri, 31 Dec 2004 22:05:29 +0000 (22:05 +0000)]
Add list_min(), list_max().
Refactor list_sort().
Add tests for list_min(), list_max().
Ben Pfaff [Fri, 31 Dec 2004 21:13:38 +0000 (21:13 +0000)]
Fix comment.
Ben Pfaff [Fri, 31 Dec 2004 20:13:15 +0000 (20:13 +0000)]
Clarifications.
Ben Pfaff [Fri, 31 Dec 2004 19:46:36 +0000 (19:46 +0000)]
Clarification.
Ben Pfaff [Fri, 31 Dec 2004 19:43:34 +0000 (19:43 +0000)]
Clarification.
Ben Pfaff [Fri, 31 Dec 2004 19:28:12 +0000 (19:28 +0000)]
Wording.
Ben Pfaff [Fri, 31 Dec 2004 07:42:50 +0000 (07:42 +0000)]
Improve command-line interface to run-tests.
Ben Pfaff [Fri, 31 Dec 2004 07:10:02 +0000 (07:10 +0000)]
Improve basic alarm clock test.
Ben Pfaff [Fri, 31 Dec 2004 07:06:38 +0000 (07:06 +0000)]
Updates.
Ben Pfaff [Fri, 31 Dec 2004 07:06:14 +0000 (07:06 +0000)]
Clarification.
Ben Pfaff [Fri, 31 Dec 2004 07:04:34 +0000 (07:04 +0000)]
Always try to create output directory, even if pintos directory exists.
Ben Pfaff [Fri, 31 Dec 2004 01:20:32 +0000 (01:20 +0000)]
Fix brown-bag error.
Ben Pfaff [Fri, 31 Dec 2004 00:30:33 +0000 (00:30 +0000)]
Fix brown bag bug in previous version.
Ben Pfaff [Wed, 29 Dec 2004 23:30:20 +0000 (23:30 +0000)]
Fix bug that converted errors into warnings.
Fix bug that broke backtraces for threads project.
Fix bug in parsing command line.
Ben Pfaff [Wed, 15 Dec 2004 06:53:22 +0000 (06:53 +0000)]
Clean up.
Ben Pfaff [Wed, 15 Dec 2004 06:08:55 +0000 (06:08 +0000)]
Clean up inode code:
- Change inode_byte_to_sector() to insist that its argument be a valid
file offset, and change file_read_at() and file_write_at() to always
call it with one.
- Change inode_create() to just create the inode on disk without
returning a struct inode. Change return value to bool. Update
callers to understand.
- Integrate alloc_inode() into its one remaining caller.
- Break inode deallocation into new static function deallocate_inode().
Change bitmap code from using (start...end) to indicate ranges to
using (start, cnt). Update all callers. Other minor internal bitmap
cleanups.