NAME | SYNOPSIS | FEATURES | DESCRIPTION | EXTENDED DESCRIPTION | Allowed Calling Contexts | ATTRIBUTES | SEE ALSO
#include <dki/dki.h>void imsIntrMask_f (void);
DKI
Provides global interrupts masking operations.
Some of the Interrupt Management Service (IMS) routines are part of the DKI in order to provide drivers with global interrupts masking services. These services can be useful for a driver to protect a critical section from interrupts, if necessary.
imsIntrMask_f masks all maskable interrupts at processor level, and increments the imsIntrMaskCount_f kernel variable.
imsIntrUnmask_f decrements the imsIntrMaskCount_f kernel variable, and unmasks interrupts at processor level, if imsIntrMaskCount_f becomes equal to zero. Note that, as they rely on a kernel interrupt mask count, a driver may issue nested calls to these services.
The following table specifies the contexts in which a caller is allowed to invoke each service.
Services | Base level | DKI thread | Interrupt | Blocking |
imsIntrMask_f | + | + | + | - |
imsIntrUnmask_f | + | + | + | - |
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | FEATURES | DESCRIPTION | EXTENDED DESCRIPTION | Allowed Calling Contexts | ATTRIBUTES | SEE ALSO