GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> VXW / dev > vxw_symbol / rad750


Interface   Data Structures   File List   Data Fields   Globals  

isrRouter.h File Reference

General-purpose interrupt service routine (ISR) router definitions. More...

#include <vxWorks.h>
#include <TEX/TEX_pubdefs.h>

Classes

struct  _isrTableEntry
struct  _isrRoutingInfo

Defines

#define MAX_INT_LEVELS   32

Typedefs

typedef struct _isrTableEntry isrTableEntry_t
typedef volatile ULONG * regPtr_t
typedef struct _isrRoutingInfo isrRoutingInfo_t

Functions

void isrRouteInterrupt (isrRoutingInfo_t *pRoutingInfo, TRC_cb_Exception *rtn, unsigned long long tim, unsigned int fui)
 Route an interrupt via a jump table.
STATUS isrIntConnect (isrRoutingInfo_t *pRoutingInfo, ULONG intLvl, VOIDFUNCPTR isr, int parm)
 Connect ISR to interrupt level.


Detailed Description

General-purpose interrupt service routine (ISR) router definitions.

-----------------------------------------------------------------------------

Description:

General-purpose interrupt service routine (ISR) router.

Restrictions:

Change History:

Date Pgm Description -------- --- ------------------------------------------------------ 11/27/00 DS Created.

-----------------------------------------------------------------------------


Define Documentation

#define MAX_INT_LEVELS   32

The maximum number of interrupt levels the router supports.

Referenced by isrIntConnect().


Typedef Documentation

The typdef for _isrRoutingInfo.

The typedef for _isrTableEntry.

Address type for interrupt controller registers.


Function Documentation

STATUS isrIntConnect ( isrRoutingInfo_t pRoutingInfo,
ULONG  intLvl,
VOIDFUNCPTR  isr,
int  parm 
)

Connect ISR to interrupt level.

----------------------------------------------------------------------------

This routine connects an interrupt service routine (ISR) to the specified interrupt level. Interrupt levelss are enabled separate from this routine. The interrupt level being connected should not be enabled when this routine is called. The specified ISR will get control with interrupts disabled.

Parameters:
pRoutingInfo - Pointer to the interrupt routing infomation..
intLvl - The interrupt level (0-31, 0=LSB).
isr - Pointer to the ISR.
parm - A user-defined parameter to pass to the ISR when the interrupt occurs.
----------------------------------------------------------------------------

References _isrTableEntry::isr, _isrRoutingInfo::isrTable, MAX_INT_LEVELS, and _isrTableEntry::parm.

Referenced by memIntConnect(), miscIntConnect(), pciErrIntConnect(), pidIntConnect(), and ppciIntConnect().

void isrRouteInterrupt ( isrRoutingInfo_t pRoutingInfo,
TRC_cb_Exception *  rtn,
unsigned long long  tim,
unsigned int  fui 
)

Route an interrupt via a jump table.

Parameters:
pRoutingInfo (in) Routing jump table
rtn (in) Trace recording callback
tim (in) Timestamp to record in trace
fui (in) Format of trace record (as unsigned int)
This routine uses a jump table to route a set of aggregated interrupts. See isrRouter.h for underlying assumptions.

References _isrRoutingInfo::clear, _isrTableEntry::isr, _isrRoutingInfo::isrTable, _isrRoutingInfo::one_pass, _isrTableEntry::parm, _isrRoutingInfo::pEnableReg, and _isrRoutingInfo::pStatusReg.

Referenced by ppciIntInit(), ppciISR(), ppciMemInit(), and ppciPidInit().


Generated on Thu Mar 24 13:04:38 2011 by  doxygen 1.5.8