pintos-anon
16 years agoGrammar fixes.
Ben Pfaff [Thu, 14 Feb 2008 08:12:21 +0000 (08:12 +0000)]
Grammar fixes.
From Valentin I. Spitkovsky <vspitkovsky@yahoo.com>.

16 years agoUse -fno-stack-protector with GCC versions that support it, to fix a
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.

16 years agoFix typos.
Ben Pfaff [Thu, 24 Jan 2008 18:49:45 +0000 (18:49 +0000)]
Fix typos.

Reported by Valentin I. Spitkovsky <vspitkovsky@yahoo.com>.

16 years agoFix reversal of "acquire" and "release" in Locks section.
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>.

16 years ago- updated some tasks to reflect current state/work already done.
Godmar Back [Wed, 9 Jan 2008 20:07:35 +0000 (20:07 +0000)]
- updated some tasks to reflect current state/work already done.
- still in need of update

16 years ago- moved all instructions that related to local CVS/group setup in localcvsinstruction...
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.

17 years ago- add localsettings.texi which contains Stanford-local macros and variables
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

17 years agoadded IGNORE_USER_FAULTS clause to match specification
Godmar Back [Fri, 16 Nov 2007 02:18:35 +0000 (02:18 +0000)]
added IGNORE_USER_FAULTS clause to match specification

17 years agofixed typo: "pass" should be "fail"
Godmar Back [Sun, 23 Sep 2007 15:40:23 +0000 (15:40 +0000)]
fixed typo: "pass" should be "fail"

17 years agoClean some more files.
Ben Pfaff [Fri, 18 May 2007 23:23:51 +0000 (23:23 +0000)]
Clean some more files.

17 years agoFix warning.
Ben Pfaff [Mon, 7 May 2007 23:02:07 +0000 (23:02 +0000)]
Fix warning.

17 years agoCorrectly initialize the esp0 pointer in the TSS for the initial
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.

17 years agoIgnore tags and cscope files.
Ben Pfaff [Mon, 2 Apr 2007 08:10:25 +0000 (08:10 +0000)]
Ignore tags and cscope files.

17 years agoImprove comment on thread_unblock().
Ben Pfaff [Mon, 2 Apr 2007 07:23:22 +0000 (07:23 +0000)]
Improve comment on thread_unblock().
Suggested by Godmar Back.

17 years agoFix bugs in -j and -r options reported 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.

17 years agoFix bug in jitter reported by Godmar Back (BIOS wouldn't finish
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).

17 years agoFix specification of "write" system call to match the file system
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.

17 years agoDescribe cscope.
Ben Pfaff [Sat, 31 Mar 2007 13:49:21 +0000 (13:49 +0000)]
Describe cscope.

17 years agoDelete question about pwd.c program, as agreed with Godmar earlier.
Ben Pfaff [Sat, 31 Mar 2007 12:26:45 +0000 (12:26 +0000)]
Delete question about pwd.c program, as agreed with Godmar earlier.

17 years agoImprove wording.
Ben Pfaff [Sat, 24 Mar 2007 01:26:18 +0000 (01:26 +0000)]
Improve wording.
From Godmar Back.

17 years agoExplain the semantics of exec in more detail.
Ben Pfaff [Sat, 24 Mar 2007 01:12:10 +0000 (01:12 +0000)]
Explain the semantics of exec in more detail.
From Godmar Back.

17 years agoAdd helpful comment.
Ben Pfaff [Sat, 24 Mar 2007 01:04:19 +0000 (01:04 +0000)]
Add helpful comment.
From Godmar Back.

17 years agoAdd "cscope" target.
Ben Pfaff [Sat, 24 Mar 2007 01:02:19 +0000 (01:02 +0000)]
Add "cscope" target.

17 years agoRename execute_thread() to start_process().
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.

17 years agoClarify that create and remove work on files, not on file descriptors.
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.

17 years agoNote that the GNU/Linux manpage for strtok claims that it uses a
Ben Pfaff [Thu, 8 Mar 2007 11:17:17 +0000 (11:17 +0000)]
Note that the GNU/Linux manpage for strtok claims that it uses a
static buffer, which is wrong.

17 years agoFix bug in *-persistence tests when prerequisites fail.
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>.

