pintos-anon
18 years agomake loop counter volatile to prevent gcc4.1 from optimizing away entire loop body
Godmar Back [Fri, 10 Nov 2006 02:20:08 +0000 (02:20 +0000)]
make loop counter volatile to prevent gcc4.1 from optimizing away entire loop body

18 years agoadded accidentally omitted $ to make operand immediate
Godmar Back [Fri, 10 Nov 2006 02:18:07 +0000 (02:18 +0000)]
added accidentally omitted $ to make operand immediate

18 years agoclarify use of timer_sleep or acceptable alternatives for implementing
Godmar Back [Sat, 4 Nov 2006 20:08:27 +0000 (20:08 +0000)]
clarify use of timer_sleep or acceptable alternatives for implementing
write-behind cache flushing.

18 years agoClarify purpose and rationale.
Ben Pfaff [Fri, 3 Nov 2006 03:07:56 +0000 (03:07 +0000)]
Clarify purpose and rationale.
From Godmar Back.

18 years agoRemove O_EXCL from flags used to create files to be copied out of a
Ben Pfaff [Fri, 3 Nov 2006 02:54:48 +0000 (02:54 +0000)]
Remove O_EXCL from flags used to create files to be copied out of a
Pintos scratch disk, in get_scratch_file.
Thanks to Godmar Back for pointing out the problem.

18 years agoDelete .tar, .get-output, and .get-errors files on "clean" target.
Ben Pfaff [Fri, 3 Nov 2006 02:50:36 +0000 (02:50 +0000)]
Delete .tar, .get-output, and .get-errors files on "clean" target.
Thanks to Godmar Back for pointing out the problem.

18 years agoadded IGNORE_USER_FAULTS flag - so students may report failed stack growth
Godmar Back [Wed, 1 Nov 2006 21:20:52 +0000 (21:20 +0000)]
added IGNORE_USER_FAULTS flag - so students may report failed stack growth

18 years agocorrected wrong statement about content of f->esp when page fault
Godmar Back [Wed, 1 Nov 2006 00:00:42 +0000 (00:00 +0000)]
corrected wrong statement about content of f->esp when page fault
occurs in kernel mode.  See [IA32-v3a], figure 5.4 in section 5.12.1.1.

18 years agoImprove comment.
Ben Pfaff [Sat, 7 Oct 2006 19:01:09 +0000 (19:01 +0000)]
Improve comment.

18 years agoSleep until recent_cpu actually decays.
Ben Pfaff [Thu, 5 Oct 2006 03:07:31 +0000 (03:07 +0000)]
Sleep until recent_cpu actually decays.

18 years agoAdd hints about not doing too much work in timer interrupt.
Ben Pfaff [Thu, 5 Oct 2006 03:05:40 +0000 (03:05 +0000)]
Add hints about not doing too much work in timer interrupt.

18 years ago*** empty log message ***
Ben Pfaff [Thu, 5 Oct 2006 03:04:36 +0000 (03:04 +0000)]
*** empty log message ***

18 years agoFix message.
Ben Pfaff [Thu, 5 Oct 2006 02:20:10 +0000 (02:20 +0000)]
Fix message.
From Godmar Back.

18 years agoWhen out of memory+swap, just panic the kernel.
Ben Pfaff [Thu, 5 Oct 2006 01:25:38 +0000 (01:25 +0000)]
When out of memory+swap, just panic the kernel.

18 years agoAdd -O to CFLAGS to try to catch uninitialized variable errors.
Ben Pfaff [Thu, 5 Oct 2006 01:14:14 +0000 (01:14 +0000)]
Add -O to CFLAGS to try to catch uninitialized variable errors.

18 years agoMake Pintos able to build with "gcc -m32" on x86-64 hosts without the
Ben Pfaff [Thu, 5 Oct 2006 00:44:09 +0000 (00:44 +0000)]
Make Pintos able to build with "gcc -m32" on x86-64 hosts without the
need for the host to have any 32-bit libraries (specifically, without
needing libgcc).

