Share via


Defining an Interrupt Identifier (Windows Embedded CE 6.0)

1/5/2010

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 Embedded 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.

Ee479392.note(en-US,WinEmbedded.60).gifNote:
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

Tasks

How to Develop an OEM Adaptation Layer

Concepts

Implementing an ISR