17 years agoFix inconstiency in recent_cpu update description.
Ben Pfaff [Wed, 7 Mar 2007 14:52:06 +0000 (14:52 +0000)]
Fix inconstiency in recent_cpu update description.

17 years agoFix typo.
Ben Pfaff [Sun, 11 Feb 2007 04:45:07 +0000 (04:45 +0000)]
Fix typo.

17 years agoClarify description of "wait" syscall. Thanks to Evan Kutter
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.

17 years agoImprove example for "Can a thread's priority change while it is on the
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.

17 years agoadded patch to make bochs work with gdb 6.5
Godmar Back [Tue, 6 Feb 2007 06:44:01 +0000 (06:44 +0000)]
added patch to make bochs work with gdb 6.5

17 years agoFix order of checks on load average.
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.

17 years agoAdd i86pc to unames detected as x86 (used by Solaris).
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>.

17 years agofixed grammar/typo
Godmar Back [Sat, 13 Jan 2007 14:39:41 +0000 (14:39 +0000)]
fixed grammar/typo

17 years agoSet VERBOSE to empty string by default, which prevents an environment
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.)

17 years agoRemove unnecessary semicolon that gives GNU make 3.80 fits.
Ben Pfaff [Thu, 11 Jan 2007 07:48:07 +0000 (07:48 +0000)]
Remove unnecessary semicolon that gives GNU make 3.80 fits.

17 years agoDon't call bx_gdbstub_exception when we're not compiling the gdb stub.
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.

17 years agoAdd -MF to GCC invocation to make ccache happy on Fedora Core 6.
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.

17 years agoclarified stack limit issue and removed comment about first instruction faulting...
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

17 years ago- removed @ref to "printf Reboots" since this no longer applies and the @anchor is...
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

17 years agoadjusted scores for P4 as discussed
Godmar Back [Mon, 8 Jan 2007 06:11:37 +0000 (06:11 +0000)]
adjusted scores for P4 as discussed

17 years agoCosmetic fix: make first column wider to account for longer names in p4.
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.

17 years ago- adjustments to scores for P3 as discussed.
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

17 years agoadjustments to scores for P2 as discussed.
Godmar Back [Sun, 7 Jan 2007 20:54:54 +0000 (20:54 +0000)]
adjustments to scores for P2 as discussed.

17 years ago- added priority-donate-chain test which tests 8-level deep nested donation
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

17 years agoSeparate persistence tests from the extended filesys tests.
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.

17 years agoNew page-merge-mm, page-merge-stk tests.
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.

17 years agoMake comment more readable.
Ben Pfaff [Mon, 18 Dec 2006 18:33:52 +0000 (18:33 +0000)]
Make comment more readable.

17 years agoFix expected output.
Ben Pfaff [Fri, 15 Dec 2006 19:40:03 +0000 (19:40 +0000)]
Fix expected output.

17 years agoDon't require distinguishing data and metadata for caching.
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.

17 years agoFix comment.
Ben Pfaff [Fri, 15 Dec 2006 14:24:48 +0000 (14:24 +0000)]
Fix comment.

17 years agoWhen printing a directory tree, indicate explicitly if it's empty.
Ben Pfaff [Fri, 15 Dec 2006 14:21:04 +0000 (14:21 +0000)]
When printing a directory tree, indicate explicitly if it's empty.

17 years agoParse command-line options much earlier, so that thread_mlfqs is
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.

17 years agoNew target to generate cscope.files.
Ben Pfaff [Fri, 8 Dec 2006 23:40:23 +0000 (23:40 +0000)]
New target to generate cscope.files.

17 years agoMake it possible to ignore page faults in GDB.
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.

17 years agoRevert the bitmap randomization change, which had the side effect of
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.

17 years agoClarify description to avoid unjustly nailing students.
Ben Pfaff [Fri, 8 Dec 2006 16:03:50 +0000 (16:03 +0000)]
Clarify description to avoid unjustly nailing students.
From Vincenzo Di Nicola <dinicola@stanford.edu>.

17 years agoFix lost thought.
Ben Pfaff [Fri, 8 Dec 2006 15:58:57 +0000 (15:58 +0000)]
Fix lost thought.
From Godmar Back.

