pintos-anon
19 years agoRemove panic code. usb
Ben Pfaff [Sun, 30 Jan 2005 22:53:13 +0000 (22:53 +0000)]
Remove panic code.

19 years agoRewrite palloc code so that it only touches the first 4 MB of RAM.
Ben Pfaff [Sun, 30 Jan 2005 22:04:14 +0000 (22:04 +0000)]
Rewrite palloc code so that it only touches the first 4 MB of RAM.
This lets us simplify the start.S code so it only needs to create
a page table for the first 4 MB of RAM.

19 years agoStart work on kernel start-up code.
Ben Pfaff [Sun, 30 Jan 2005 07:49:42 +0000 (07:49 +0000)]
Start work on kernel start-up code.

19 years agoRename xmalloc() as malloc_or_panic(),
Ben Pfaff [Sun, 30 Jan 2005 07:49:18 +0000 (07:49 +0000)]
Rename xmalloc() as malloc_or_panic(),
xcalloc() as calloc_or_panic().

19 years agoFix comment.
Ben Pfaff [Sun, 30 Jan 2005 06:38:51 +0000 (06:38 +0000)]
Fix comment.

19 years agoMake it a little less broken.
Ben Pfaff [Sun, 30 Jan 2005 05:27:26 +0000 (05:27 +0000)]
Make it a little less broken.

