Defining an Interrupt Identifier (Windows CE 5.0)

Send Feedback

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_BREAK Breaks into the debugger after an external hardware breakpoint is detected.
SYSINTR_CHAIN Specifies that the ISR handler should continue to the next ISR in the chain.

Used for interrupt chains for installable ISRs.

SYSINTR_DEVICES Specifies the base value for device class identifiers not defined by your OAL.
SYSINTR_PROFILE Used by the system for profiling. 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_NETWORK_SHARED Used by the hardware platform ISR when network interrupts are combined as one interrupt.
SYSINTR_VMINI Used by VBridge to communicate to VMini. It is defined as SYSINTR_DEVICES + 7. Verify that your hardware platform does not use this slot.
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 64.
Note   Beginning with Windows CE 5.0, the kernel and the scheduler have been updated to support up to 64 SYSINTRs.
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.

**Note   **The kernel reserves all values below SYSINTR_FIRMWARE for future use. If you redefine the predefined interrupt identifiers, you risk breaking the model device driver (MDD) code in the hardware platform-independent layer for native device drivers.

See Also

How to Develop an OEM Adaptation Layer | Implementing an ISR

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.