Subject: fast interrupts
To: None <port-i386@netbsd.org>
From: T. William Wells <bill@twwells.com>
List: port-i386
Date: 09/14/1994 22:10:06
I'm going to be implementing fast interrupts for my serial driver.  Rather
than the FreeBSD approach, which makes all tty pseudo-interrupts end up in
the same handler, I'm going to implement it as follows:

A driver that wants a fast interrupt will register two handlers. One of them
is the fast handler, the other is a normal handler. If the fast handler is
installed, the interrupt vector is changed to point to the fast handler's
entry code, instead of the usual place.

When an interrupt occurs for a device that has a fast handler, the fast
interrupt handler is called. That handler is called with a minimal context
and with interrupts disabled. It returns a value. If that value is zero, the
interrupt is just exited. If that value is nonzero, the regular interrupt
handler is called, with the normal environment for an interrupt handler.

Comments?