x86: handling unregistered IRQs
authorBarret Rhoden <brho@cs.berkeley.edu>
Sun, 28 Sep 2014 23:37:00 +0000 (16:37 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 29 Sep 2014 01:42:53 +0000 (18:42 -0700)
commita4f3197452f1c6842d790352b5ff82ffbfbd246a
tree40942e74cd2e08a4247f22160c088bc4023450b5
parenta643f3a025ce0057c7de3967921ee2045d3dea98
x86: handling unregistered IRQs

If we receive an IRQ for a vector with no handler, then we don't know
how to send an EOI.  Before this commit, if you sent an I_TESTING, we
would just do nothing.  Since we don't send an EOI, we'd never receive
another interrupt.

In general, we probably shouldn't be receiving interrupts that we don't
have handlers registered for, but who knows.  For testing, at least, I
can imagine receiving more IRQs.

Note the bit about POKE too - those are racy and since poke doesn't go
through the main IRQ handling, it won't deal with the halt race
(abort_halt()).
kern/arch/x86/trap.c
kern/src/schedule.c