pintos-anon
19 years agoRevise.
Ben Pfaff [Wed, 6 Apr 2005 18:55:18 +0000 (18:55 +0000)]
Revise.

19 years agoFixed an issue.
Ben Pfaff [Wed, 6 Apr 2005 18:50:41 +0000 (18:50 +0000)]
Fixed an issue.

19 years agoAdd SUBMAKEFLAGS.
Ben Pfaff [Wed, 6 Apr 2005 18:47:48 +0000 (18:47 +0000)]
Add SUBMAKEFLAGS.
Move < from apply-patch to invocations.

19 years agoOnly need single 0x90.
Ben Pfaff [Wed, 6 Apr 2005 18:47:26 +0000 (18:47 +0000)]
Only need single 0x90.

19 years agoAlways use a custom linker script, to avoid oddities in the default.
Ben Pfaff [Wed, 6 Apr 2005 18:47:14 +0000 (18:47 +0000)]
Always use a custom linker script, to avoid oddities in the default.
Put linker scripts in lib/user.
Eliminate redundant dependency in Makefile.userprog.
Document change.

19 years agoAdd `dirs' target.
Ben Pfaff [Wed, 6 Apr 2005 18:44:37 +0000 (18:44 +0000)]
Add `dirs' target.
Simplify and improve.

19 years agoFix comment.
Ben Pfaff [Tue, 5 Apr 2005 23:56:39 +0000 (23:56 +0000)]
Fix comment.

19 years agoUpdate to match printf() fix.
Ben Pfaff [Fri, 1 Apr 2005 22:12:43 +0000 (22:12 +0000)]
Update to match printf() fix.

19 years agoAdd stdio test.
Ben Pfaff [Fri, 1 Apr 2005 21:09:03 +0000 (21:09 +0000)]
Add stdio test.

19 years agoImprove test program.
Ben Pfaff [Fri, 1 Apr 2005 21:08:47 +0000 (21:08 +0000)]
Improve test program.

19 years agoFix parenthesization.
Ben Pfaff [Fri, 1 Apr 2005 21:06:38 +0000 (21:06 +0000)]
Fix parenthesization.

19 years agoFix more printf() conformance problems.
Ben Pfaff [Fri, 1 Apr 2005 21:03:40 +0000 (21:03 +0000)]
Fix more printf() conformance problems.

19 years agoRevert to old version because it doesn't break preprocessor
Ben Pfaff [Fri, 1 Apr 2005 19:31:31 +0000 (19:31 +0000)]
Revert to old version because it doesn't break preprocessor
directives.

19 years agoMake sure PTRDIFF_MIN, PTRDIFF_MAX, and SIZE_MAX have the proper types.
Ben Pfaff [Fri, 1 Apr 2005 18:44:07 +0000 (18:44 +0000)]
Make sure PTRDIFF_MIN, PTRDIFF_MAX, and SIZE_MAX have the proper types.

19 years ago127 is a control character.
Ben Pfaff [Fri, 1 Apr 2005 18:43:22 +0000 (18:43 +0000)]
127 is a control character.

19 years agoUpdate.
Ben Pfaff [Fri, 1 Apr 2005 00:12:11 +0000 (00:12 +0000)]
Update.

19 years agoFix comment.
Ben Pfaff [Fri, 1 Apr 2005 00:11:54 +0000 (00:11 +0000)]
Fix comment.

19 years agoImprove.
Ben Pfaff [Fri, 1 Apr 2005 00:10:50 +0000 (00:10 +0000)]
Improve.

19 years agoMove problem 1-2 (join) into project 2 as the "wait" system call.
Ben Pfaff [Thu, 31 Mar 2005 04:58:27 +0000 (04:58 +0000)]
Move problem 1-2 (join) into project 2 as the "wait" system call.
Update the documentation, solutions, grading scripts, and regression
tests.

In execute_thread(), rephrase the code slightly.
Move process_activate() call from execute_thread() to load() to remove
potential race condition that students and TAs found confusing.
Add memory barrier in process_exit().

19 years agoUpdate.
Ben Pfaff [Wed, 30 Mar 2005 07:31:07 +0000 (07:31 +0000)]
Update.

