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.