Ben Pfaff [Sun, 30 Jan 2005 06:38:51 +0000 (06:38 +0000)]
Fix comment.
Ben Pfaff [Sun, 30 Jan 2005 05:27:26 +0000 (05:27 +0000)]
Make it a little less broken.
Ben Pfaff [Sat, 29 Jan 2005 18:23:34 +0000 (18:23 +0000)]
Start work on partition support.
(Doesn't build.)
Ben Pfaff [Sat, 29 Jan 2005 18:20:44 +0000 (18:20 +0000)]
TODO list for USB development.
Ben Pfaff [Sat, 29 Jan 2005 18:20:17 +0000 (18:20 +0000)]
Add xmalloc(), xcalloc() functions.
Ben Pfaff [Sat, 29 Jan 2005 18:19:44 +0000 (18:19 +0000)]
Add print_human_readable_size() function.
Ben Pfaff [Sat, 29 Jan 2005 18:18:23 +0000 (18:18 +0000)]
"file system" not "filesystem"
Ben Pfaff [Sat, 29 Jan 2005 07:19:08 +0000 (07:19 +0000)]
Add partition specification files.
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.
Ben Pfaff [Wed, 15 Dec 2004 05:53:19 +0000 (05:53 +0000)]
Comment.
Ben Pfaff [Wed, 15 Dec 2004 05:50:42 +0000 (05:50 +0000)]
Use 0xcc (not 0xcd) for clearing malloc() blocks too.
Update documentation.
Ben Pfaff [Wed, 15 Dec 2004 02:32:02 +0000 (02:32 +0000)]
Fix warnings.
Ben Pfaff [Wed, 15 Dec 2004 02:27:20 +0000 (02:27 +0000)]
Wording fixes.
Ben Pfaff [Wed, 15 Dec 2004 01:11:52 +0000 (01:11 +0000)]
Get rid of install target: not needed anymore.
Ben Pfaff [Wed, 15 Dec 2004 00:53:11 +0000 (00:53 +0000)]
Switch the base file system from direct-indexed inodes to extents.
This has the direct effect of allowing arbitrarily large files, and
the indirect effect that we don't need to strip debug symbols from
userprog test programs anymore, which makes userspace backtraces
easier to obtain.