19 years agoUpdate license section.
Ben Pfaff [Wed, 30 Mar 2005 06:11:53 +0000 (06:11 +0000)]
Update license section.

19 years agoTalk about license in intro to docs.
Ben Pfaff [Wed, 30 Mar 2005 06:11:08 +0000 (06:11 +0000)]
Talk about license in intro to docs.

19 years agoReplace quick_sort() that uses quick sort and O(lg n) space
Ben Pfaff [Wed, 30 Mar 2005 05:17:28 +0000 (05:17 +0000)]
Replace quick_sort() that uses quick sort and O(lg n) space
by sort() that uses heap sort and O(1) space.

19 years agoReimplement list_sort() iteratively, reducing memory requirements to
Ben Pfaff [Wed, 30 Mar 2005 02:11:12 +0000 (02:11 +0000)]
Reimplement list_sort() iteratively, reducing memory requirements to
O(1).
Remove list_merge().

19 years agoUpdate.
Ben Pfaff [Tue, 29 Mar 2005 23:45:38 +0000 (23:45 +0000)]
Update.

19 years agoAdd printf() test.
Ben Pfaff [Tue, 29 Mar 2005 23:45:14 +0000 (23:45 +0000)]
Add printf() test.

19 years agoUpdate mmap() tests.
Ben Pfaff [Tue, 29 Mar 2005 07:41:20 +0000 (07:41 +0000)]
Update mmap() tests.
Change MAPID_ERROR to MAP_FAILED to be closer to POSIX.

19 years agoChange list_elem from typedef to struct.
Ben Pfaff [Tue, 29 Mar 2005 07:40:25 +0000 (07:40 +0000)]
Change list_elem from typedef to struct.
Ditto for hash_elem.

19 years agoAdd TODOs.
Ben Pfaff [Mon, 28 Mar 2005 06:39:38 +0000 (06:39 +0000)]
Add TODOs.

19 years agoAdd TODOs.
Ben Pfaff [Mon, 28 Mar 2005 06:14:18 +0000 (06:14 +0000)]
Add TODOs.

19 years agoFix 3 distinct bugs reported by Cristian Cadar.
Ben Pfaff [Thu, 24 Mar 2005 09:01:16 +0000 (09:01 +0000)]
Fix 3 distinct bugs reported by Cristian Cadar.

19 years agoUpdate mmap, munmap stubs to match new prototypes.
Ben Pfaff [Thu, 24 Mar 2005 06:37:53 +0000 (06:37 +0000)]
Update mmap, munmap stubs to match new prototypes.

19 years agoFix handling of `+' and ` ' flags for unsigned conversions in
Ben Pfaff [Wed, 23 Mar 2005 23:31:36 +0000 (23:31 +0000)]
Fix handling of `+' and ` ' flags for unsigned conversions in
printf().  Thanks to Cristian Cadar for reporting this bug.

19 years agoUpdate.
Ben Pfaff [Fri, 18 Mar 2005 17:33:07 +0000 (17:33 +0000)]
Update.