18 years agoFix logarithms.
Ben Pfaff [Tue, 3 Oct 2006 09:41:00 +0000 (09:41 +0000)]
Fix logarithms.
Thanks to Haobo Xu <haoboxu@stanford.edu>.

18 years agoIrq 7 is special. It is not just the parallel port. It can also be a
Ben Pfaff [Thu, 28 Sep 2006 17:45:27 +0000 (17:45 +0000)]
Irq 7 is special.  It is not just the parallel port.  It can also be a
"spurious" irq, one that is not associated with any particular device.
Real hardware can generate spurious irqs for various reasons (try
Google for details), but it never occurred to me that simulated
hardware would ever do so.

However, it can, at least under Bochs.  Pintos programs the PIT to
interrupt at 100 Hz.  The PIT does so by generating a output signal
that stays high most of the time but drops low for a single clock
cycle 100 times per second.  The low-to-high transition causes the
timer interrupt.

The problem occurs when we've been doing work with interrupts
disabled, causing a timer interrupt to be delayed.  If we enable
interrupts on the same clock cycle as the PIT's high-to-low
transition, we will still get an interrupt, because the interrupt
controller latched the presence of an interrupt.  However, when the
CPU attempts to determine the irq number, the interrupt controller
sees that all of its incoming interrupt lines are low.  Thus, it
reports irq 7 to the CPU, and we end up with an interrupt 0x27.

It doesn't happen very often, because there's only a 1-cycle window,
and it requires that we do a good deal of work with interrupts off,
and it can only happen if no other interrupts (e.g. serial) are
pending.  But it's darned annoying when it happens.

Here's a filtered excerpt from a Bochs log with debugging enabled
where you can see the problem.  The first interrupt (32 or 0x20) is
properly a timer interrupt, because irq line 0 is high.  The second
interrupt (39 or 0x27) is the spurious one; you can see that irq line
0 went low on the same cycle.

00080033515d[PIC  ] IRQ line 4 now low
00080033827d[PIC  ] IRQ line 4 now high
00080033970d[PIC  ] IRQ line 0 now low
00080033971d[PIC  ] IRQ line 0 now high
00080033989d[PIC  ] IRQ line 4 now low
00080034068d[CPU  ] interrupt(): vector = 32, INT = 0, EXT = 1
00080043970d[PIC  ] IRQ line 0 now low
00080043971d[PIC  ] IRQ line 0 now high
00080053971d[PIC  ] IRQ line 0 now low
00080053971d[PIC  ] IRQ line 0 now high
00080063971d[PIC  ] IRQ line 0 now low
00080063972d[PIC  ] IRQ line 0 now high
00080073971d[PIC  ] IRQ line 0 now low
00080073972d[PIC  ] IRQ line 0 now high
00080083971d[PIC  ] IRQ line 0 now low
00080083971d[CPU  ] interrupt(): vector = 39, INT = 0, EXT = 1
00080083972d[PIC  ] IRQ line 0 now high
00080084538d[PIC  ] IRQ line 4 now high

This change causes irqs 7 and 15 (0x27 and 0x2f) to be ignored when no
handler is provided.

Problem reported by Godmar Back.

18 years agoUpdate.
Ben Pfaff [Thu, 28 Sep 2006 13:11:52 +0000 (13:11 +0000)]
Update.

18 years agoMinor doc improvements.
Ben Pfaff [Thu, 28 Sep 2006 12:59:05 +0000 (12:59 +0000)]
Minor doc improvements.
From Godmar Back.

18 years agoMake list_entry, hash_entry more type-safe.
Ben Pfaff [Thu, 28 Sep 2006 12:36:41 +0000 (12:36 +0000)]
Make list_entry, hash_entry more type-safe.
Suggestion from Godmar Back.

18 years agoFix confusing spacing in example
Ben Pfaff [Thu, 28 Sep 2006 12:15:11 +0000 (12:15 +0000)]
Fix confusing spacing in example

18 years agoMake solutions apply again.
Ben Pfaff [Tue, 26 Sep 2006 20:15:37 +0000 (20:15 +0000)]
Make solutions apply again.