17 years agoGrab hard disk statistics from submissions and put them in hdd.stats.
Ben Pfaff [Fri, 8 Dec 2006 15:52:37 +0000 (15:52 +0000)]
Grab hard disk statistics from submissions and put them in hdd.stats.

17 years agoWhen reading files out of the scratch disk, don't die with an error
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.

17 years agoFix error message when archive fails to open.
Ben Pfaff [Fri, 8 Dec 2006 15:29:58 +0000 (15:29 +0000)]
Fix error message when archive fails to open.

17 years agoExplain that multiple file descriptors for a single file are
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.

17 years agoNote that struct file, struct dir are per-thread.
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.

17 years agoAdd Project 4 Suggested Order of Implementation section,
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.

17 years agoExplain better what we expect from the buffer cache.
Ben Pfaff [Fri, 8 Dec 2006 14:35:09 +0000 (14:35 +0000)]
Explain better what we expect from the buffer cache.

17 years agoUse mkdir, not create.
Ben Pfaff [Mon, 4 Dec 2006 19:14:26 +0000 (19:14 +0000)]
Use mkdir, not create.
Thanks to "Yuriy" for reporting this bug.

18 years agoClarify condition on BUF_SIZE in monitor example.
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.

18 years agoAdd comment.
Ben Pfaff [Sat, 11 Nov 2006 14:44:42 +0000 (14:44 +0000)]
Add comment.

18 years agoDrop use of volatile in favor of explicit memory barriers.
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.

18 years agoAlso verify that running "make clean" deletes all the files in the
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.

18 years agoClean tests/vm/zeros.
Ben Pfaff [Sat, 11 Nov 2006 14:30:18 +0000 (14:30 +0000)]
Clean tests/vm/zeros.

18 years agoAdopt consistent style in asm statements.
Ben Pfaff [Sat, 11 Nov 2006 14:29:14 +0000 (14:29 +0000)]
Adopt consistent style in asm statements.

18 years agoAdd memory clobbers to several asm statements,
Ben Pfaff [Sat, 11 Nov 2006 14:25:16 +0000 (14:25 +0000)]
Add memory clobbers to several asm statements,
to prevent reordering.

18 years agoMake sure loops_per_tick doesn't overflow to zero.
Ben Pfaff [Sat, 11 Nov 2006 14:19:40 +0000 (14:19 +0000)]
Make sure loops_per_tick doesn't overflow to zero.

18 years agoAlso clean results, grade.
Ben Pfaff [Fri, 10 Nov 2006 16:53:21 +0000 (16:53 +0000)]
Also clean results, grade.

18 years agoAdd "memory" as clobber to the asm used by barrier().
Ben Pfaff [Fri, 10 Nov 2006 15:51:03 +0000 (15:51 +0000)]
Add "memory" as clobber to the asm used by barrier().
Otherwise at least some versions of GCC assume that no changes to
memory can take place.

18 years agoAlso clean bochsout.txt, bochsrc.txt.
Ben Pfaff [Fri, 10 Nov 2006 15:31:18 +0000 (15:31 +0000)]
Also clean bochsout.txt, bochsrc.txt.

18 years agoMinor style updates.
Ben Pfaff [Fri, 10 Nov 2006 15:06:15 +0000 (15:06 +0000)]
Minor style updates.

18 years agoRewrite of multi-oom. Now descends 10 times and expects to reach the same
Godmar Back [Fri, 10 Nov 2006 04:36:14 +0000 (04:36 +0000)]
Rewrite of multi-oom.  Now descends 10 times and expects to reach the same
depth every time.  In addition, fires off some children that consume resources
and then crash.  Much more difficult than before.

18 years ago- when ignoring exit codes, ignore exit(-1) also (previously didn't allow '-')
Godmar Back [Fri, 10 Nov 2006 04:34:20 +0000 (04:34 +0000)]
- when ignoring exit codes, ignore exit(-1) also (previously didn't allow '-')

18 years agofixed memory leak on error path in copy_in_string
Godmar Back [Fri, 10 Nov 2006 04:17:53 +0000 (04:17 +0000)]
fixed memory leak on error path in copy_in_string

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.