NAME | SYNOPSIS | API RESTRICTIONS | FEATURES | DESCRIPTION | EXTENDED DESCRIPTION | Allowed Calling Contexts | ATTRIBUTES | SEE ALSO
#include <dki/dki.h>void imsIntrMask_f (void);
The function or functions documented here may not be used safely in all application contexts with all APIs provided in the ChorusOS 5.0 product.
See API(5FEA) for details.
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. If necessary, a driver can use these services to protect a critical section from interrupts.
imsIntrMask_f() masks all maskable interrupts at processor level, and increments the imsIntrMaskCount_f kernel variable.
imsIntrUnmask_f() decrements the imsIntrMaskCount_f microkernel variable. If imsIntrMaskCount_f becomes equal to zero, imsIntrUnmask_f() unmasks interrupts at processor level.
A driver may issue nested calls to these services, as they rely on a microkernel interrupt mask count.
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 | API RESTRICTIONS | FEATURES | DESCRIPTION | EXTENDED DESCRIPTION | Allowed Calling Contexts | ATTRIBUTES | SEE ALSO