|
Handler structure |
Top Previous Next |
|
A low-level handler is entered when its associated interrupt is taken. The kernel calls the first handler attached to the interrupt, passing in standard parameters. The handler must deal with the interrupt and then pass control on to the next handler for that interrupt. The kernel itself automatically appears as the final handler on the chain, and so regains control once all handlers have executed.
Handlers are identified by a 3-word structure called an Interrupt Control Block (ICB):
struct c6xint_ICB { struct c6xint_ICB *Next; // next ICB for this interrupt void *Handler; // Address of handler code void *Arg; // Argument for this handler }; |