Specifications

TURBOchannel Bus Support
12.2 TURBOchannel on DEC 3000 Model 500
12.2.4.3 IOC$NODE_FUNCTION
IOC$NODE_FUNCTION provides an easy way for drivers to manipulate the
IOSLOT register and the IMASK register.
IOC$NODE_FUNCTION accepts the CRB address and a function code as input
arguments. The CRB$L_NODE field must contain the TURBOchannel slot
number of the TURBOchannel option. On DEC 3000 Model 500 TURBOchannel,
when a device is manually configured using the SYSMAN IO CONNECT
command, the user must use the /NODE qualifier, specifying the TURBOchannel
slot number into which the option is installed. This causes SYS$LOAD_DRIVER
to copy the TURBOchannel slot number to the CRB$L_NODE field in the CRB.
The function codes are defined in [LIB.LIS]IOCDEF.SDL and are listed below:
ioc$k_enable_intr Causes IMASK bit for TC slot tobe cleared.
ioc$k_disable_intr Causes IMASK bit for TC slot to be set.
ioc$k_enable_sg Causes S bit in IOSLOT for TC slot to be set.
ioc$k_disable_sg Causes S bit in IOSLOT for TC slot to be cleared.
ioc$k_enable_par Causes P bit in IOSLOT for TC slot to be set.
ioc$k_disable_par Causes P bit in IOSLOT for TC slot to be cleared.
ioc$k_enable_blkm Causes B bit in IOSLOT for TC slot to be set.
ioc$k_disable_blkm Causes B bit in IOSLOT for TC slot to be cleared.
An example call to IOC$NODE_FUNCTION is shown below:
status = ioc$node_function (crb_address,
ioc$k_enable_intr);
IOC$NODE_FUNCTION finds the TURBOchannel slot number from the CRB$L_
NODE field, and sets or clears the appropriate bit in IOSLOT or IMASK,
depending on the function code.
Note that IOC$NODE_FUNCTION acquires the MEGA spinlock while performing
all of the above functions.
12.2.4.4 DEC 3000 Model 500 TURBOchannel I/O Space Map
During booting, INI$IOMAP creates an ADP list for DEC 3000 Model 500
TURBOchannel. The ADP list is shown in Figure 12–12. .
12–13