Specifications
System Macros Invoked by Drivers
ENBINT
ENBINT
Lowers the local processor’s IPL to a specified value, thus permitting interrupts
to occur at or beneath the current IPL.
Format
ENBINT [src=(SP)+]
Parameters
[src=(SP)+]
Location containing the IPL to be restored to the processor IPL register (PR$_
IPL) of the local processor. If you do not specify a value in src, ENBINT moves
the value on the top of the stack into PR$_IPL.
Description
The ENBINT macro complements the actions of the DSBINT macro, restoring an
IPL value to PR$_IPL. Procedures invoke this macro to lower IPL to a previously
saved level. If an interrupt is pending at the current IPL or at any IPL above the
IPL specified by src, the current procedure is immediately interrupted.
Note that the DSBINT and ENBINT macros only provide full synchronization
in a uniprocessor environment. In multiprocessor configurations, DSBINT
and ENBINT are only suitable for blocking events on the local processor. To
provide synchronized access to system resources and devices in a multiprocessing
environment, you must use the DEVICELOCK/DEVICEUNLOCK, FORKLOCK
/FORKUNLOCK, and LOCK/UNLOCK macros.
2–29