18 years agoCreate idle thread with minimum priority.
Ben Pfaff [Tue, 26 Sep 2006 15:12:05 +0000 (15:12 +0000)]
Create idle thread with minimum priority.
Suggested by Godmar Back.

18 years agoChange "Memory Barriers" to "Optimization Barriers".
Ben Pfaff [Tue, 26 Sep 2006 14:59:41 +0000 (14:59 +0000)]
Change "Memory Barriers" to "Optimization Barriers".
Thanks to Joshua Haberman for pointing out the issue.

18 years agoMove assignment to _end_kernel_text inside .rodata.
Ben Pfaff [Mon, 25 Sep 2006 21:43:09 +0000 (21:43 +0000)]
Move assignment to _end_kernel_text inside .rodata.

Without this change, any orphan, read-only sections (such as .eh_frame
from libgcc) will be placed by GNU ld between .rodata and
_end_kernel_text.  The result is that _end_kernel_text gets pushed
into the middle of a page that now contains some read-only and some
read/write data.  After paging_init() marks that page read-only, the
first write to it (in intr_init() in my case) causes Pintos to go
ka-boom!

With this change, orphan read-only sections just don't get marked
read-only in the page tables.  Big deal.

18 years agoFix two bugs in the base Pintos code:
Ben Pfaff [Mon, 25 Sep 2006 20:26:35 +0000 (20:26 +0000)]
Fix two bugs in the base Pintos code:

1. Idle thread doesn't get initialized well: it hangs around on the
   ready list until we have idle time.  Fix by using a semaphore to
   make sure the idle thread gets initialized.

2. After idle thread does get initialized, it can get put back on the
   ready list if you yield from the timer interrupt.  Fix by not ever
   putting the idle thread on the ready list.

Plus fix a bug in the sample solution that tends to mask #2:

3. Doesn't yield from timer interrupt when unblocking a thread.  Fix
   by yielding from timer interrupt when unblocking a thread (of
   higher priority).

Also, fix something that confused students:

4. Rename enable_mlfqs to thread_mlfqs and move it to thread.c (to
   reduce confusion about where it is declared), and heavily comment
   to ensure that students know when it gets initialized.

These problems were drawn to my attention by Godmar Back.  Thanks!

18 years agofixed left-over, now-wrong comment about how decrease in numeric priority means incre...
Godmar Back [Wed, 13 Sep 2006 11:40:40 +0000 (11:40 +0000)]
fixed left-over, now-wrong comment about how decrease in numeric priority means increase in effective priority

18 years agofixed typo in wrong iterator example
Godmar Back [Tue, 12 Sep 2006 02:32:27 +0000 (02:32 +0000)]
fixed typo in wrong iterator example

18 years agoFix issue reported by Godmar Back:
Ben Pfaff [Sat, 9 Sep 2006 16:53:56 +0000 (16:53 +0000)]
Fix issue reported by Godmar Back:

    I may have found a problem with the triple fault patch, though I don't
    know how to solve it.
    If you add a *(int *)0=42 right after paging_init(), but before
    intr_init(), gdb will just hang:

...

    where it hangs while Pintos prints:

    Triple fault: stopping for gdb
    Triple fault: stopping for gdb
    Triple fault: stopping for gdb
    Triple fault: stopping for gdb
    Triple fault: stopping for gdb
    Triple fault: stopping for gdb
    Triple fault: stopping for gdb
    Triple fault: stopping for gdb
    Triple fault: stopping for gdb
    Triple fault: stopping for gdb
    Triple fault: stopping for gdb
    etc.

    It stops properly if I don't next-step (that is, if I just let it run.)

18 years agoConvert tabs to spaces to make cut-and-paste to interactive shell
Ben Pfaff [Sat, 9 Sep 2006 16:52:39 +0000 (16:52 +0000)]
Convert tabs to spaces to make cut-and-paste to interactive shell
work.