19 years agoWhen run.out is missing in &grade_test, just return an error that
Ben Pfaff [Thu, 17 Mar 2005 18:52:52 +0000 (18:52 +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.

19 years agoRemove patch no longer needed.
Ben Pfaff [Thu, 17 Mar 2005 18:23:05 +0000 (18:23 +0000)]
Remove patch no longer needed.

19 years agoUpdate.
Ben Pfaff [Thu, 10 Mar 2005 19:40:43 +0000 (19:40 +0000)]
Update.

19 years agoMore to-do.
Ben Pfaff [Sat, 5 Mar 2005 20:24:35 +0000 (20:24 +0000)]
More to-do.

19 years agoCrossport 1.2.4.1 to main.
Ben Pfaff [Sat, 5 Mar 2005 19:47:28 +0000 (19:47 +0000)]
Crossport 1.2.4.1 to main.

19 years agoCrossport 1.2.4.1 into main.
Ben Pfaff [Sat, 5 Mar 2005 19:45:57 +0000 (19:45 +0000)]
Crossport 1.2.4.1 into main.

19 years agoUpdate.
Ben Pfaff [Sat, 5 Mar 2005 07:34:24 +0000 (07:34 +0000)]
Update.

19 years agoMake mmap use segment IDs.
Ben Pfaff [Sat, 5 Mar 2005 07:33:56 +0000 (07:33 +0000)]
Make mmap use segment IDs.

19 years agoFix menu.
Ben Pfaff [Sat, 5 Mar 2005 07:14:52 +0000 (07:14 +0000)]
Fix menu.

19 years agoUpdate.
Ben Pfaff [Sat, 5 Mar 2005 05:33:37 +0000 (05:33 +0000)]
Update.

19 years agoComment.
Ben Pfaff [Sat, 5 Mar 2005 05:33:07 +0000 (05:33 +0000)]
Comment.

19 years agoUpdate documentation.
Ben Pfaff [Sat, 5 Mar 2005 05:31:47 +0000 (05:31 +0000)]
Update documentation.

19 years agoMore to do.
Ben Pfaff [Sat, 5 Mar 2005 05:21:27 +0000 (05:21 +0000)]
More to do.

19 years agoUpdate.
Ben Pfaff [Fri, 25 Feb 2005 07:46:58 +0000 (07:46 +0000)]
Update.

19 years agoactive_pd() should return a virtual address. Thanks to Guy Isely
Ben Pfaff [Thu, 24 Feb 2005 22:23:50 +0000 (22:23 +0000)]
active_pd() should return a virtual address.  Thanks to Guy Isely
<guyi@stanford.edu> for reporting this bug.

19 years agoDon't consider zero-size disks to exist.
Ben Pfaff [Tue, 22 Feb 2005 20:55:13 +0000 (20:55 +0000)]
Don't consider zero-size disks to exist.
(Crossport from win0405.)

19 years agoSuggest a line limit of 79 characters.
Ben Pfaff [Tue, 22 Feb 2005 04:39:52 +0000 (04:39 +0000)]
Suggest a line limit of 79 characters.

19 years agoUse TIMER_FREQ of 19 for grading priority-fifo.
Ben Pfaff [Sat, 12 Feb 2005 06:23:35 +0000 (06:23 +0000)]
Use TIMER_FREQ of 19 for grading priority-fifo.

19 years agoSpecify how we'll grade problem 1-1.
Ben Pfaff [Sat, 12 Feb 2005 06:22:41 +0000 (06:22 +0000)]
Specify how we'll grade problem 1-1.

19 years agoUpdate.
Ben Pfaff [Sat, 12 Feb 2005 06:22:26 +0000 (06:22 +0000)]
Update.

19 years agoFix randomization patches to work with revised bitmap code.
Ben Pfaff [Fri, 11 Feb 2005 03:49:41 +0000 (03:49 +0000)]
Fix randomization patches to work with revised bitmap code.

19 years agoUpdate.
Ben Pfaff [Wed, 9 Feb 2005 21:21:35 +0000 (21:21 +0000)]
Update.

19 years agoFix typo.
Ben Pfaff [Wed, 9 Feb 2005 06:07:36 +0000 (06:07 +0000)]
Fix typo.

19 years agoFree file in file_close().
Ben Pfaff [Tue, 8 Feb 2005 18:27:26 +0000 (18:27 +0000)]
Free file in file_close().

19 years agoGet rid of THREAD_JOIN_IMPLEMENTED by adding thread_join() stub.
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().

19 years agoIncrease default timeout to 15 seconds.
Ben Pfaff [Mon, 7 Feb 2005 05:52:50 +0000 (05:52 +0000)]
Increase default timeout to 15 seconds.

19 years agoUpdate.
Ben Pfaff [Wed, 2 Feb 2005 00:19:04 +0000 (00:19 +0000)]
Update.

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 agoFix race condition in process loading.
Ben Pfaff [Wed, 19 Jan 2005 23:00:07 +0000 (23:00 +0000)]
Fix race condition in process loading.

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 agoUpdate.
Ben Pfaff [Mon, 10 Jan 2005 08:03:59 +0000 (08:03 +0000)]
Update.

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.