Ben Pfaff [Wed, 6 Apr 2005 18:55:18 +0000 (18:55 +0000)]
Revise.
Ben Pfaff [Wed, 6 Apr 2005 18:50:41 +0000 (18:50 +0000)]
Fixed an issue.
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:12:11 +0000 (00:12 +0000)]
Update.
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 07:31:07 +0000 (07:31 +0000)]
Update.
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:38 +0000 (23:45 +0000)]
Update.
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 [Mon, 28 Mar 2005 06:39:38 +0000 (06:39 +0000)]
Add TODOs.
Ben Pfaff [Mon, 28 Mar 2005 06:14:18 +0000 (06:14 +0000)]
Add TODOs.
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 [Fri, 18 Mar 2005 17:33:07 +0000 (17:33 +0000)]
Update.
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 [Thu, 10 Mar 2005 19:40:43 +0000 (19:40 +0000)]
Update.
Ben Pfaff [Sat, 5 Mar 2005 20:24:35 +0000 (20:24 +0000)]
More to-do.
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:34:24 +0000 (07:34 +0000)]
Update.
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:37 +0000 (05:33 +0000)]
Update.
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 [Sat, 5 Mar 2005 05:21:27 +0000 (05:21 +0000)]
More to do.
Ben Pfaff [Fri, 25 Feb 2005 07:46:58 +0000 (07:46 +0000)]
Update.
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 [Sat, 12 Feb 2005 06:22:26 +0000 (06:22 +0000)]
Update.
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 21:21:35 +0000 (21:21 +0000)]
Update.
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 [Wed, 2 Feb 2005 00:19:04 +0000 (00:19 +0000)]
Update.
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 23:00:07 +0000 (23:00 +0000)]
Fix race condition in process loading.
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 08:03:59 +0000 (08:03 +0000)]
Update.
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.