Specifications

Operating System Routines
IOC$RELVMEMAP_PIO
After adjusting the PIO map register descriptor arrays, IOC$RELVMEMAP_
PIO examines the VME PIO map register wait queue. If the queue is empty,
IOC$RELVMEMAP_PIO returns successfully to its caller. If the queue contains
waiting fork processes, IOC$RELVMEMAP_PIO dequeues the first process and
calls IOC$ALOVMEMAP_PIO to attempt to allocate the set of map registers it
requires.
If there are sufficient alternate map registers, IOC$RELVMEMAP_PIO restores
R3 through R5 to the process and reactivates it. When this fork process returns
control to IOC$RELVMEMAP_PIO, IOC$RELVMEMAP_PIO attempts to
allocate map registers to the next waiting fork process. IOC$RELVMEMAP_
PIO continues to allocate map registers in this manner until the VMEPIO-map-
register wait queue is empty or it cannot satisfy the requirements of the process
at the head of the queue. In the latter event, IOC$RELVMEMAP_PIO reinserts
the fork process UCB in the queue and returns successfully to its caller.
3–127