PATH 
ADC Home > Documentation > Hardware > Device Managers and Drivers > PCI Card Services > Designing PCI Cards and Drivers for Power Macintosh Computers


  

Secondary Interrupt Handlers

Secondary interrupt handlers are the primary synchronization mechanism that a driver and its hardware interrupt handlers may use. Secondary interrupt handlers must conform to the interrupt execution environment rules, including absence of page faults, severe restrictions on using system services, and so on. For further information, see Device Driver Execution Contexts.

The special characteristic of secondary interrupt handlers that makes them useful is that the operating system guarantees that at most one secondary handler is active at any time. This means that if you have a data structure that requires complex update operations and each of the operations uses secondary interrupt handlers to access or update the data structure, then all access to the data structure will be atomic even though hardware interrupts are enabled during the access.

The DSL provides timers that can run secondary interrupt handlers when they expire. See Interrupt Timers.

Note

Although interrupts are accepted during the execution of secondary interrupt handlers, no noninterrupt level execution can take place. This can lead to severely degraded system responsiveness. Use the secondary interrupt facility only when necessary.

Secondary interrupt handlers have the form shown in the next section.

IMPORTANT

Secondary interrupts can't be used on the page fault path with Mac OS prior to Mac OS 8.5.

SecondaryInterruptHandlerProc2

Queuing Secondary Interrupt Handlers

QueueSecondaryInterruptHandler

Calling Secondary Interrupt Handlers

CallSecondaryInterruptHandler2


© 1999 Apple Computer, Inc. – (Last Updated 26 March 99)