SWI Module
2-422
2.26
SWI Module
The SWI module is the software interrupt manager.
Functions
❏
SWI_andn. Clear bits from SWI's mailbox; post if becomes 0.
❏
SWI_andnHook. Specialized version of SWI_andn for use as hook
function for configured DSP/BIOS objects. Both its arguments are of
type (Arg).
❏
SWI_create. Create a software interrupt.
❏
SWI_dec. Decrement SWI's mailbox value; post if becomes 0.
❏
SWI_delete. Delete a software interrupt.
❏
SWI_disable. Disable software interrupts.
❏
SWI_enable. Enable software interrupts.
❏
SWI_getattrs. Get attributes of a software interrupt.
❏
SWI_getmbox. Return the mailbox value of the SWI when it started
running.
❏
SWI_getpri. Return a SWI’s priority mask.
❏
SWI_inc. Increment SWI's mailbox value and post the SWI.
❏
SWI_isSWI. Check current thread calling context.
❏
SWI_or. Or mask with value contained in SWI's mailbox and post the
SWI.
❏
SWI_orHook. Specialized version of SWI_or for use as hook function
for configured DSP/BIOS objects. Both its arguments are of type
(Arg).
❏
SWI_post. Post a software interrupt.
❏
SWI_raisepri. Raise a SWI’s priority.
❏
SWI_restorepri. Restore a SWI’s priority.
❏
SWI_self. Return address of currently executing SWI object.
❏
SWI_setattrs. Set attributes of a software interrupt.
Constants, Types, and
Structures
typedef struct SWI_Obj SWI_Handle;
SWI_MINPRI = 1; /* Minimum execution priority */
SWI_MAXPRI = 14 /* Maximum execution priority */