Specifications

Data Structures
1.17 SCSI Port Descriptor Table (SPDT)
Table 1–19 Contents of SCSI Port Descriptor Table
Field Name Contents
SPDT$L_FLINK* SPDT forward link. This field points to the next SPDT in the system SPDT
list. The SCSI port driver initializes this field when it creates the SPDT.
SPDT$W_SIZE* Size of SPDT. The SCSI port driver initializes this field to SPDT$C_
PKNLENGTH or SPDT$C_PKSLENGTH when creating the SPDT.
SPDT$B_TYPE Structure type.
SPDT$B_SUBTYP Structure subtype.
SPDT$W_SPDT_TYPE* SPDT type. The SCSI port driver initializes this field to SPDT$C_PKN or
SPDT$C_PKS when creating the SPDT.
SPDT$B_SCSI_INT_MSK* Port-specific interrupt mask.
SPDT$B_FLCK* Index of the fork lock that synchronizes access to this SPDT at fork level.
The SCSI port driver, when creating the SPDT, copies to this field the
value of UCB$B_FLCK. The SPDT fork block is used during reselection
and disconnection.
SPDT$L_FPC* Address of instruction at which the suspended port driver thread is to be
resumed.
SPDT$L_FR3* Value of R3 when the request is stalled during disconnection. The value in
R3 is restored before a suspended driver thread is resumed.
SPDT$L_FR4* Value of R4 when the request is stalled during disconnection. The value in
R4 is restored before a suspended driver thread is resumed.
SPDT$L_SCSI_PORT_ID* SCSI port ID, an alphabetic value from A to Z.
SPDT$L_SCSI_BUS_ID* SCSI device ID of the port, a numeric value from 0 to 7.
SPDT$L_STS* Port device status. This field is a bit map maintained by the port driver.
The following bits are defined:
SPDT$V_ONLINE Online
SPDT$V_TIMOUT Timed out
SPDT$V_ERLOGIP Error log in progress
SPDT$V_CANCEL Cancel I/O
SPDT$V_POWER Power failed while unit busy
SPDT$V_BSY Busy
SPDT$V_FAILED Port failed operation or initialization
SPDT$V_FIFOLCK FIFO buffer is use
SPDT$L_PORT_WQFL* Port wait queue forward link. This field points to the first SCDRP waiting
for the port to be free.
SPDT$L_PORT_WQBL* Port wait queue backward link. This field points to the last SCDRP waiting
for the port to be free.
SPDT$L_MAXBYTECNT* Maximum byte count for a transfer using this port.
SPDT$L_WAITQFL
SPDT$L_WAITQBL
List head for fork blocks waiting for nonpaged pool.
SPDT$L_PORT_UCB* Address of port UCB.
SPDT$L_PORT_CSR* Address of the port hardware’s CSR.
SPDT$L_PORT_IDB* Address of the port IDB.
SPDT$L_DMA_BASE* Base address of the port’s DMA buffer.
(continued on next page)
1–77