Ben Pfaff [Sun, 9 Nov 2008 23:22:35 +0000 (15:22 -0800)]
Terminate the backtrace that debug_backtrace() would output.
From Godmar, crossported from his usb-integration-aug08 branch.
Ben Pfaff [Sun, 9 Nov 2008 23:22:25 +0000 (15:22 -0800)]
Use 9600 bps for Pintos serial, to match the speed used by the loader.
It is important that Pintos and its loader use the same serial speed, so
that a terminal program connected to a serial port can be set to a sane
speed. The ideal choice would be 115200 bps, for maximum speed, but the
Pintos loader uses the BIOS to do serial output, and the BIOS supports a
maximum speed of 9600 bps.
From Godmar, crossported from his usb-integration-aug08 branch.
Ben Pfaff [Sun, 9 Nov 2008 19:41:18 +0000 (11:41 -0800)]
Move reboot() and power_off() to new file, and rename to fit convention.
Godmar Back [Sat, 8 Nov 2008 04:48:13 +0000 (23:48 -0500)]
added note regarding console lock
Ben Pfaff [Sat, 8 Nov 2008 01:23:09 +0000 (17:23 -0800)]
Correct comment describing list_remove() behavior.
Thanks to Godmar for pointing out the problem.
Ben Pfaff [Sat, 8 Nov 2008 01:12:23 +0000 (17:12 -0800)]
Add FAQ item to explain doubled test names in output.
Suggested by Godmar.
Ben Pfaff [Fri, 7 Nov 2008 05:54:04 +0000 (21:54 -0800)]
Eliminate user_page_limit global symbol.
The name "user_page_limit" did not follow the naming convention, which
stated that its name should start with palloc_ since it is defined in
palloc.c. But it was only used in one function, so it was better off
as a function parameter anyhow.
Found by Godmar with his process-linker-map.pl.
Ben Pfaff [Fri, 7 Nov 2008 05:31:30 +0000 (21:31 -0800)]
Don't make interrupt stubs global symbols.
The stubs are only referenced within intr-stubs.S so there is no reason
for them to be exported.
Found with Godmar's process-linker-map.pl.
Ben Pfaff [Fri, 7 Nov 2008 05:19:34 +0000 (21:19 -0800)]
Rename base_page_dir to init_page_dir.
This makes its name fit the convention that the file name is used as
a prefix for global symbol names.
Found by Godmar with his process-linker-map.pl script.
Ben Pfaff [Fri, 7 Nov 2008 05:55:33 +0000 (21:55 -0800)]
Rename schedule_tail() to thread_schedule_tail().
This makes its name fit the convention that the file name is used as
a prefix for global symbol names.
Found by Godmar with his process-linker-map.pl script.
Ben Pfaff [Fri, 7 Nov 2008 05:12:12 +0000 (21:12 -0800)]
Make kernel_pool, user_pool static, since they are used only in palloc.c
Found by Godmar with his process-linker-map.pl.
Ben Pfaff [Fri, 7 Nov 2008 05:11:26 +0000 (21:11 -0800)]
Rename .cvsignore files to .gitignore.
Godmar Back [Wed, 5 Nov 2008 04:53:26 +0000 (23:53 -0500)]
removed trailing whitespace
Godmar Back [Wed, 5 Nov 2008 04:31:45 +0000 (23:31 -0500)]
clarified specification for wait() system call
Godmar Back [Fri, 17 Oct 2008 03:26:23 +0000 (03:26 +0000)]
added documentation for thread_foreach functions
Ben Pfaff [Thu, 16 Oct 2008 22:49:48 +0000 (22:49 +0000)]
Always make the scratch disk an even multiple of a cylinder in size.
The pintos script tried to do so before but "print" and "syswrite"
are buffered differently and interfere with one another.
Thanks to Karan Misra <kmisra@stanford.edu> for pointing out the
problem and confirming the solution.
Godmar Back [Wed, 27 Aug 2008 16:52:04 +0000 (16:52 +0000)]
- added thread_foreach
- added debug_backtrace_all
- updated P1 solution to take advantage of this new code
Godmar Back [Wed, 27 Aug 2008 14:34:24 +0000 (14:34 +0000)]
removed 'address' option for Bochs.
It makes Bochs > 2.2.6 fail with "[MEM0 ] ROM: System BIOS must end at 0xfffff"
and, according to http://www.nabble.com/Strange-error-message-when-bringing-up-a-CVS-build-td7532679.html
isn't even necessary for 2.2.6
Godmar Back [Wed, 27 Aug 2008 11:50:49 +0000 (11:50 +0000)]
cleaned up comments for reboot code and adopted GNU coding standards
Ben Pfaff [Tue, 26 Aug 2008 03:05:05 +0000 (03:05 +0000)]
Reboot when Ctrl+Alt+Del is pressed.
Suggested by Anthony Romano.
Implementation with assistance from and reviewed by Godmar Back.
Ben Pfaff [Mon, 25 Aug 2008 03:50:49 +0000 (03:50 +0000)]
Improve comments.
Suggested by Godmar Back.
Ben Pfaff [Sun, 24 Aug 2008 17:16:32 +0000 (17:16 +0000)]
New option -r to reboot the VM after actions are complete.
From Godmar Back, with minor tweaks.
Ben Pfaff [Sun, 24 Aug 2008 04:31:40 +0000 (04:31 +0000)]
Use standard POSIX "ustar" format for the scratch disk.
This should make it easier to work with scratch disks directly,
instead of through the "pintos" script.
With naming suggestion from Godmar Back.
Ben Pfaff [Sat, 23 Aug 2008 03:52:54 +0000 (03:52 +0000)]
RTC support.
Adapted from Anthony Romano's patch with the following changes:
* Style adjusted to fit rest of Pintos.
* Don't modify the RTC registers. It shouldn't be necessary.
We shouldn't need any initialization in fact.
* Drop rtc_set_time stub.
* Do handle time advancing while reading the RTC registers in
rtc_get_time, using the strategy from Linux.
* Fix leap year handling: adding (year / 4) * 24 * 60 * 60 is
wrong for first 2 months of a leap year; the test (year & 4)
should be (year % 4).
* Simplify month code.
* Drop enable_rtc_int, disable_rtc_int, rtc_updating that are
not needed.
* Update documentation.
Ben Pfaff [Sat, 23 Aug 2008 03:44:32 +0000 (03:44 +0000)]
Use macros for 8259A PIC registers, instead of writing them literally.
Based on patch from Anthony Romano <chz@vt.edu>, so update authorship
information given that Anthony is going to be contributing quite a
bit.
Ben Pfaff [Thu, 21 Aug 2008 04:49:45 +0000 (04:49 +0000)]
Use --build-id=none to avoid build-id sections on FC8.
These build-id sections cause the Pintos ELF loader to reject
binaries. The preferred way to eliminate them would be to add
/DISCARD/ : { *(.note.gnu.build-id) }
to the linker script, but (as reported by Godmar Back) this causes a
segmentation fault in ld, as reported in a bug filed at:
http://sourceware.org/bugzilla/show_bug.cgi?id=5025
Ben Pfaff [Sat, 2 Aug 2008 11:30:43 +0000 (11:30 +0000)]
Fix asm constraints to avoid SI, DI for byte and word access.
Thanks to Ed Lyle Karrels <karrels@stanford.edu> for reporting the
problem.
Ben Pfaff [Fri, 18 Jul 2008 01:13:29 +0000 (01:13 +0000)]
Fix bug in --sim and --debug options reported by Bob Lantz.
Ben Pfaff [Thu, 3 Jul 2008 20:10:32 +0000 (20:10 +0000)]
Specify rounding for priority calculations.
Pointed out by Ed Karrels <karrels@stanford.edu>.
Ben Pfaff [Thu, 3 Jul 2008 19:31:27 +0000 (19:31 +0000)]
No longer recommend SourceForge.
Really it seems like a bad idea for students.
Ben Pfaff [Thu, 3 Jul 2008 19:30:05 +0000 (19:30 +0000)]
Make recent Texinfo accept devel.texi.
Ben Pfaff [Mon, 17 Mar 2008 11:56:48 +0000 (11:56 +0000)]
Wording improvements, from "Valentin I. Spitkovsky"
<vspitkovsky@yahoo.com>.
Ben Pfaff [Thu, 21 Feb 2008 04:25:17 +0000 (04:25 +0000)]
Reference to threads/exception.c should be to userprog/exception.c.
Thanks to Matt Jones <mkjones@stanford.edu> for reporting this bug.
Ben Pfaff [Thu, 14 Feb 2008 08:17:14 +0000 (08:17 +0000)]
Explain why a null pointer sentinel must be pushed on the stack.
From Valentin I. Spitkovsky <vspitkovsky@yahoo.com>.
Ben Pfaff [Thu, 14 Feb 2008 08:12:21 +0000 (08:12 +0000)]
Grammar fixes.
From Valentin I. Spitkovsky <vspitkovsky@yahoo.com>.
Ben Pfaff [Sat, 26 Jan 2008 16:43:15 +0000 (16:43 +0000)]
Use -fno-stack-protector with GCC versions that support it, to fix a
linker error on platform on which -fstack-protector is default, such
as recent versions of Ubuntu.
Ben Pfaff [Thu, 24 Jan 2008 18:49:45 +0000 (18:49 +0000)]
Fix typos.
Reported by Valentin I. Spitkovsky <vspitkovsky@yahoo.com>.
Ben Pfaff [Thu, 24 Jan 2008 18:48:41 +0000 (18:48 +0000)]
Fix reversal of "acquire" and "release" in Locks section.
Reported by Valentin I. Spitkovsky <vspitkovsky@yahoo.com>.
Godmar Back [Wed, 9 Jan 2008 19:48:05 +0000 (19:48 +0000)]
- moved all instructions that related to local CVS/group setup in localcvsinstructions.texi
- added variables recommendsourceforge, recommendvnc, and recommendcygwin to include/exclude
recommendations to use sourceforge, VNC, and Cygwin, resp.
Godmar Back [Sat, 17 Nov 2007 09:42:26 +0000 (09:42 +0000)]
- add localsettings.texi which contains Stanford-local macros and variables
- threads.texi - removed comment about being welcome to implement priority donation for semaphores
- vm.texi - added FAQ about how to resume. It truely is a FAQ, at least here at Tech.
- debug.texi - updated Bochs build instructions
Godmar Back [Fri, 16 Nov 2007 02:18:35 +0000 (02:18 +0000)]
added IGNORE_USER_FAULTS clause to match specification
Godmar Back [Sun, 23 Sep 2007 15:40:23 +0000 (15:40 +0000)]
fixed typo: "pass" should be "fail"
Ben Pfaff [Fri, 18 May 2007 23:23:51 +0000 (23:23 +0000)]
Clean some more files.
Ben Pfaff [Mon, 7 May 2007 23:02:07 +0000 (23:02 +0000)]
Fix warning.
Ben Pfaff [Mon, 23 Apr 2007 00:05:33 +0000 (00:05 +0000)]
Correctly initialize the esp0 pointer in the TSS for the initial
kernel thread. Shouldn't actually matter in practice, because that
pointer is only used on a user->kernel transition, and the initial
kernel thread never runs a user process.
Reported by Godmar Back.
Ben Pfaff [Mon, 2 Apr 2007 08:10:25 +0000 (08:10 +0000)]
Ignore tags and cscope files.
Ben Pfaff [Mon, 2 Apr 2007 07:23:22 +0000 (07:23 +0000)]
Improve comment on thread_unblock().
Suggested by Godmar Back.
Ben Pfaff [Sat, 31 Mar 2007 14:40:52 +0000 (14:40 +0000)]
Fix bugs in -j and -r options reported by Godmar Back.
Ben Pfaff [Sat, 31 Mar 2007 14:40:29 +0000 (14:40 +0000)]
Fix bug in jitter reported by Godmar Back (BIOS wouldn't finish
initializing).
Ben Pfaff [Sat, 31 Mar 2007 14:12:03 +0000 (14:12 +0000)]
Fix specification of "write" system call to match the file system
implementation and the tests.
Ben Pfaff [Sat, 31 Mar 2007 13:49:21 +0000 (13:49 +0000)]
Describe cscope.
Ben Pfaff [Sat, 31 Mar 2007 12:26:45 +0000 (12:26 +0000)]
Delete question about pwd.c program, as agreed with Godmar earlier.
Ben Pfaff [Sat, 24 Mar 2007 01:26:18 +0000 (01:26 +0000)]
Improve wording.
From Godmar Back.
Ben Pfaff [Sat, 24 Mar 2007 01:12:10 +0000 (01:12 +0000)]
Explain the semantics of exec in more detail.
From Godmar Back.
Ben Pfaff [Sat, 24 Mar 2007 01:04:19 +0000 (01:04 +0000)]
Add helpful comment.
From Godmar Back.
Ben Pfaff [Sat, 24 Mar 2007 01:02:19 +0000 (01:02 +0000)]
Add "cscope" target.
Ben Pfaff [Sat, 24 Mar 2007 01:01:06 +0000 (01:01 +0000)]
Rename execute_thread() to start_process().
Thanks to Godmar Back for pointing out that it could be better named.
Ben Pfaff [Sat, 24 Mar 2007 00:56:57 +0000 (00:56 +0000)]
Clarify that create and remove work on files, not on file descriptors.
Thanks to Godmar Back for pointing out the need.
Ben Pfaff [Thu, 8 Mar 2007 03:56:24 +0000 (03:56 +0000)]
Fix bug in *-persistence tests when prerequisites fail.
Reported by Tanvi Vyas <tanvi@stanford.edu>.
Ben Pfaff [Wed, 7 Mar 2007 14:52:06 +0000 (14:52 +0000)]
Fix inconstiency in recent_cpu update description.
Ben Pfaff [Sun, 11 Feb 2007 04:45:07 +0000 (04:45 +0000)]
Fix typo.
Ben Pfaff [Sun, 11 Feb 2007 04:44:25 +0000 (04:44 +0000)]
Clarify description of "wait" syscall. Thanks to Evan Kutter
<ejk@stanford.edu> for describing the issue.
Ben Pfaff [Tue, 6 Feb 2007 21:09:10 +0000 (21:09 +0000)]
Improve example for "Can a thread's priority change while it is on the
ready queue?" FAQ. From Godmar Back.
Godmar Back [Tue, 6 Feb 2007 06:44:01 +0000 (06:44 +0000)]
added patch to make bochs work with gdb 6.5
Ben Pfaff [Sun, 28 Jan 2007 04:21:55 +0000 (04:21 +0000)]
Fix order of checks on load average.
From a CS140 student, via Ben Sapp.
Ben Pfaff [Sun, 21 Jan 2007 10:29:26 +0000 (10:29 +0000)]
Add i86pc to unames detected as x86 (used by Solaris).
From Michael Gregory <mpgreg@stanford.edu>.
Godmar Back [Sat, 13 Jan 2007 14:39:41 +0000 (14:39 +0000)]
fixed grammar/typo
Ben Pfaff [Thu, 11 Jan 2007 08:02:13 +0000 (08:02 +0000)]
Set VERBOSE to empty string by default, which prevents an environment
variable named VERBOSE from causing trouble but still allows it to be
overridden by the user on the command line. (Some of the Stanford
machines set VERBOSE=yes in the environment by default on log-in.)
Ben Pfaff [Thu, 11 Jan 2007 07:48:07 +0000 (07:48 +0000)]
Remove unnecessary semicolon that gives GNU make 3.80 fits.
Ben Pfaff [Thu, 11 Jan 2007 06:57:40 +0000 (06:57 +0000)]
Don't call bx_gdbstub_exception when we're not compiling the gdb stub.
Thanks to Godmar Back for pointing this out.
Ben Pfaff [Tue, 9 Jan 2007 17:46:42 +0000 (17:46 +0000)]
Add -MF to GCC invocation to make ccache happy on Fedora Core 6.
Godmar Back [Mon, 8 Jan 2007 09:55:17 +0000 (09:55 +0000)]
clarified stack limit issue and removed comment about first instruction faulting in stack page
Godmar Back [Mon, 8 Jan 2007 08:46:49 +0000 (08:46 +0000)]
- removed @ref to "printf Reboots" since this no longer applies and the @anchor is gone
- fixed typo print -> printf
Godmar Back [Mon, 8 Jan 2007 06:11:37 +0000 (06:11 +0000)]
adjusted scores for P4 as discussed
Godmar Back [Sun, 7 Jan 2007 21:38:02 +0000 (21:38 +0000)]
Cosmetic fix: make first column wider to account for longer names in p4.
Godmar Back [Sun, 7 Jan 2007 20:55:28 +0000 (20:55 +0000)]
- adjustments to scores for P3 as discussed.
- increased problem size for page-* tests to force eviction
Godmar Back [Sun, 7 Jan 2007 20:54:54 +0000 (20:54 +0000)]
adjustments to scores for P2 as discussed.
Godmar Back [Sat, 6 Jan 2007 19:00:52 +0000 (19:00 +0000)]
- added priority-donate-chain test which tests 8-level deep nested donation
- adjusted weights for P1 Grading file
Ben Pfaff [Thu, 4 Jan 2007 15:13:49 +0000 (15:13 +0000)]
Separate persistence tests from the extended filesys tests.
Suggested by Godmar Back.
Ben Pfaff [Thu, 4 Jan 2007 14:19:25 +0000 (14:19 +0000)]
New page-merge-mm, page-merge-stk tests.
Thanks to Godmar Back for suggestion.
Ben Pfaff [Mon, 18 Dec 2006 18:33:52 +0000 (18:33 +0000)]
Make comment more readable.
Ben Pfaff [Fri, 15 Dec 2006 19:40:03 +0000 (19:40 +0000)]
Fix expected output.
Ben Pfaff [Fri, 15 Dec 2006 14:58:10 +0000 (14:58 +0000)]
Don't require distinguishing data and metadata for caching.
Another suggestion for implementation order.
From Godmar.
Ben Pfaff [Fri, 15 Dec 2006 14:24:48 +0000 (14:24 +0000)]
Fix comment.
Ben Pfaff [Fri, 15 Dec 2006 14:21:04 +0000 (14:21 +0000)]
When printing a directory tree, indicate explicitly if it's empty.
Ben Pfaff [Mon, 11 Dec 2006 20:40:20 +0000 (20:40 +0000)]
Parse command-line options much earlier, so that thread_mlfqs is
initialized before thread_init() gets hold of it.
Also allow console output much earlier, by doing initialization
whenever we call into it first and by only trying to take the console
lock after threads have been initialized.
Don't try to take the console lock after the kernel panics, to avoid
getting nailed so hard by bugs in lock_acquire().
Suggested by Godmar Back.
Ben Pfaff [Fri, 8 Dec 2006 23:40:23 +0000 (23:40 +0000)]
New target to generate cscope.files.
Ben Pfaff [Fri, 8 Dec 2006 18:47:37 +0000 (18:47 +0000)]
Make it possible to ignore page faults in GDB.
From su.class.cs140 and Godmar Back.
Ben Pfaff [Fri, 8 Dec 2006 16:06:31 +0000 (16:06 +0000)]
Revert the bitmap randomization change, which had the side effect of
causing enough disk fragmentation for the base (extent-based) file
system that in some cases tests would fail. Also, it confused the
hell out of everyone. Failed experiment.
Ben Pfaff [Fri, 8 Dec 2006 15:39:32 +0000 (15:39 +0000)]
When reading files out of the scratch disk, don't die with an error
exit code if there's a bad signature, because that's a guest error not
a host error. (If we do exit with an error code, it fouls up the
grading process.) Instead, just make sure that the host file(s) we
were supposed to retrieve is unlinked.
Ben Pfaff [Fri, 8 Dec 2006 15:29:58 +0000 (15:29 +0000)]
Fix error message when archive fails to open.
Ben Pfaff [Fri, 8 Dec 2006 14:58:02 +0000 (14:58 +0000)]
Explain that multiple file descriptors for a single file are
independent.
From Godmar Back.
Ben Pfaff [Fri, 8 Dec 2006 14:52:37 +0000 (14:52 +0000)]
Note that struct file, struct dir are per-thread.
From Godmar Back.
Ben Pfaff [Fri, 8 Dec 2006 14:48:20 +0000 (14:48 +0000)]
Add Project 4 Suggested Order of Implementation section,
from slides written by Godmar Back.
Ben Pfaff [Fri, 8 Dec 2006 14:35:09 +0000 (14:35 +0000)]
Explain better what we expect from the buffer cache.
Ben Pfaff [Mon, 4 Dec 2006 19:14:26 +0000 (19:14 +0000)]
Use mkdir, not create.
Thanks to "Yuriy" for reporting this bug.
Ben Pfaff [Tue, 21 Nov 2006 13:04:33 +0000 (13:04 +0000)]
Clarify condition on BUF_SIZE in monitor example.
Thanks to Terje Mathiesen for pointing out this issue.
Ben Pfaff [Sat, 11 Nov 2006 14:44:42 +0000 (14:44 +0000)]
Add comment.
Ben Pfaff [Sat, 11 Nov 2006 14:43:15 +0000 (14:43 +0000)]
Drop use of volatile in favor of explicit memory barriers.
Document this use of barriers.
Ben Pfaff [Sat, 11 Nov 2006 14:41:59 +0000 (14:41 +0000)]
Also verify that running "make clean" deletes all the files in the
build directory except for the Makefile itself.