Download Vax VEC-105 Specifications

Transcript
Operating System Routines
IOC$LOADTCMAP_DMA, IOC$LOADTCMAP_DMAN
IOC$LOADTCMAP_DMA, IOC$LOADTCMAP_DMAN
Load a set of TURBOchannel map registers for DMA.
Module
[DRIVER]TCDMA_PTA
Input
Inputs for both routines follow:
Location
Contents
For IOC$LOADTCMAP_DMA only
R5
Address of UCB
CRB$L_INTD+
Address of ADP
VEC$L_ADP
UCB$W_BCNT
Number of bytes in transfer
UCB$W_BOFF
Byte offset to start of transfer in first page
UCB$L_SVAPTE
System virtual address of PTE for first page of
transfer
UCB$L_CRB
Address of CRB
CRB$L_INTD+
Number of map registers allocated
VEC$B_NUMREG
CRB$L_INTD+
Number of first map register allocated
VEC$W_MAPREG
For IOC$LOADTCMAP_DMAN only
R1
Address of the map register descriptor
R2
Address of ADP
R3
System virtual address (SVAPTE) of first page to
transfer
R4
Byte count of the transfer
R5
Byte offset to start of transfer in first page
Output
Outputs for both routines follow:
Location
R1, R2
Contents
Destroyed
Synchronization
A driver fork process calls IOC$LOADTCMAP_DMA or IOC$LOADTCMAP_
DMAN at fork IPL, holding the corresponding fork lock (typically IOLOCK8) 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–99