c61314601b
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.
110 lines
2.4 KiB
Groff
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 .
|