HWI_dispatchPlug
2-160
C Interface
Syntax
HWI_dispatchPlug(vecid, fxn, attrs);
Parameters
Int
vecid;
/* interrupt id */
Fxn
fxn;
/* pointer to HWI function */
HWI_Attrs
*attrs
/*pointer to HWI dispatcher attributes */
Return Value
Void
Reentrant
yes
Description
HWI_dispatchPlug fills the HWI dispatcher table with the function
specified by the fxn parameter and the attributes specified by the attrs
parameter.
HWI_dispatchPlug also writes four instruction words into the Interrupt-
Vector Table, at the address corresponding to vecid. The instructions
written in the Interrupt-Vector Table create a call to the HWI dispatcher.
HWI_dispatchPlug does not enable the interrupt. Use C54_enableIMR or
C55_enableIER0/C55_enableIER1 to enable specific interrupts.
If attrs is NULL, the HWI’s dispatcher properties are assigned a default
set of attributes. Otherwise, the HWI’s dispatcher properties are specified
by a structure of type HWI_Attrs defined as follows.
typedef struct HWI_Attrs {
Uns ier0mask; /* IER0 bitmask */
Uns ier1mask; /* IER1 bitmask */
Arg arg; /* fxn arg (default = 0) */
LgUns mirmask; /* OMAP 2320/2420 only */
LgUns mir1mask; /* OMAP 2320 only */
} HWI_Attrs;
The ier0mask is a bitmask that specifies the ier0 interrupts to mask while
executing the HWI. The bit positions in ier0mask correspond to those of
IER0.
The ier1mask is a bitmask that specifies the ier1 interrupts to mask while
executing the HWI. The bit positions in ier1mask correspond to those of
IER1. If ier0mask and ier1mask are both 1, then a mask to disable "self"
is created.
HWI_dispatchPlug
Plug the HWI dispatcher