Defining an Interrupt Identifier
An interrupt identifier is a unique value used by the kernel to identify a target device that raises an interrupt that requires processing. The kernel then uses the interrupt identifier to indicate whether all handling is complete, or whether to launch an interrupt service thread (IST) that handles further processing by the device driver. Platform Builder provides a set of predefined interrupt identifiers, or you can create your own.
Windows CE defines a set of interrupt identifiers in the Nkintr.h file. The following table shows the special-purpose interrupts used by the OS.
Interrupt identifier | Description |
---|---|
SYSINTR_NOP | Indicates that the kernel should complete processing of the exception handler without setting an event. |
SYSINTR_RESCHED | Indicates that the kernel should execute a reschedule. |
SYSINTR_DEVICES | Specifies the base value for device class identifiers not defined by your OAL. |
SYSINTR_MAX_DEVICES | Specifies the maximum number of allowable device interrupt identifiers. The default is 32. |
SYSINTR_PROFILE | Used by the system for profiling. It is defined relative to the value SYSINTR_DEVICES. |
SYSINTR_TIMING | Used by the system for latency analysis. It is defined relative to the value SYSINTR_DEVICES. |
SYSINTR_RTC_ALARM | Indicates a real-time clock alarm. It is defined relative to the value SYSINTR_DEVICES. |
SYSINTR_FIRMWARE | Specifies the base value for custom, OAL-defined interrupt identifiers. It is defined relative to SYSINTR_DEVICES. All OEM identifiers should be equal to, or greater than, this identifier. |
SYSINTR_MAX_DEVICES | Specifies the maximum number of allowable device interrupt identifiers. The default is 32. |
SYSINTR_MAXIMUM | Specifies the maximum value for interrupt identifiers, which is defined as SYSINTR_DEVICES + SYSINTR_MAX_DEVICES. All interrupt identifiers must be less than, or equal to, this value. |
SYSINTR_VMINI | Used by VBridge to communicate to VMini. It is defined as SYSINTR_DEVICES + 7. Verify that your platform does not use this slot. |
See Also
How to Develop an OEM Adaptation Layer | Implementing an ISR
Last updated on Wednesday, April 13, 2005
© 2005 Microsoft Corporation. All rights reserved.