To control an advanced function bus master adapter, the SCB architecture defines a set of I/O ports. These ports are assigned as a sequence of register addresses in the I/O address space. Since multiple adapters of the same or different types may be used in the system, the base address for the I/O space of each adapter must be defined during system setup. The IBM SCSI adapters support eight address ranges. However, ABIOS supports only four. The ports used by the IBM SCSI adapters are shown indexed from the base address in Figure "IBM SCSI Adapter I/O Ports". The IBM SCSI adapter implements a subset of the ports defined in the SCB architecture.
The following are general descriptions of the I/O space control ports:
There are four types of request ports associated with sending requests to a device. The first of these is the Command Interface Port (CIP), which consists of four 8-bit read/write registers used to transfer either a 32-bit immediate command or a Subsystem Control Block address from the system to the adapter. The immediate commands are typically device-directed and control-oriented.
The second is the Attention Port (AP). This is an 8-bit read/write register used by the system to request an adapter operation. The register contains two pieces of information. The high-order four bits define the operation request code and the low-order four bits define the logical device that should be selected for the operation.
The third, the Interrupt Status Port (ISP), is an 8-bit read-only register used by the subsystem adapter to return command completion information, if allowed by the interrupt-enable bit in the Subsystem Control Port. The adapter stores the logical device ID in the four low-order bits and an interrupt ID in the high-order bits. A hardware interrupt is then generated.
The fourth port is the Command Busy/Status Port (CB/SP). It is an 8-bit read-only register that is used by the adapter to serialize access to the shared logic of the control block delivery service. It contains the following indicators:
The Subsystem Control Port (SCP) is an 8-bit read/write register used for direct hardware control of the subsystem adapter. This type of control cannot typically be handled by requests to the adapter management via immediate commands through the Command Interface Port (CIP). The SCP contains the following control indicators: