NAME

ciss -- Common Interface for SCSI-3 Support driver

SYNOPSIS

To compile this driver into the kernel, place the following lines in your
kernel configuration file:
devicescbusdeviceciss
Alternatively, to load the driver as a module at boot time, place the
following line in loader.conf(5):
ciss_load="YES"

DESCRIPTION

The ciss driver claims to provide a common interface between generic SCSI
transports and intelligent host adapters.
The ciss driver supports CISS as defined in the document entitled CISSCommandInterfaceforSCSI-3SupportOpenSpecification,Version1.04,ValenceNumber1, dated 2000/11/27, produced by Compaq Computer
Corporation.
We provide a shim layer between the ciss interface and CAM(4), offloading
most of the queueing and being-a-disk chores onto CAM. Entry to the
driver is via the PCI bus attachment ciss_probe(), ciss_attach(), etc.
and via the CAM interface ciss_cam_action(), and ciss_cam_poll(). The
Compaq ciss adapters require faked responses to get reasonable behavior
out of them. In addition, the ciss command set is by no means adequate
to support the functionality of a RAID controller, and thus the supported
Compaq adapters utilize portions of the control protocol from earlier
Compaq adapter families.
Currently ciss only supports the ``simple'' transport layer over PCI.
This interface (ab)uses the I2O register set (specifically the post
queues) to exchange commands with the adapter. Other interfaces are
available, but we are not supposed to know about them, and it is dubious
whether they would provide major performance improvements except under
extreme load.
Non-disk devices (such as internal DATs and devices attached to the
external SCSI bus) are supported as normal CAM devices provided that they
are exported by the controller firmware and are not marked as being
masked. Masked devices can be exposed by setting the
hw.ciss.expose_hidden_physical tunable to non-zero at boot time. Direct
Access devices (such as disk drives) are only exposed as pass(4) devices.
Hot-insertion and removal of devices is supported but a bus rescan might
be necessary.
The problem which adapter freezes with the message ``ADAPTER HEARTBEAT
FAILED'' might be solved by updating the firmware and/or setting the
hw.ciss.nop_message_heartbeat tunable to non-zero at boot time.