Specifications

System Macros Invoked by Drivers
DSBINT
DSBINT
Blocks interrupts from occurring on the local processor at or below a specified
IPL.
Format
DSBINT [ipl=31] [,dst=(SP)] [,environ=MULTIPROCESSOR]
Parameters
[ipl=31]
IPL at which to block interrupts. If no ipl is specified, the default is IPL 31,
which blocks all interrupts.
[dst=–(SP)]
Location in which to save the current IPL. If no destination is specified, the
current IPL is pushed onto the stack.
[environ=MULTIPROCESSOR]
Processing environment in which the DSBINT synchronization macro
is to be assembled. If you do not specify environ, or if you do specify
environ=MULTIPROCESSOR, the DSBINT macro generates the following
assembly-time warning message, where xx is an IPL above IPL 2:
%MACRO-W-GENWARN, Generated WARNING: Raising IPL to #xx provides no multiprocessing synchronization
If you are certain that the purpose of the macro invocation is to block only
local processor events, you can disable the warning message by including
environ=UNIPROCESSOR in the invocation.
Description
The DSBINT macro first stores the current IPL of the local processor and then
moves the specified IPL into the processors IPL register (PR$_IPL).
Note that the DSBINT and ENBINT macros provide full synchronization only
in a uniprocessing environment. In a multiprocessor configuration, DSBINT
and ENBINT are suitable only 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–28