Specifications

System Macros Invoked by Drivers
SPI$MAP_BUFFER
Table 2–6 (Cont.) Inputs to the SPI$MAP_BUFFER Macro
Location Contents
SCDRP$L_SVA_USER For direct DMA buffering, system
virtual address of the process buffer
to map in system space (S0 space)
SCDRP$L_SVAPTE System virtual address of the page-
table entry that maps the first byte
of the user buffer.
SCDRP$L_SCSI_
FLAGS
SCSI mapping flags. If SCDRP$V_
S0BUF is set, SPI$MAP_BUFFER
does not double-map the buffer into
system space.
SCDRP$W_STS Transfer direction flags. IRP$V_
FUNC must be set for read I/O
functions and clear for write I/O
functions.
The port driver returns the values listed in Table 2–7 to the class driver,
preserving R3, R4, and R5.
Table 2–7 SPI$MAP_BUFFER Macro Return Values to the Class Driver
Location Contents
R0 Port status. The port driver returns one of the following
values:
SS$_NORMAL Normal, successful completion
SS$_BADPARAM Bad parameter provided by class driver
R5 Address of the SCDRP. The port driver initializes the following
fields:
SCDRP$L_SVA_USER System virtual address of the
process buffer as mapped in
system space (S0 space)
SCDRP$L_SVA_SPTE System virtual address of the
system page-table entry that maps
the first page of the process buffer
in S0 space
SCDRP$W_NUMREG Number of port DMA buffer pages
allocated
SCDRP$W_MAPREG Page number of the first port DMA
buffer page allocated
2–80