18 years agoMake kernel code pages read-only.
Ben Pfaff [Fri, 8 Sep 2006 00:51:17 +0000 (00:51 +0000)]
Make kernel code pages read-only.
From Godmar Back, with changes.

18 years agoClarify summary section.
Ben Pfaff [Fri, 8 Sep 2006 00:50:31 +0000 (00:50 +0000)]
Clarify summary section.

18 years agoGet rid of exit_code in struct thread.
Ben Pfaff [Fri, 8 Sep 2006 00:50:02 +0000 (00:50 +0000)]
Get rid of exit_code in struct thread.

18 years agoAdd:
Ben Pfaff [Thu, 7 Sep 2006 20:50:41 +0000 (20:50 +0000)]
Add:

* In grading scripts, warn when a fault is caused by an attempt to
  write to the kernel text segment.  (Among other things we need to
  explain that "text" means "code".)

18 years agoChange several "die"s to "fail"s in read_tar.
Ben Pfaff [Sun, 20 Aug 2006 21:38:16 +0000 (21:38 +0000)]
Change several "die"s to "fail"s in read_tar.
Reported by Haobo Xu <haoboxu@stanford.edu>.

18 years agoFirst complete draft.
Ben Pfaff [Fri, 18 Aug 2006 22:09:01 +0000 (22:09 +0000)]
First complete draft.

18 years agoContinue work.
Ben Pfaff [Fri, 18 Aug 2006 21:11:14 +0000 (21:11 +0000)]
Continue work.

18 years agoB5: Include "open by a process" as a reason to disallow removing a
Ben Pfaff [Fri, 18 Aug 2006 16:48:47 +0000 (16:48 +0000)]
B5: Include "open by a process" as a reason to disallow removing a
directory.

18 years agoContinue work.
Ben Pfaff [Fri, 18 Aug 2006 04:16:42 +0000 (04:16 +0000)]
Continue work.

18 years agoFirst draft (incomplete).
Ben Pfaff [Thu, 17 Aug 2006 22:36:44 +0000 (22:36 +0000)]
First draft (incomplete).

18 years agoMinor wording improvement.
Ben Pfaff [Thu, 17 Aug 2006 18:27:07 +0000 (18:27 +0000)]
Minor wording improvement.

18 years agoA2: We want to see the work in the calculation, not just the final
Ben Pfaff [Thu, 17 Aug 2006 17:23:38 +0000 (17:23 +0000)]
A2: We want to see the work in the calculation, not just the final
result.

18 years agoMay also consult course staff.
Ben Pfaff [Thu, 17 Aug 2006 17:09:14 +0000 (17:09 +0000)]
May also consult course staff.

18 years agomake_tar_archive() needs to initialize `success'.
Ben Pfaff [Thu, 17 Aug 2006 16:47:41 +0000 (16:47 +0000)]
make_tar_archive() needs to initialize `success'.
Thanks to "Morgan" <theatomicbob@excite.com> for reporting this bug.

18 years agoFirst complete draft.
Ben Pfaff [Mon, 7 Aug 2006 17:26:11 +0000 (17:26 +0000)]
First complete draft.

18 years agoFirst draft.
Ben Pfaff [Fri, 4 Aug 2006 20:46:34 +0000 (20:46 +0000)]
First draft.

18 years agoClarify length.
Ben Pfaff [Fri, 4 Aug 2006 20:46:26 +0000 (20:46 +0000)]
Clarify length.

18 years agoImprovements.
Ben Pfaff [Mon, 24 Jul 2006 18:32:38 +0000 (18:32 +0000)]
Improvements.

18 years agoFirst complete draft of advice for project 2.
Ben Pfaff [Mon, 24 Jul 2006 17:27:36 +0000 (17:27 +0000)]
First complete draft of advice for project 2.

18 years agoIncomplete first draft.
Ben Pfaff [Mon, 24 Jul 2006 03:30:06 +0000 (03:30 +0000)]
Incomplete first draft.

18 years agoFix comment.
Ben Pfaff [Sun, 23 Jul 2006 21:56:44 +0000 (21:56 +0000)]
Fix comment.

