freebsd-src/share/man/man4/ciss.4
Paul Saab c61314601b Add support for the HP Modular Smart Array 20 & 500 storage arrays.
Logical volumes on these devices show up as LUNs behind another
controller (also known as proxy controller).  In order to issue
firmware commands for a volume on a proxy controller, they must be
targeted at the address of the proxy controller it is attached to,
not the Host/PCI controller.

A proxy controller is defined as a device listed in the INQUIRY
PHYSICAL LUNS command who's L2 and L3 SCSI addresses are zero.  The
corresponding address returned defines which "bus" the controller
lives on and we use this to create a virtual CAM bus.

A logical volume's addresses first byte defines the logical drive
number.  The second byte defines the bus that it is attached to
which corresponds to the BUS of the proxy controller's found or the
Host/PCI controller.

Change event notification to be handled in its own kernel thread.
This is needed since some events may require the driver to sleep
on some operations and this cannot be done during interrupt context.
With this change, it is now possible to create and destroy logical
volumes from FreeBSD, but it requires a native application to
construct the proper firmware commands which is not publicly
available.

Special thanks to John Cagle @ HP for providing remote access to
all the hardware and beating on the storage engineers at HP to
answer my questions.
2004-04-16 23:00:01 +00:00

110 lines
2.4 KiB
Groff

.\" $FreeBSD$
.\" Written by Tom Rhodes
.\" This file is in the public domain.
.\"
.Dd December 29, 2002
.Dt CISS 4
.Os
.Sh NAME
.Nm ciss
.Nd Common Interface for SCSI-3 Support driver
.Sh SYNOPSIS
.Cd "device scbus"
.Cd "device ciss"
.Sh DESCRIPTION
The
.Nm
driver claims to provide a common interface between generic SCSI
transports and intelligent host adapters.
.Pp
The
.Nm
driver supports
.Em CISS
as defined in the document entitled
.%T "CISS Command Interface for SCSI-3 Support Open Specification, Version 1.04, Valence Number 1" ,
dated 2000/11/27, produced by Compaq Computer Corporation.
.Pp
We provide a shim layer between the
.Nm
interface and
.Xr CAM 4 ,
offloading most of the queueing and being-a-disk chores onto CAM.
Entry to the driver is via the PCI bus attachment
.Fn ciss_probe ,
.Fn ciss_attach ,
etc. and via the CAM interface
.Fn ciss_cam_action ,
and
.Fn ciss_cam_poll .
The Compaq
.Nm
adapters require faked responses to get reasonable
behavior out of them.
In addition, the
.Nm
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.
.Pp
Currently
.Nm
only supports the
.Dq 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.
.Pp
Non-disk devices (such as internal DATs and devices
attached to the external SCSI bus) are not yet supported.
.Pp
Supported controllers include:
.Pp
.Bl -item -compact
.It
Compaq Smart Array 5300
.It
Compaq Smart Array 532
.It
Compaq Smart Array 5i
.It
HP Smart Array 5312
.It
HP Smart Array 6i
.It
HP Smart Array 641
.It
HP Smart Array 642
.It
HP Smart Array 6400
.It
HP Smart Array 6400 EM
.It
HP Modular Smart Array 20 (MSA20)
.It
HP Modular Smart Array 500 (MSA500)
.El
.Sh SEE ALSO
.Xr cam 4 ,
.Xr pass 4 ,
.Xr xpt 4 ,
.Xr camcontrol 8
.Rs
.%T "CISS Command Interface for SCSI-3 Support Open Specification, Version 1.04, Valence Number 1"
.%D 2000/11/27
.%Q "Compaq Computer Corporation"
.Re
.Sh AUTHORS
.An -nosplit
The
.Nm
driver was written by
.An Mike Smith Aq msmith@FreeBSD.org .
.Pp
This manual page is based on his comments and was written by
.An Tom Rhodes Aq trhodes@FreeBSD.org .