Share via


OEMInterruptHandler (Windows Embedded CE 6.0)

1/5/2010

This function is called by the kernel when an interrupt occurs. This function is only used by the ARM kernel, and provides all ISR functionality for ARM-based platforms. You do not need to call HookInterrupt in OEMInit for ARM-based platforms.

Syntax

int OEMInterruptHandler(
  unsigned int ra 
);

Parameters

  • ra
    [in] Instruction counter when the interrupt occurred.

Return Value

Returns a SYSINTR_* value.

Remarks

On all Windows Embedded CE-based platforms that support a single ISR, the name of the ISR is OEMInterruptHandler. For more information about ISRs, see Interrupt Service Routines.

Before calling OEMInterruptHandler, the kernel preserves the state of the registers and places the OS in a state in which the OEM can enable nested interrupts.

The OEM must choose a nesting scheme and perform the appropriate masking of the interrupt register in OEMInterruptHandler before re-enabling interrupts. To do so, call the INTERRUPTS_ON function after the lower priority interrupts have been masked.

OEMInterruptHandler might call the INTERRUPTS_OFF function again if it requires code that is not re-entrant, but this call is not required because the kernel handles it when returning from OEMInterruptHandler.

Requirements

Header Developer Implemented
Library OEMMain.lib or OEMMain_StaticKITL.lib
Windows Embedded CE Windows CE 3.0 and later

See Also

Reference

Required OAL Functions
OEMInit
OEMInterruptHandlerFIQ

Concepts

ARM Microprocessor

Other Resources

HookInterrupt
INTERRUPTS_OFF
INTERRUPTS_ON
Interrupt Service Routines