18 years agoFix comment.
Ben Pfaff [Sun, 23 Jul 2006 21:53:47 +0000 (21:53 +0000)]
Fix comment.

18 years agoImprove comment on sema_down.
Ben Pfaff [Fri, 21 Jul 2006 02:05:37 +0000 (02:05 +0000)]
Improve comment on sema_down.
Thanks to Haobo Xu for pointing this out.

18 years agoAdd an identifier to each question in the design document templates,
Ben Pfaff [Fri, 21 Jul 2006 00:56:03 +0000 (00:56 +0000)]
Add an identifier to each question in the design document templates,
so that they are easier to refer to individually.

18 years agoFirst stab at grading advice.
Ben Pfaff [Sun, 9 Jul 2006 17:58:21 +0000 (17:58 +0000)]
First stab at grading advice.

18 years agoAdd a label for each question.
Ben Pfaff [Sun, 9 Jul 2006 17:55:06 +0000 (17:55 +0000)]
Add a label for each question.

18 years agoFix typo.
Ben Pfaff [Sun, 9 Jul 2006 15:10:00 +0000 (15:10 +0000)]
Fix typo.

18 years agoFix comment.
Ben Pfaff [Sat, 8 Jul 2006 19:26:38 +0000 (19:26 +0000)]
Fix comment.

18 years ago"woken up" => "awakened"
Ben Pfaff [Sat, 8 Jul 2006 18:56:36 +0000 (18:56 +0000)]
"woken up" => "awakened"

18 years agoAdd additional explanation to the spontaneous reboot output.
Ben Pfaff [Sat, 8 Jul 2006 18:15:14 +0000 (18:15 +0000)]
Add additional explanation to the spontaneous reboot output.

18 years agoMake requirements consistent with doc template wording.
Ben Pfaff [Fri, 7 Jul 2006 20:54:50 +0000 (20:54 +0000)]
Make requirements consistent with doc template wording.

18 years agoPoint out that all_list and all_elem don't exist in the tree we provide.
Ben Pfaff [Fri, 7 Jul 2006 18:53:30 +0000 (18:53 +0000)]
Point out that all_list and all_elem don't exist in the tree we provide.

18 years agoNew FAQ.
Ben Pfaff [Fri, 7 Jul 2006 01:52:28 +0000 (01:52 +0000)]
New FAQ.

18 years agoFix summary.
Ben Pfaff [Fri, 7 Jul 2006 01:14:13 +0000 (01:14 +0000)]
Fix summary.
Thanks to Samanth Lingampalli <samanthl@stanford.edu> and Haobo Xu
<haoboxu@stanford.edu> for input.

18 years agoDon't say that the design doc itself is 50% of the grade.
Ben Pfaff [Sun, 2 Jul 2006 16:52:58 +0000 (16:52 +0000)]
Don't say that the design doc itself is 50% of the grade.

