pintos-anon
19 years agoAdd grading system.
Ben Pfaff [Mon, 20 Jun 2005 20:24:19 +0000 (20:24 +0000)]
Add grading system.

19 years agoUse file count of 20.
Ben Pfaff [Mon, 20 Jun 2005 20:11:45 +0000 (20:11 +0000)]
Use file count of 20.

19 years agoUpdate.
Ben Pfaff [Mon, 20 Jun 2005 20:11:01 +0000 (20:11 +0000)]
Update.

19 years agoRecommend integrating cache early.
Ben Pfaff [Mon, 20 Jun 2005 17:54:20 +0000 (17:54 +0000)]
Recommend integrating cache early.

19 years agoComment fixes.
Ben Pfaff [Sun, 19 Jun 2005 18:55:55 +0000 (18:55 +0000)]
Comment fixes.

19 years agoComment fixes.
Ben Pfaff [Sun, 19 Jun 2005 18:55:30 +0000 (18:55 +0000)]
Comment fixes.

19 years agoUnused source file.
Ben Pfaff [Sun, 19 Jun 2005 18:53:22 +0000 (18:53 +0000)]
Unused source file.

19 years agoAdjust FAQ section naming for consistency.
Ben Pfaff [Sun, 19 Jun 2005 05:48:04 +0000 (05:48 +0000)]
Adjust FAQ section naming for consistency.

19 years agoInstall templates.
Ben Pfaff [Sun, 19 Jun 2005 05:41:39 +0000 (05:41 +0000)]
Install templates.

19 years agoGet rid of .png rules that are no longer used.
Ben Pfaff [Sun, 19 Jun 2005 05:38:20 +0000 (05:38 +0000)]
Get rid of .png rules that are no longer used.

19 years agoAdd texinfo.tex.
Ben Pfaff [Sun, 19 Jun 2005 05:36:00 +0000 (05:36 +0000)]
Add texinfo.tex.

19 years agoUse binutils 2.15, not 2.16, because it doesn't have a bug in the
Ben Pfaff [Sun, 19 Jun 2005 05:13:15 +0000 (05:13 +0000)]
Use binutils 2.15, not 2.16, because it doesn't have a bug in the
implementation of lidt and lgdt that bites us.

19 years agoAdd Algorithms::Diff to source tree for systems that don't have it
Ben Pfaff [Sun, 19 Jun 2005 03:44:53 +0000 (03:44 +0000)]
Add Algorithms::Diff to source tree for systems that don't have it
installed publicly.

19 years agoMake tests public. Rewrite most tests. Add tests.
Ben Pfaff [Sun, 19 Jun 2005 03:20:25 +0000 (03:20 +0000)]
Make tests public.  Rewrite most tests.  Add tests.
Major revisions to documentation and assignments.
Implement good solutions to all assignments.
Rewrite pintos script, fsutils, and Pintos command line parsing to
support put, get of multiple files.
New pintos-mkdisk script for what pintos doesn't do anymore.
Make backtrace more friendly.
Major revisions to base file system.
Get rid of names passed to synch primitives.
Break intr_register() into intr_register_ext() and intr_register_int().
Revise bitmap code.
Add console_locked_by_current_thread() and use it.
munmap() has void return value (in lib/user/syscall.c).
Update expected tools versions.
Document use of qemu.
Add realloc() function to malloc implementation.
Add is_user_vaddr() and is_kernel_vaddr(), use in mmu.h.
Add sema_try_down(), lock_try_acquire().
Add memory barrier.
Extend default time slice to 4 ticks and calculate time slices
properly (don't just switch whenever timer_ticks() % 4 == 0).
Fix writing to palloc'd memory without checking against null
in pagedir_create().
Invalidate TLB when we mark pages not accessed or not dirty.
Revise other pagedir code.
Make load() less nasty-looking.

19 years agoGet rid of unnecessary barrier. Improve comment.
Ben Pfaff [Thu, 26 May 2005 20:21:35 +0000 (20:21 +0000)]
Get rid of unnecessary barrier.  Improve comment.

19 years agoHow to debug user programs with gdb.
Ben Pfaff [Wed, 25 May 2005 04:29:00 +0000 (04:29 +0000)]
How to debug user programs with gdb.

19 years agoUpdate Intel manual URLs.
Ben Pfaff [Tue, 17 May 2005 01:36:51 +0000 (01:36 +0000)]
Update Intel manual URLs.

19 years agoFix line wrapping.
Ben Pfaff [Thu, 12 May 2005 04:15:47 +0000 (04:15 +0000)]
Fix line wrapping.

19 years agoStandard disk assignments.
Ben Pfaff [Tue, 10 May 2005 23:09:34 +0000 (23:09 +0000)]
Standard disk assignments.

19 years agoUse runtime options instead of conditional compilation for MLFQS,
Ben Pfaff [Wed, 13 Apr 2005 05:32:09 +0000 (05:32 +0000)]
Use runtime options instead of conditional compilation for MLFQS,
RANDOM_REPLACEMENT, extra credit.  Update documentation, grading.

19 years agoClean TAGS, tags targets.
Ben Pfaff [Wed, 13 Apr 2005 05:20:30 +0000 (05:20 +0000)]
Clean TAGS, tags targets.

19 years agoAlign comments.
Ben Pfaff [Tue, 12 Apr 2005 06:27:56 +0000 (06:27 +0000)]
Align comments.

19 years agoUpdate message.
Ben Pfaff [Tue, 12 Apr 2005 06:09:46 +0000 (06:09 +0000)]
Update message.

19 years agoUpdate message.
Ben Pfaff [Tue, 12 Apr 2005 05:43:46 +0000 (05:43 +0000)]
Update message.

19 years agoGet rid of file system "dump" operations because they weren't useful
Ben Pfaff [Tue, 12 Apr 2005 05:24:37 +0000 (05:24 +0000)]
Get rid of file system "dump" operations because they weren't useful
and occasionally provoked student questions.

19 years agoClean better.
Ben Pfaff [Tue, 12 Apr 2005 05:09:28 +0000 (05:09 +0000)]
Clean better.

19 years agoGet rid of DEBUG macro, supporting code, and documentation,
Ben Pfaff [Tue, 12 Apr 2005 05:05:47 +0000 (05:05 +0000)]
Get rid of DEBUG macro, supporting code, and documentation,
because no one ever used it.

19 years agoIn idle(), "sti; hlt" must be atomic or we can waste time waiting for
Ben Pfaff [Thu, 7 Apr 2005 18:00:06 +0000 (18:00 +0000)]
In idle(), "sti; hlt" must be atomic or we can waste time waiting for
the next clock tick.
Fix inspired by Linus Torvalds in message
<Pine.LNX.4.58.0504071000450.28951@ppc970.osdl.org>.

19 years agoEnhance shell.
Ben Pfaff [Wed, 6 Apr 2005 21:13:00 +0000 (21:13 +0000)]
Enhance shell.

19 years agoEnhance shell.
Ben Pfaff [Wed, 6 Apr 2005 20:56:02 +0000 (20:56 +0000)]
Enhance shell.

19 years agoAdd ls, mkdir user test programs.
Ben Pfaff [Wed, 6 Apr 2005 20:55:40 +0000 (20:55 +0000)]
Add ls, mkdir user test programs.

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

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 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 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 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 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 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 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 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 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 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 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 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 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.