Specifications

Operating System Routines
IOC$REQDATAP, IOC$REQDATAPNW
IOC$REQDATAP, IOC$REQDATAPNW
Request a UNIBUS adapter buffered data path and, optionally, if no path is
available, place process in data-path wait queue.
Module
IOSUBNPAG
Macro
REQDPR
Input
Location Contents
R5 Address of UCB
00(SP) Return PC of caller
04(SP) Return PC of caller’s caller
UCB$L_CRB Address of CRB
UCB$L_CRB Address of CRB
CRB$L_INTD+
VEC$L_ADP
Address of ADP
CRB$L_INTD+
VEC$B_DATAPATH
Data path specifier; VEC$V_PATHLOCK set if the
data path is permanently allocated to the controller
ADP$W_DPBITMAP Data path bit map
Output
Location Contents
R0 SS$_NORMAL or bit 0 set (indicating error status)
CRB$L_INTD+
VEC$B_DATAPATH
Data path specifier
ADP$W_DPBITMAP Bit corresponding to allocated data path cleared
Synchronization
A driver fork process calls IOC$REQDATAP or IOC$REQDATAPNW at fork IPL,
holding the corresponding fork lock in a multiprocessing environment.
Description
A driver fork process calls IOC$REQDATAP or IOC$REQDATAPNW to request a
UNIBUS adapter buffered data path for a DMA transfer.
If a buffered data path is already permanently allocated to the controller,
IOC$REQDATAP or IOC$REQDATAPNW returns successfully to its caller
without allocating a data path. Otherwise, it searches the data path bit map for
the first available data path.
3–133