Ben Pfaff [Wed, 6 Apr 2005 18:47:48 +0000 (18:47 +0000)]
Add SUBMAKEFLAGS.
Move < from apply-patch to invocations.
Ben Pfaff [Wed, 6 Apr 2005 18:47:26 +0000 (18:47 +0000)]
Only need single 0x90.
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.
Ben Pfaff [Wed, 6 Apr 2005 18:44:37 +0000 (18:44 +0000)]
Add `dirs' target.
Simplify and improve.
Ben Pfaff [Tue, 5 Apr 2005 23:56:39 +0000 (23:56 +0000)]
Fix comment.
Ben Pfaff [Fri, 1 Apr 2005 22:12:43 +0000 (22:12 +0000)]
Update to match printf() fix.
Ben Pfaff [Fri, 1 Apr 2005 21:09:03 +0000 (21:09 +0000)]
Add stdio test.
Ben Pfaff [Fri, 1 Apr 2005 21:08:47 +0000 (21:08 +0000)]
Improve test program.
Ben Pfaff [Fri, 1 Apr 2005 21:06:38 +0000 (21:06 +0000)]
Fix parenthesization.
Ben Pfaff [Fri, 1 Apr 2005 21:03:40 +0000 (21:03 +0000)]
Fix more printf() conformance problems.
Ben Pfaff [Fri, 1 Apr 2005 19:31:31 +0000 (19:31 +0000)]
Revert to old version because it doesn't break preprocessor
directives.
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.
Ben Pfaff [Fri, 1 Apr 2005 18:43:22 +0000 (18:43 +0000)]
127 is a control character.
Ben Pfaff [Fri, 1 Apr 2005 00:11:54 +0000 (00:11 +0000)]
Fix comment.
Ben Pfaff [Fri, 1 Apr 2005 00:10:50 +0000 (00:10 +0000)]
Improve.
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().
Ben Pfaff [Wed, 30 Mar 2005 06:11:53 +0000 (06:11 +0000)]
Update license section.
Ben Pfaff [Wed, 30 Mar 2005 06:11:08 +0000 (06:11 +0000)]
Talk about license in intro to docs.
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.
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().
Ben Pfaff [Tue, 29 Mar 2005 23:45:14 +0000 (23:45 +0000)]
Add printf() test.
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.
Ben Pfaff [Tue, 29 Mar 2005 07:40:25 +0000 (07:40 +0000)]
Change list_elem from typedef to struct.
Ditto for hash_elem.
Ben Pfaff [Thu, 24 Mar 2005 09:01:16 +0000 (09:01 +0000)]
Fix 3 distinct bugs reported by Cristian Cadar.
Ben Pfaff [Thu, 24 Mar 2005 06:37:53 +0000 (06:37 +0000)]
Update mmap, munmap stubs to match new prototypes.
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.
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.
Ben Pfaff [Thu, 17 Mar 2005 18:23:05 +0000 (18:23 +0000)]
Remove patch no longer needed.
Ben Pfaff [Sat, 5 Mar 2005 19:47:28 +0000 (19:47 +0000)]
Crossport 1.2.4.1 to main.
Ben Pfaff [Sat, 5 Mar 2005 19:45:57 +0000 (19:45 +0000)]
Crossport 1.2.4.1 into main.
Ben Pfaff [Sat, 5 Mar 2005 07:33:56 +0000 (07:33 +0000)]
Make mmap use segment IDs.
Ben Pfaff [Sat, 5 Mar 2005 07:14:52 +0000 (07:14 +0000)]
Fix menu.
Ben Pfaff [Sat, 5 Mar 2005 05:33:07 +0000 (05:33 +0000)]
Comment.
Ben Pfaff [Sat, 5 Mar 2005 05:31:47 +0000 (05:31 +0000)]
Update documentation.
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.
Ben Pfaff [Tue, 22 Feb 2005 20:55:13 +0000 (20:55 +0000)]
Don't consider zero-size disks to exist.
(Crossport from win0405.)
Ben Pfaff [Tue, 22 Feb 2005 04:39:52 +0000 (04:39 +0000)]
Suggest a line limit of 79 characters.
Ben Pfaff [Sat, 12 Feb 2005 06:23:35 +0000 (06:23 +0000)]
Use TIMER_FREQ of 19 for grading priority-fifo.
Ben Pfaff [Sat, 12 Feb 2005 06:22:41 +0000 (06:22 +0000)]
Specify how we'll grade problem 1-1.
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.