167 lines
5.2 KiB
Groff
167 lines
5.2 KiB
Groff
.\" Copyright (c) 1997
|
|
.\" John-Mark Gurney. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. Neither the name of the author nor the names of any co-contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY John-Mark Gurney AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" $Id: scsiconf.9,v 1.4 1997/03/07 02:53:36 jmg Exp $
|
|
.\"
|
|
.Dd January 29, 1997
|
|
.Dt SCSICONF 9
|
|
.Os FreeBSD
|
|
.Sh NAME
|
|
.Nm scsiconf
|
|
.Nd define how certain scsi devices behave
|
|
.Sh SYNOPSIS
|
|
.Fd #include <sys/types.h>
|
|
.Fd #include <scsi/scsiconf.h>
|
|
.Dv static struct scsidevs knowndevs[] =
|
|
.Em ...
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Dv struct scsidevs knowndevs
|
|
contains information about scsi devices that are known to have problems
|
|
or require special flags.
|
|
.Bd -literal -offset indent
|
|
struct scsidevs {
|
|
u_int32_t type;
|
|
u_int32_t driver; /* normally the same as type */
|
|
boolean removable;
|
|
char *manufacturer;
|
|
char *model;
|
|
char *version;
|
|
char *devname;
|
|
char flags; /* see below */
|
|
u_int16_t quirks;
|
|
void *devmodes;
|
|
};
|
|
|
|
#define SC_SHOWME ...
|
|
#define SC_ONE_LU ...
|
|
#define SC_MORE_LUS ...
|
|
|
|
.Ed
|
|
.Pp
|
|
Matching is based first on device type, then on the manufacturer, model,
|
|
and revision strings returned by the device. The returned strings are
|
|
fixed lengths of 8, 16 and 4 bytes respectively. In the matching
|
|
pattern, a question mark
|
|
.Pq So ? Sc
|
|
matches any single character and a trailing
|
|
asterisk
|
|
.Pq So * Sc
|
|
matches remaining characters. For patterns shorter
|
|
than their respective fields, trailing spaces are implied.
|
|
.Bl -tag -width manufacturer
|
|
.It Va type
|
|
This is the type of device that is returned by the device. Look in
|
|
.Pa /sys/scsi/scsi_all.h
|
|
for the list of available types
|
|
.Pq look for the Dv T_xxx macros .
|
|
.It Va driver
|
|
This specifies the driver to assign to the devices that match this entry.
|
|
It usually has the same value as
|
|
.Va type ,
|
|
unless a particular device is lying about its identity.
|
|
.It Va removable
|
|
This specifies wether the device is removable
|
|
.Pq Dv T_REMOV
|
|
or fixed
|
|
.Pq Dv T_FIXED .
|
|
.It Va manufacturer
|
|
This is the string to match against the vendor identification returned by the
|
|
device.
|
|
.It Va model
|
|
This is the string to match against the product identification returned by the
|
|
device.
|
|
.It Va version
|
|
This is the string to match against the product revision level returned by the
|
|
device.
|
|
.It Va devname
|
|
The device name of the driver to attach to this scsi device.
|
|
.It Va flags
|
|
This is set to possible flags that are use when probing this device.
|
|
The values are:
|
|
.Bl -tag -width "SC_MORE_LUSXX" -compact
|
|
.It Dv SC_SHOWME
|
|
Be verbose about the decisions made when considering this entry at
|
|
device probe time.
|
|
.It Dv SC_ONE_LU
|
|
Probe only the first LUN if device matches this entry; used for broken
|
|
devices that erroneously respond on more than a single LUN.
|
|
.It Dv SC_MORE_LUS
|
|
The opposite, probe for all possible LUNs. This is the default, but
|
|
can be used if a quirk entry is required for other purposes, like
|
|
overriding a type-specific default that would restrict probing to only
|
|
one LUN.
|
|
.El
|
|
.It Va quirks
|
|
This field specifies device specific flags. See the device-specific man pages in
|
|
section 9 for more info on these flags.
|
|
.It Va devmodes
|
|
This is a pointer to a device specific struct. Currently only used by
|
|
.Xr st 4
|
|
to set initial modes.
|
|
.El
|
|
.Sh FILES
|
|
.Bl -tag -width /sys/scsi/scsiconf.c -compact
|
|
.It Pa /sys/scsi/scsi_all.h
|
|
Lists the possible scsi devices
|
|
.It Pa /sys/scsi/scsiconf.h
|
|
Lists possible flags for both
|
|
.Va flags
|
|
and
|
|
.Va quirks
|
|
.It Pa /sys/scsi/scsiconf.c
|
|
Contains the
|
|
.Va knowndevs
|
|
data structure
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr cd 4 ,
|
|
.Xr ch 4 ,
|
|
.Xr pt 4 ,
|
|
.Xr scsi 4 ,
|
|
.Xr sd 4 ,
|
|
.Xr st 4 ,
|
|
.Xr su 4 ,
|
|
.Xr uk 4 ,
|
|
.Xr cd 9 ,
|
|
.Xr sd 9 ,
|
|
.Xr st 9
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
manual page first appeared in
|
|
.Fx 2.2 .
|
|
.Sh AUTHOR
|
|
This
|
|
manual page was written by John-Mark Gurney
|
|
.Aq gurney_j@efn.org .
|
|
.Sh BUGS
|
|
This isn't a complete description of what
|
|
.Pa /sys/scsi/scsiconf.c
|
|
contains, but the remaining functions there are internal to the SCSI
|
|
subsystem and thus of little interest for driver writers.
|