Specifications
Operating System Routines
IOC$RELXBIMAP
IOC$RELXBIMAP
Releases a set of XBI+ map registers.
Module
[IO_ROUTINES]IOSUBNPAG
Input
Location Contents
R5 Address of UCB
UCB$L_CRB Address of CRB
CRB$L_INTD+
VEC$L_ADP
Address of device ADP
ADP$L_BIMASTER Address of XBI+ adapter ADP
CRB$L_INTD+
VEC$W_XBINUMREG
Number of XBI+ map registers to release
CRB$L_INTD+
VEC$W_MAPREG
Starting XBI+ map register number
Output
Location Contents
R0 Status of operation
Synchronization
Callers of IOC$RELXBIMAP must be executing at IOLOCK8 IPL or above. No
specific spinlock is required. The routine returns control to its caller at the
caller’s IPL. The caller retains any spinlocks it held at the time of the call.
Description
IOC$RELXBIMAP deallocates a contiguous set of XBI+ map registers, as
specified in the VEC structure of the CRB.
If the map registers have been permanently allocated to the controller,
IOC$RELXBIMAP returns a success status indicator (SS$_NORMAL) without
deallocating the specified map registers. Otherwise, the routine deallocates
the registers by calling IOC$DALOXBIMAP. The routine then checks the XBI
map register wait queue (ADP$L_MPRQFL) to determine if other processes are
waiting for XBI+ map registers. If so, the routine honors those allocation requests
(if possible) before returning to the caller.
3–128