Specifications

Operating System Routines
IOC$LOADXBIMAP
IOC$LOADXBIMAP
Loads 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 load
CRB$L_INTD+
VEC$W_MAPREG
Starting XBI+ map register number
UCB$L_SVAPTE System virtual address of first page table entry
(PTE) from which to extract the page frame
numbers (PFNs)
Output
Location Contents
R0 Status of operation
R1, R2 Unpredictable
Synchronization
Callers of IOC$LOADXBIMAP must be executing at fork 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$LOADXBIMAP loads a contiguous set of XBI+ map registers with page
frame numbers, as specified in the UCB, and marks the map registers as
containing valid data. The routine also clears one extra map register, rendering
it invalid. This invalid registers prevents transfer overrun.
The routine assumes that a prior call to IOC$REQXBIMAP, IOC$ALOXBIMAP
/N, or IOC$ALOXBIMAPRM/N has allocated the registers and entered valid
information into the CRB about the number of registers and starting register
number.
3–107