19 years agoStart work on partition support.
Ben Pfaff [Sat, 29 Jan 2005 18:23:34 +0000 (18:23 +0000)]
Start work on partition support.
(Doesn't build.)

19 years agoTODO list for USB development.
Ben Pfaff [Sat, 29 Jan 2005 18:20:44 +0000 (18:20 +0000)]
TODO list for USB development.

19 years agoAdd xmalloc(), xcalloc() functions.
Ben Pfaff [Sat, 29 Jan 2005 18:20:17 +0000 (18:20 +0000)]
Add xmalloc(), xcalloc() functions.

19 years agoAdd print_human_readable_size() function.
Ben Pfaff [Sat, 29 Jan 2005 18:19:44 +0000 (18:19 +0000)]
Add print_human_readable_size() function.

19 years ago"file system" not "filesystem"
Ben Pfaff [Sat, 29 Jan 2005 18:18:23 +0000 (18:18 +0000)]
"file system" not "filesystem"

19 years agoAdd partition specification files.
Ben Pfaff [Sat, 29 Jan 2005 07:19:08 +0000 (07:19 +0000)]
Add partition specification files.

19 years agoRemove .cvsignore from build directories; put `build' in higher level
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.

19 years agoFix typo.
Ben Pfaff [Tue, 25 Jan 2005 20:51:43 +0000 (20:51 +0000)]
Fix typo.

19 years agoBe smarter about dealing with make failures.
Ben Pfaff [Tue, 25 Jan 2005 20:50:29 +0000 (20:50 +0000)]
Be smarter about dealing with make failures.

19 years agoFix runaway bochs, pintos processes on time-outs.
Ben Pfaff [Tue, 25 Jan 2005 18:13:20 +0000 (18:13 +0000)]
Fix runaway bochs, pintos processes on time-outs.

19 years agoClarify that joinability is not inherited.
Ben Pfaff [Sat, 22 Jan 2005 19:27:20 +0000 (19:27 +0000)]
Clarify that joinability is not inherited.

19 years agoComment.
Ben Pfaff [Fri, 21 Jan 2005 22:24:31 +0000 (22:24 +0000)]
Comment.

19 years agoSet up a frame pointer on interrupt entry, to improve backtraces of
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.

19 years agoIgnore test directories.
Ben Pfaff [Fri, 21 Jan 2005 22:15:20 +0000 (22:15 +0000)]
Ignore test directories.

19 years agosyscall-stub.S is gone; don't talk about it.
Ben Pfaff [Fri, 21 Jan 2005 22:14:41 +0000 (22:14 +0000)]
syscall-stub.S is gone; don't talk about it.

19 years agosyscall-stub.h is gone; don't #include it.
Ben Pfaff [Fri, 21 Jan 2005 22:12:48 +0000 (22:12 +0000)]
syscall-stub.h is gone; don't #include it.

19 years agoImprove debuggability by adding .func/.endfunc around functions.
Ben Pfaff [Thu, 20 Jan 2005 07:35:50 +0000 (07:35 +0000)]
Improve debuggability by adding .func/.endfunc around functions.

19 years agoImprove debuggability by eliminating system call stub in separate
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.

19 years agoFix quoting.
Ben Pfaff [Thu, 20 Jan 2005 05:16:26 +0000 (05:16 +0000)]
Fix quoting.

19 years agoFix quoting.
Ben Pfaff [Thu, 20 Jan 2005 05:16:03 +0000 (05:16 +0000)]
Fix quoting.

19 years agoRemove more or less meaningless comment.
Ben Pfaff [Thu, 20 Jan 2005 00:42:59 +0000 (00:42 +0000)]
Remove more or less meaningless comment.

19 years agoPrint a message if the default target is used.
Ben Pfaff [Wed, 19 Jan 2005 22:47:42 +0000 (22:47 +0000)]
Print a message if the default target is used.

19 years agoIf the kernel image gets too big, "cmp ebx, KERNEL_LOAD_PAGES*8 + 1"
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.

19 years agoNeed to turn off interrupts again after calling into BIOS.
Ben Pfaff [Tue, 18 Jan 2005 18:11:11 +0000 (18:11 +0000)]
Need to turn off interrupts again after calling into BIOS.

19 years agoIn all the variants of the basic test for part 1-1, release the lock
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.

19 years agoWhen a Pintos run times out, report the load average.
Ben Pfaff [Fri, 14 Jan 2005 08:23:43 +0000 (08:23 +0000)]
When a Pintos run times out, report the load average.

19 years agoPriority change clarification (problem 1-3).
Ben Pfaff [Fri, 14 Jan 2005 07:59:41 +0000 (07:59 +0000)]
Priority change clarification (problem 1-3).

19 years agoFix bogus return value from `pintos' utility when calling Bochs
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.

19 years agoExpect proper result from `pintos get'.
Ben Pfaff [Fri, 14 Jan 2005 05:43:25 +0000 (05:43 +0000)]
Expect proper result from `pintos get'.

19 years agoImprove comment.
Ben Pfaff [Thu, 13 Jan 2005 06:23:32 +0000 (06:23 +0000)]
Improve comment.

19 years agoFix Intel names for outd, ind, outsd, insd.
Ben Pfaff [Mon, 10 Jan 2005 08:30:31 +0000 (08:30 +0000)]
Fix Intel names for outd, ind, outsd, insd.

19 years agoFix %' grouping in printf().
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.

19 years agoParse PINTOSOPTS environment variable as extra command-line options.
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.

19 years agoFix order of edi, esi, ebp, ebx in switch_threads_frame. Doesn't
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.

19 years agoSave and restore user processes' FS and GS registers.
Ben Pfaff [Sun, 9 Jan 2005 08:03:38 +0000 (08:03 +0000)]
Save and restore user processes' FS and GS registers.

19 years agoFix Make.base in same way as Makefile.
Ben Pfaff [Sun, 9 Jan 2005 07:56:14 +0000 (07:56 +0000)]
Fix Make.base in same way as Makefile.

19 years ago%d needed to be %zu
Ben Pfaff [Sun, 9 Jan 2005 02:19:38 +0000 (02:19 +0000)]
%d needed to be %zu

19 years agoFix ordering.
Ben Pfaff [Sun, 9 Jan 2005 01:33:20 +0000 (01:33 +0000)]
Fix ordering.

19 years agoDon't use ! in shell.
Ben Pfaff [Sun, 9 Jan 2005 01:15:50 +0000 (01:15 +0000)]
Don't use ! in shell.

19 years agoPrint int with %d, not %zu.
Ben Pfaff [Sun, 9 Jan 2005 01:13:48 +0000 (01:13 +0000)]
Print int with %d, not %zu.

19 years agoAdd self-test.
Ben Pfaff [Sun, 9 Jan 2005 01:10:35 +0000 (01:10 +0000)]
Add self-test.

19 years agoAdd `null' to .cvsignore, via mkmf.
Ben Pfaff [Sun, 9 Jan 2005 01:07:39 +0000 (01:07 +0000)]
Add `null' to .cvsignore, via mkmf.

19 years agoAdd a `null' test for testing src/userprog before system calls have
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.

19 years agoPrint PASS messages when complete.
Ben Pfaff [Sun, 9 Jan 2005 00:36:06 +0000 (00:36 +0000)]
Print PASS messages when complete.

19 years agoWhen running a "test" or "assemble" target, run-tests now returns zero
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.

19 years agoFix ASCII art diagram. Thanks to Roy Zeighami <zeighami@stanford.edu>
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.

19 years agoFix typo.
Ben Pfaff [Thu, 6 Jan 2005 08:01:49 +0000 (08:01 +0000)]
Fix typo.

19 years agoFix condition variable example.
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.

19 years agoOnly grade mlfqs-speedup and mlfqs-priority if mlfqs-on and mlfqs-off
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.

19 years agoUpdate Bochs and toolchain build summaries.
Ben Pfaff [Tue, 4 Jan 2005 08:07:05 +0000 (08:07 +0000)]
Update Bochs and toolchain build summaries.

19 years agoFix "%d"s that should be "%zu"s.
Ben Pfaff [Tue, 4 Jan 2005 07:55:25 +0000 (07:55 +0000)]
Fix "%d"s that should be "%zu"s.

19 years agoFix multiple-output to stdout bug.
Ben Pfaff [Tue, 4 Jan 2005 07:38:14 +0000 (07:38 +0000)]
Fix multiple-output to stdout bug.

19 years agoChange to deal with crappy GAS bug.
Ben Pfaff [Tue, 4 Jan 2005 07:12:08 +0000 (07:12 +0000)]
Change to deal with crappy GAS bug.

19 years agoPatch for gcc-3.3.5.
Ben Pfaff [Tue, 4 Jan 2005 05:19:30 +0000 (05:19 +0000)]
Patch for gcc-3.3.5.

19 years agoChange assembly from AT&T to Intel syntax.
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.

19 years agoAdd makefiles for cleaning grades, top level.
Ben Pfaff [Sun, 2 Jan 2005 01:37:40 +0000 (01:37 +0000)]
Add makefiles for cleaning grades, top level.

19 years agoComment.
Ben Pfaff [Sun, 2 Jan 2005 01:37:05 +0000 (01:37 +0000)]
Comment.

19 years agoComment.
Ben Pfaff [Sun, 2 Jan 2005 00:26:52 +0000 (00:26 +0000)]
Comment.

19 years agoRemove redundant footnote.
Ben Pfaff [Sun, 2 Jan 2005 00:08:17 +0000 (00:08 +0000)]
Remove redundant footnote.

19 years agoFix typo.
Ben Pfaff [Sun, 2 Jan 2005 00:04:20 +0000 (00:04 +0000)]
Fix typo.

19 years agoFix command line
Ben Pfaff [Sun, 2 Jan 2005 00:02:05 +0000 (00:02 +0000)]
Fix command line

19 years agoAdd a suggestion to use `backtrace' and a reference to the manual to
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.

19 years agoComment.
Ben Pfaff [Sat, 1 Jan 2005 19:40:50 +0000 (19:40 +0000)]
Comment.

19 years agoComment.
Ben Pfaff [Sat, 1 Jan 2005 19:40:26 +0000 (19:40 +0000)]
Comment.

19 years agoComments.
Ben Pfaff [Sat, 1 Jan 2005 19:35:14 +0000 (19:35 +0000)]
Comments.

19 years agoAdd another pointer to the debugging documentation.
Ben Pfaff [Sat, 1 Jan 2005 03:35:08 +0000 (03:35 +0000)]
Add another pointer to the debugging documentation.

19 years agoDiscourage combining student contributions late.
Ben Pfaff [Sat, 1 Jan 2005 03:28:16 +0000 (03:28 +0000)]
Discourage combining student contributions late.
Talk about SourceForge.

19 years agoMake close-stdin, close-stdout expected output more flexible.
Ben Pfaff [Sat, 1 Jan 2005 02:22:44 +0000 (02:22 +0000)]
Make close-stdin, close-stdout expected output more flexible.

19 years agoImprove error message for grading when the make failed.
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.

19 years agoFix syntax errors.
Ben Pfaff [Sat, 1 Jan 2005 02:22:03 +0000 (02:22 +0000)]
Fix syntax errors.

19 years agoRevert to requiring that exec return -1 if there is a problem loading
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.

19 years agoTalk about write() to stdout more.
Ben Pfaff [Sat, 1 Jan 2005 00:38:35 +0000 (00:38 +0000)]
Talk about write() to stdout more.

19 years agoWording.
Ben Pfaff [Fri, 31 Dec 2004 23:28:17 +0000 (23:28 +0000)]
Wording.

19 years agoClarify.
Ben Pfaff [Fri, 31 Dec 2004 23:13:46 +0000 (23:13 +0000)]
Clarify.

19 years agoTry to clarify synchronization.
Ben Pfaff [Fri, 31 Dec 2004 23:11:33 +0000 (23:11 +0000)]
Try to clarify synchronization.

19 years agoTypographic fixes.
Ben Pfaff [Fri, 31 Dec 2004 22:41:32 +0000 (22:41 +0000)]
Typographic fixes.

19 years agoAdd list_min(), list_max().
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().

19 years agoFix comment.
Ben Pfaff [Fri, 31 Dec 2004 21:13:38 +0000 (21:13 +0000)]
Fix comment.

19 years agoClarifications.
Ben Pfaff [Fri, 31 Dec 2004 20:13:15 +0000 (20:13 +0000)]
Clarifications.

19 years agoClarification.
Ben Pfaff [Fri, 31 Dec 2004 19:46:36 +0000 (19:46 +0000)]
Clarification.

19 years agoClarification.
Ben Pfaff [Fri, 31 Dec 2004 19:43:34 +0000 (19:43 +0000)]
Clarification.

19 years agoWording.
Ben Pfaff [Fri, 31 Dec 2004 19:28:12 +0000 (19:28 +0000)]
Wording.

19 years agoImprove command-line interface to run-tests.
Ben Pfaff [Fri, 31 Dec 2004 07:42:50 +0000 (07:42 +0000)]
Improve command-line interface to run-tests.

19 years agoImprove basic alarm clock test.
Ben Pfaff [Fri, 31 Dec 2004 07:10:02 +0000 (07:10 +0000)]
Improve basic alarm clock test.

19 years agoUpdates.
Ben Pfaff [Fri, 31 Dec 2004 07:06:38 +0000 (07:06 +0000)]
Updates.

19 years agoClarification.
Ben Pfaff [Fri, 31 Dec 2004 07:06:14 +0000 (07:06 +0000)]
Clarification.

19 years agoAlways try to create output directory, even if pintos directory exists.
Ben Pfaff [Fri, 31 Dec 2004 07:04:34 +0000 (07:04 +0000)]
Always try to create output directory, even if pintos directory exists.

19 years agoFix brown-bag error.
Ben Pfaff [Fri, 31 Dec 2004 01:20:32 +0000 (01:20 +0000)]
Fix brown-bag error.

19 years agoFix brown bag bug in previous version.
Ben Pfaff [Fri, 31 Dec 2004 00:30:33 +0000 (00:30 +0000)]
Fix brown bag bug in previous version.

19 years agoFix bug that converted errors into warnings.
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.

19 years agoClean up.
Ben Pfaff [Wed, 15 Dec 2004 06:53:22 +0000 (06:53 +0000)]
Clean up.

19 years agoClean up inode code:
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.

19 years agoComment.
Ben Pfaff [Wed, 15 Dec 2004 05:53:19 +0000 (05:53 +0000)]
Comment.

19 years agoUse 0xcc (not 0xcd) for clearing malloc() blocks too.
Ben Pfaff [Wed, 15 Dec 2004 05:50:42 +0000 (05:50 +0000)]
Use 0xcc (not 0xcd) for clearing malloc() blocks too.
Update documentation.