18 years agoUse test -f because Solaris sh does not support -e.
Ben Pfaff [Fri, 30 Jun 2006 00:51:42 +0000 (00:51 +0000)]
Use test -f because Solaris sh does not support -e.
(Idiots can't read POSIX spec I guess.)

18 years agoRecommend zcat piping into tar x, instead of tar xzf, because some of
Ben Pfaff [Mon, 19 Jun 2006 21:52:52 +0000 (21:52 +0000)]
Recommend zcat piping into tar x, instead of tar xzf, because some of
the Leland machines don't have GNU tar and thus don't support "z".

18 years agoAllow user fault messages in output in bad-* tests.
Ben Pfaff [Mon, 19 Jun 2006 21:50:53 +0000 (21:50 +0000)]
Allow user fault messages in output in bad-* tests.
Add "pass;" at end of each bad-* test checker script.

18 years ago@ need to be escaped.
Ben Pfaff [Thu, 15 Jun 2006 00:59:18 +0000 (00:59 +0000)]
@ need to be escaped.

18 years agoAdd some comments.
Ben Pfaff [Wed, 14 Jun 2006 16:00:20 +0000 (16:00 +0000)]
Add some comments.
From chris@seberino.org.

18 years agoPoint out that the tarball does not include the doc directory.
Ben Pfaff [Sun, 11 Jun 2006 16:53:09 +0000 (16:53 +0000)]
Point out that the tarball does not include the doc directory.
From chris@seberino.org.

18 years agoCapitalize QEMU properly.
Ben Pfaff [Sat, 10 Jun 2006 20:09:25 +0000 (20:09 +0000)]
Capitalize QEMU properly.
From chris@seberino.org.

18 years agoadded bad-jump/read/write bad-jump2/read2/write2 to check that process
Godmar Back [Wed, 7 Jun 2006 22:09:19 +0000 (22:09 +0000)]
added bad-jump/read/write bad-jump2/read2/write2 to check that process
that attempt to execute/read/write NULL or a kernel address, resp., are
properly terminated.

18 years agodefined 'test_name' for msg()/vmsg() to work properly
Godmar Back [Tue, 6 Jun 2006 12:48:38 +0000 (12:48 +0000)]
defined 'test_name' for msg()/vmsg() to work properly

18 years agoMake quoting consistent.
Ben Pfaff [Fri, 2 Jun 2006 22:13:31 +0000 (22:13 +0000)]
Make quoting consistent.

18 years agoPoint to installation instructions.
Ben Pfaff [Fri, 2 Jun 2006 22:10:36 +0000 (22:10 +0000)]
Point to installation instructions.

18 years agoReplace GSX Server support with VMware Player support.
Ben Pfaff [Fri, 2 Jun 2006 22:06:51 +0000 (22:06 +0000)]
Replace GSX Server support with VMware Player support.
Fully support serial terminal with Player.

18 years agoUpdate.
Ben Pfaff [Thu, 1 Jun 2006 22:19:51 +0000 (22:19 +0000)]
Update.

18 years agoAdd installation chapter to manual. Remove now-redundant files from
Ben Pfaff [Thu, 1 Jun 2006 22:17:39 +0000 (22:17 +0000)]
Add installation chapter to manual.  Remove now-redundant files from
src/utils, src/misc.

Update copyright years in license.  Add license to manual.

18 years agoFix typos.
Ben Pfaff [Thu, 1 Jun 2006 21:54:30 +0000 (21:54 +0000)]
Fix typos.

18 years agoAdd support for "keyboard" input over the serial port.
Ben Pfaff [Thu, 1 Jun 2006 20:11:00 +0000 (20:11 +0000)]
Add support for "keyboard" input over the serial port.
Revise documentation accordingly.
Revise reference solution accordingly.
Change real Return key to produce \r, to match what is received on
serial port.
Update shell example program to expect \r at end of file.
Modify testing makefiles to supply /dev/null as input.
Add squish-pty help program to deal with Bochs,
and modify "pintos" to use it.

18 years agoDon't put white space before call to $(eval) because that makes GNU
Ben Pfaff [Thu, 1 Jun 2006 20:07:45 +0000 (20:07 +0000)]
Don't put white space before call to $(eval) because that makes GNU
make 3.80 on vine barf.

18 years agoIncrease timeout for MLFQS tests to 480 seconds, which is necessary
Ben Pfaff [Thu, 1 Jun 2006 15:03:40 +0000 (15:03 +0000)]
Increase timeout for MLFQS tests to 480 seconds, which is necessary
sometimes.

18 years agoAdd utils to CLEAN_SUBDIRS.
Ben Pfaff [Wed, 31 May 2006 18:26:36 +0000 (18:26 +0000)]
Add utils to CLEAN_SUBDIRS.

18 years agoFix two bugs:
Ben Pfaff [Tue, 30 May 2006 21:35:27 +0000 (21:35 +0000)]
Fix two bugs:
- If -s used with GSX, really don't provide serial port.
- Call File::Temp::cleanup() inside eval to cope with old versions
  of File::Temp that didn't have cleanup.

18 years agoFix stupidity in last check-in.
Ben Pfaff [Tue, 30 May 2006 21:33:10 +0000 (21:33 +0000)]
Fix stupidity in last check-in.

18 years agoAdd patch to support serial terminals under Solaris.
Ben Pfaff [Tue, 30 May 2006 20:27:07 +0000 (20:27 +0000)]
Add patch to support serial terminals under Solaris.

18 years agoAdd priority-donate-lower to rubric.
Ben Pfaff [Tue, 30 May 2006 20:26:03 +0000 (20:26 +0000)]
Add priority-donate-lower to rubric.

18 years agoReduce number of simultaneously waking threads to 3,
Ben Pfaff [Tue, 30 May 2006 20:25:40 +0000 (20:25 +0000)]
Reduce number of simultaneously waking threads to 3,
in lieu of increasing instructions-per-second (ips) for Bochs.

18 years agoWhen using -k, make sure to flush all of the subprocess's output to
Ben Pfaff [Tue, 30 May 2006 20:18:24 +0000 (20:18 +0000)]
When using -k, make sure to flush all of the subprocess's output to
stdout, even after the subprocess has died.

18 years agoMake stdout unbuffered while filtering output.
Ben Pfaff [Tue, 30 May 2006 19:25:32 +0000 (19:25 +0000)]
Make stdout unbuffered while filtering output.

18 years agoComment.
Ben Pfaff [Sat, 27 May 2006 20:57:13 +0000 (20:57 +0000)]
Comment.

18 years agoAdd "-k" option to pintos script. When used, pintos will scan the
Ben Pfaff [Sat, 27 May 2006 20:21:09 +0000 (20:21 +0000)]
Add "-k" option to pintos script.  When used, pintos will scan the
serial output for key words like "Kernel PANIC" and, if found,
terminate the run.  This is useful for making sure that things like
triple faults or recursive panics don't waste a lot of time by finally
terminating only upon a timeout that might be as much as 10 minutes.
Add "-k" to the command line used in the test scripts.

Also, pintos now saves and restores the terminal settings across the
call to the simulator.  This is because qemu turns off local echo and
doesn't restore it if killed by a signal.

18 years agoPut "abort" in "User process abort" in all caps, analogous to "Kernel
Ben Pfaff [Sat, 27 May 2006 20:10:32 +0000 (20:10 +0000)]
Put "abort" in "User process abort" in all caps, analogous to "Kernel
PANIC".

18 years agoDisable networking when running qemu,
Ben Pfaff [Sat, 27 May 2006 16:27:04 +0000 (16:27 +0000)]
Disable networking when running qemu,
to suppress prompt for sudo password (if enabled).

18 years agoAdd file system persistence tests:
Ben Pfaff [Sat, 27 May 2006 00:06:54 +0000 (00:06 +0000)]
Add file system persistence tests:

Change Make.tests to invoke pintos a second time for the extended
filesys tests, and in that run to tar up the file system contents and
copy it out.
Update grading scripts to check the generated tarballs.

Update documentation.

Update documented requirements for remove() of a directory to give
basically the options offered by POSIX, and update the tests to check
for these behaviors.

Remove dir-lsdir test, which no longer made sense given that readdir
is used so heavily in other tests.

Merge dir-mk-vine and dir-rm-vine tests into a single dir-vine test,
which is now much more stringent.

Merge dir-rm-cwd-cd and dir-rm-cwd into a single dir-rm-cwd test,
which is now much more stringent.

Check that a non-empty directory cannot be removed.

Update scoring rubrics.

18 years agoMake the default simulator qemu for project 2...4,
Ben Pfaff [Fri, 26 May 2006 20:59:59 +0000 (20:59 +0000)]
Make the default simulator qemu for project 2...4,
instead of just doing so in tests/Makefile.
Update documentation to match.

18 years agoqemu is much faster than Bochs.
Ben Pfaff [Fri, 26 May 2006 19:50:57 +0000 (19:50 +0000)]
qemu is much faster than Bochs.

18 years agoAdd item.
Ben Pfaff [Fri, 26 May 2006 19:49:12 +0000 (19:49 +0000)]
Add item.