Specifications
Operating System Routines
IOC$ALOUBAMAP, IOC$ALOUBAMAPN
IOC$ALOUBAMAP, IOC$ALOUBAMAPN
Allocate a set of UNIBUS map registers or a set of the first 496 Q22–bus map
registers.
Module
IOSUBNPAG
Input
Location Contents
R3 Number of map registers to allocate
(IOC$ALOUBAMAPN only). The value should
account for one extra register needed to prevent a
transfer overrun.
R5 Address of UCB
UCB$W_BCNT Transfer byte count (IOC$ALOUBAMAP only)
UCB$W_BOFF Byte offset in page (IOC$ALOUBAMAP only)
UCB$L_CRB Address of CRB
CRB$L_INTD+
VEC$L_ADP
Address of ADP
CRB$L_INTD+
VEC$W_MAPREG
VEC$V_MAPLOCK set indicates that map registers
have been permanently allocated to this controller.
ADP$W_MRNREGARY,
ADP$W_MRFREGARY,
ADP$L_MRACTMDRS
Map register descriptor arrays
Output
Location Contents
R0 SS$_NORMAL or 0
R1 Destroyed
R2 Address of ADP
CRB$L_INTD+
VEC$B_NUMREG
Number of map registers allocated
CRB$L_INTD+
VEC$W_MAPREG
Starting map register number
ADP$W_MRNREGARY,
ADP$W_MRFREGARY,
ADP$L_MRACTMDRS
Updated
Synchronization
The caller of IOC$ALOUBAMAP or IOC$ALOUBAMAPN may be executing at
fork IPL or above and must hold the corresponding fork lock in a multiprocessing
environment. Either routine returns control to its caller at the caller’s IPL. The
caller retains any spinlocks it held at the time of the call.
3–75