File Formats scsi(4)
NAME
scsi - configuration files for SCSI target drivers
DESCRIPTION
The architecture of the Solaris SCSI subsystem distinguishes
two types of device drivers: SCSI target drivers, and SCSI
host adapter drivers. Target drivers like sd(7D) and st(7D)
manage the device on the other end of the SCSI bus. Host
adapter drivers manage the SCSI bus on behalf of all the
devices that share it.
Drivers for host adapters provide a common set of interfaces
for target drivers. These interfaces comprise the Sun Common
SCSI Architecture ( SCSA) which are documented as part of
the Solaris DI/DKI. See scsiifgetcap(9F),
scsiinitpkt(9F), and scsitransport(9F) for further
details of these, and associated routines.
Depending on the interconnect (transport), SCSI target dev-
ices are either self-identifying or rely on driver.conf(4)
entries to be recognized by the system. For self-identifying
target devices the driver binding is chosen based on the
IE-1275 like 'compatible' forms of the target devices.
Currently the Fibre Channel interconnects, fcp(7D), ifp(7D),
scsivhci(7D), sf(7D), and the SATA framework drivers (see
sata(7D)) are self-identifying. You must specify other pos-
sible interconnects target devices by using the target
driver driver.conf(4) configuration files.
Self-Identifying
Host adapter drivers of class scsi-self-identifying that
dynamically create self-identifying target device children
establish a compatible property on each child. The compati-
ble property is an ordered array of strings, each string is
a compatible form. High precedence forms are defined first.
For a particular device, the highest precedence form that
has an established driver alias selects the driver for the
device. Driver associations to compatible forms, called
aliases, are administered by way of adddrv(1M),
updatedrv(1M), and remdrv(1M) utilities.
The forms for self-identifying SCSI target devices are
derived from the SCSI target device's INQUIRY data. A
diverse set of forms is defined, allowing for flexibility in
binding.
From the SCSI INQUIRY data, three types of information are
extracted: scsidtype, flag bits, and SCSIASCI vendor
SunOS 5.11 Last change: 30 May 2008 1
File Formats scsi(4)
product revision.
The scsidtype is the first component of most forms. It is
represented as two hex digits. For nodes that represent
embedded secondary functions, such as an embedded enclosure
service or media changer, additional forms are generated
that contain the dtype of the secondary function followed by
the dtype of the device in which the secondary function is
embedded.
For forms that use flag bits, all applicable flags are con-
catenated (in alphabetical order) into a single flags
string. Removable media is represented by a flag. For forms
that use the SCSIASCI INQUIRY vendor, product, and revi-
sion fields, a one-way conversion algorithm translates
SCSIASCI to a IE 1275 compatible string.
It is possible that a device might change the INQUIRY data
it returns over time as a result of a device initialization
sequence or in response to out-of-band management. A device
node's compatible property is based on the INQUIRY data when
the device node was created.
The following forms, in high to low precedence order, are
defined for SCSI target device nodes.
scsiclass,DEF.vV.pP.rR (1 *1&2)
scsiclass,DE.vV.pP.rR (2 *1)
scsiclass,DF.vV.pP.rR (3 *2)
scsiclass,D.vV.pP.rR (4)
scsiclass,DEF.vV.pP (5 *1&2)
scsiclass,DE.vV.pP (6 *1)
scsiclass,DF.vV.pP (7 *2)
scsiclass,D.vV.pP (8)
scsiclass,DEF (9 *1&2)
scsiclass,DE (10 *1)
scsiclass,DF (11 *2)
scsiclass,D (12)
scsiclass (13)
*1 only produced on a secondary function node
*2 only produced on a node with flags
where:
v Is the letter v. Denotes the beginning
of V.
SunOS 5.11 Last change: 30 May 2008 2
File Formats scsi(4)
V Translated scsivendor: SCSI standard
INQUIRY data "Vendor identification"
SCSIASCI field (bytes 8-15).
p Is the letter p. Denotes the beginning
of P.
P Translated scsiproduct: SCSI standard
INQUIRY data "Product identification"
SCSIASCI field (bytes 16-31).
r Is the letter r. Denotes the beginning
of R.
R Translated scsirevision: SCSI standard
INQUIRY data "Product revision level"
SCSIASCI field (bytes 32-35).
D Is a two digit ASCI hexadecimal number.
The value of the two digits is based one
the SCSI "Peripheral device type" com-
mand set associated with the node. On a
primary node this is the scsidtype of
the primary command set; on a secondary
node this is the scsidtype associated
with the embedded function command set.
E Same encoding used for D. This form is
only generated on secondary function
nodes. The D function is embedded in an
E device.
F Concatenation, in alphabetical order, of
the flag characters below. The following
flag characters are defined:
R Removable media: Used when scsirmb
is set
Forms using F are only be generated if
there are applicable flag characters.
SunOS 5.11 Last change: 30 May 2008 3
File Formats scsi(4)
Solaris might create additional compatible forms not
described. These forms are for Solaris internal use only.
Any additional use of these forms is discouraged. Future
releases of Solaris might not produce these forms.
driver.conf
Configuration files for SCSI target drivers should identify
the host adapter driver implicitly using the class keyword
to remove any dependency on the particular host adapter
involved.
All host adapter drivers of class scsi recognize the follow-
ing properties:
target Integer-valued SCSI target identifier that this
driver claims.
lun Integer-valued SCSI logical unit number ( LUN)
that this driver claims.
All SCSI target driver configuration file device definitions
except stub device definitions for discovery of devid must
provide target and lun properties. These properties are used
to construct the address part of the device name under /dev-
ices. The stub device definitions for discovery of devid
must be able to specify or imply the host adapter drivers
that might have children that bind to the target driver. So
all SCSI target driver configuration file stub device defin-
itions must be defined by property class or parent.
The SCSI target driver configuration files shipped with
Solaris have entries for LUN 0 only. For devices that sup-
port other LUNs, such as some CD changers, the system
administrator can edit the driver configuration file to add
entries for other LUNs.
EXAMPLES
Example 1 An Example Configuration File for a SCSI Target
Driver
The following is an example configuration file for a SCSI
target driver called toaster.conf.
#
# Copyright (c) 1992, by Sun Microsystems, Inc.
SunOS 5.11 Last change: 30 May 2008 4
File Formats scsi(4)
#
#ident "@(#)toaster.conf 1.2 92/05/12 SMI"
name="toaster" class="scsi" target=4 lun=0;
Add the following lines to sd.conf for a six- CD changer on
target 3, with LUNs 0 to 5.
name="sd" class="scsi" target=3 lun=1;
name="sd" class="scsi" target=3 lun=2;
name="sd" class="scsi" target=3 lun=3;
name="sd" class="scsi" target=3 lun=4;
name="sd" class="scsi" target=3 lun=5;
It is not necessary to add the line for LUN 0, as it already
exists in the file shipped with Solaris.
Example 2 A Stub Device Definition of sd.conf
The following line is a stub device definition which implies
the host adapter drivers of class scsi-self-identifying
might have children that bind to the sd(7D) driver:
name="sd" class="scsi-self-identifying";
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 30 May 2008 5
File Formats scsi(4)
ATRIBUTE TYPE ATRIBUTE VALUE
Availability SUNWckr
Interface Stability Committed
SEE ALSO
adddrv(1M), remdrv(1M), updatedrv(1M), driver.conf(4),
attributes(5), fcp(7D), ifp(7D), sata(7D), scsivhci(7D),
sd(7D), sf(7D), st(7D), scsiifgetcap(9F),
scsiinitpkt(9F), scsitransport(9F)
Writing Device Drivers
ANS X3T9.2/82-2 SMAL COMPUTER SYSTEM INTERFACE (SCSI-1)
ANS X3T9.2/375D Small Computer System Interface - 2 (SCSI-2)
ANS X3T10/994D SCSI-3 Architecture Model (SAM)
IE 1275 SCSI Target Device Binding
NOTES
With driver.conf(4) configuration, you need to ensure that
the target and lun values claimed by your target driver do
not conflict with existing target drivers on the system. For
example, if the target is a direct access device, the stan-
dard sd.conf file usually makes sd claim it before any other
driver has a chance to probe it.
SunOS 5.11 Last change: 30 May 2008 6
|