Add mpii(4), a driver for LSI Logic Fusion-MPT Message Passing Interface II

SAS controllers. Ported from OpenBSD.
This commit is contained in:
bouyer 2012-04-19 17:50:49 +00:00
parent 63d14cff85
commit 24a7abc690
10 changed files with 5663 additions and 17 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: mi,v 1.1386 2012/04/17 10:14:12 rkujawa Exp $
# $NetBSD: mi,v 1.1387 2012/04/19 17:50:49 bouyer Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@ -1306,6 +1306,7 @@
./usr/share/man/cat4/mly.0 man-sys-catman .cat
./usr/share/man/cat4/module.0 man-obsolete obsolete
./usr/share/man/cat4/mpls.0 man-sys-catman .cat
./usr/share/man/cat4/mpii.0 man-sys-catman .cat
./usr/share/man/cat4/mpt.0 man-sys-catman .cat
./usr/share/man/cat4/mpu.0 man-sys-catman .cat
./usr/share/man/cat4/mr.0 man-obsolete obsolete
@ -4138,6 +4139,7 @@
./usr/share/man/html4/mly.html man-sys-htmlman html
./usr/share/man/html4/module.html man-obsolete obsolete
./usr/share/man/html4/mpls.html man-sys-htmlman html
./usr/share/man/html4/mpii.html man-sys-htmlman html
./usr/share/man/html4/mpt.html man-sys-htmlman html
./usr/share/man/html4/mpu.html man-sys-htmlman html
./usr/share/man/html4/mr.html man-obsolete obsolete
@ -6823,6 +6825,7 @@
./usr/share/man/man4/mly.4 man-sys-man .man
./usr/share/man/man4/module.4 man-obsolete obsolete
./usr/share/man/man4/mpls.4 man-sys-man .man
./usr/share/man/man4/mpii.4 man-sys-man .man
./usr/share/man/man4/mpt.4 man-sys-man .man
./usr/share/man/man4/mpu.4 man-sys-man .man
./usr/share/man/man4/mr.4 man-obsolete obsolete

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.583 2012/03/25 00:11:17 nonaka Exp $
# $NetBSD: Makefile,v 1.584 2012/04/19 17:50:50 bouyer Exp $
# @(#)Makefile 8.1 (Berkeley) 6/18/93
MAN= aac.4 ac97.4 acardide.4 aceride.4 acphy.4 \
@ -38,7 +38,7 @@ MAN= aac.4 ac97.4 acardide.4 aceride.4 acphy.4 \
kloader.4 kse.4 ksyms.4 kttcp.4 \
lc.4 ld.4 lii.4 lo.4 lxtphy.4 \
mainbus.4 makphy.4 mbe.4 mca.4 mcclock.4 md.4 mfb.4 mfi.4 mhzc.4 \
midi.4 mii.4 mk48txx.4 mlx.4 mly.4 mpls.4 mpt.4 mpu.4 mtd.4 \
midi.4 mii.4 mk48txx.4 mlx.4 mly.4 mpls.4 mpii.4 mpt.4 mpu.4 mtd.4 \
mtio.4 multicast.4 mvsata.4 \
nadb.4 ne.4 neo.4 netintro.4 nfe.4 nfsmb.4 njata.4 njs.4 \
nsclpcsio.4 nside.4 nsp.4 nsphy.4 nsphyter.4 ntwoc.4 null.4 nsmb.4 \

97
share/man/man4/mpii.4 Normal file
View File

@ -0,0 +1,97 @@
.\" $NetBSD: mpii.4,v 1.1 2012/04/19 17:50:50 bouyer Exp $
.\" OpenBSD: mpii.4,v 1.8 2010/10/01 12:27:36 mikeb Exp
.\"
.\" Copyright (c) 2010 Marco Peereboom <marco@openbsd.org>
.\" Copyright (c) 2009 David Gwynne <dlg@openbsd.org>
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.Dd April 19, 2012
.Dt MPII 4
.Os
.Sh NAME
.Nm mpii
.Nd LSI Logic Fusion-MPT Message Passing Interface II
.Sh SYNOPSIS
.Cd "mpii* at pci? dev ? function ?"
.Sh DESCRIPTION
The
.Nm
driver provides support for storage controllers using the
LSI Logic Fusion-MPT Message Passing Interface II
family of chipsets:
.Pp
.Bl -dash -offset indent -compact
.It
LSISAS2004,
LSISAS2008
.El
.Pp
These chipsets can be found on the following controllers:
.Pp
.Bl -dash -offset indent -compact
.It
Dell PERC H200
.It
LSI SAS 9200-8e, SAS 9211-4i, SAS 9211-8i
.El
.Pp
Some models of these controllers have varying degrees of support for RAID 0
and RAID 1.
.Pp
.Nm
supports monitoring of the logical disks in the controller through the
.Xr bioctl 8
and
.Xr envstat 8
commands.
.Sh EVENTS
The
.Nm
driver is able to send events to
.Xr powerd 8
if a logical drive in the controller is not online.
The
.Em state-changed
event will be sent to the
.Pa /etc/powerd/scripts/sensor_drive
script when such condition happens.
.Sh SEE ALSO
.Xr intro 4 ,
.Xr pci 4 ,
.Xr scsi 4 ,
.Xr sd 4 ,
.Xr bioctl 8 ,
.Xr envstat 8 ,
.Xr powerd 8
.Sh HISTORY
The
.Nm
driver first appeared in
.Ox 4.7 .
.Sh AUTHORS
.An -nosplit
The
.Nm
driver was written by
.An James Giannoules
and
.An Mike Belopuhov .
.Sh BUGS
The chips supported by
.Nm
do not use a SCSI-like identifier.
Instead they use an opaque ID and leave discovery order up to the operating
system.
The code to handle this is currently not implemented and therefore it is not a
good idea to run this driver on a multi-boot machine or with more than 1 drive.

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC,v 1.353 2012/04/13 13:11:16 cegger Exp $
# $NetBSD: GENERIC,v 1.354 2012/04/19 17:50:50 bouyer Exp $
#
# GENERIC machine description file
#
@ -22,7 +22,7 @@ include "arch/amd64/conf/std.amd64"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.353 $"
#ident "GENERIC-$Revision: 1.354 $"
maxusers 64 # estimated number of users
@ -546,7 +546,8 @@ iha* at pci? dev ? function ? # Initio INIC-940/950 SCSI
isp* at pci? dev ? function ? # Qlogic ISP [12]0x0 SCSI/FibreChannel
mfi* at pci? dev ? function ? # LSI MegaRAID SAS
mly* at pci? dev ? function ? # Mylex AcceleRAID and eXtremeRAID
mpt* at pci? dev ? function ? # LSILogic 9x9 and 53c1030
mpt* at pci? dev ? function ? # LSILogic 9x9 and 53c1030 (Fusion-MPT)
mpii* at pci? dev ? function ? # LSI Logic Fusion-MPT II
pcscp* at pci? dev ? function ? # AMD 53c974 PCscsi-PCI SCSI
siop* at pci? dev ? function ? # Symbios 53c8xx SCSI
esiop* at pci? dev ? function ? # Symbios 53c875 and newer SCSI

View File

@ -1,4 +1,4 @@
# $NetBSD: XEN3_DOM0,v 1.82 2012/04/13 13:11:16 cegger Exp $
# $NetBSD: XEN3_DOM0,v 1.83 2012/04/19 17:50:50 bouyer Exp $
include "arch/amd64/conf/std.xen"
@ -487,7 +487,8 @@ iha* at pci? dev ? function ? # Initio INIC-940/950 SCSI
isp* at pci? dev ? function ? # Qlogic ISP [12]0x0 SCSI/FibreChannel
mfi* at pci? dev ? function ? # LSI MegaRAID SAS
mly* at pci? dev ? function ? # Mylex AcceleRAID and eXtremeRAID
mpt* at pci? dev ? function ? # LSI Fusion SCSI/FC
mpt* at pci? dev ? function ? # LSILogic 9x9 and 53c1030 (Fusion-MPT)
mpii* at pci? dev ? function ? # LSI Logic Fusion-MPT II
njs* at pci? dev ? function ? # Workbit NinjaSCSI-32
pcscp* at pci? dev ? function ? # AMD 53c974 PCscsi-PCI SCSI
siop* at pci? dev ? function ? # Symbios 53c8xx SCSI

View File

@ -1,4 +1,4 @@
# $NetBSD: ALL,v 1.336 2012/04/13 13:11:16 cegger Exp $
# $NetBSD: ALL,v 1.337 2012/04/19 17:50:51 bouyer Exp $
# From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp
#
# ALL machine description file
@ -17,7 +17,7 @@ include "arch/i386/conf/std.i386"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "ALL-$Revision: 1.336 $"
#ident "ALL-$Revision: 1.337 $"
maxusers 64 # estimated number of users
@ -778,7 +778,8 @@ iha* at pci? dev ? function ? # Initio INIC-940/950 SCSI
isp* at pci? dev ? function ? # Qlogic ISP [12]0x0 SCSI/FibreChannel
mfi* at pci? dev ? function ? # LSI MegaRAID SAS
mly* at pci? dev ? function ? # Mylex AcceleRAID and eXtremeRAID
mpt* at pci? dev ? function ? # LSI Fusion SCSI/FC
mpt* at pci? dev ? function ? # LSILogic 9x9 and 53c1030 (Fusion-MPT)
mpii* at pci? dev ? function ? # LSI Logic Fusion-MPT II
nca* at pci? dev ? function ? # Domex DMX-3191D
njs* at pci? dev ? function ? # Workbit NinjaSCSI-32
pcscp* at pci? dev ? function ? # AMD 53c974 PCscsi-PCI SCSI

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC,v 1.1071 2012/04/13 13:11:16 cegger Exp $
# $NetBSD: GENERIC,v 1.1072 2012/04/19 17:50:51 bouyer Exp $
#
# GENERIC machine description file
#
@ -22,7 +22,7 @@ include "arch/i386/conf/std.i386"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.1071 $"
#ident "GENERIC-$Revision: 1.1072 $"
maxusers 64 # estimated number of users
@ -742,7 +742,8 @@ iha* at pci? dev ? function ? # Initio INIC-940/950 SCSI
isp* at pci? dev ? function ? # Qlogic ISP [12]0x0 SCSI/FibreChannel
mfi* at pci? dev ? function ? # LSI MegaRAID SAS
mly* at pci? dev ? function ? # Mylex AcceleRAID and eXtremeRAID
mpt* at pci? dev ? function ? # LSI Fusion SCSI/FC
mpt* at pci? dev ? function ? # LSILogic 9x9 and 53c1030 (Fusion-MPT)
mpii* at pci? dev ? function ? # LSI Logic Fusion-MPT II
njs* at pci? dev ? function ? # Workbit NinjaSCSI-32
pcscp* at pci? dev ? function ? # AMD 53c974 PCscsi-PCI SCSI
siop* at pci? dev ? function ? # Symbios 53c8xx SCSI

View File

@ -1,4 +1,4 @@
# $NetBSD: XEN3_DOM0,v 1.65 2012/04/13 13:11:16 cegger Exp $
# $NetBSD: XEN3_DOM0,v 1.66 2012/04/19 17:50:51 bouyer Exp $
#
# XEN3_0: Xen 3.0 domain0 kernel
@ -465,7 +465,8 @@ iha* at pci? dev ? function ? # Initio INIC-940/950 SCSI
isp* at pci? dev ? function ? # Qlogic ISP [12]0x0 SCSI/FibreChannel
mfi* at pci? dev ? function ? # LSI MegaRAID SAS
mly* at pci? dev ? function ? # Mylex AcceleRAID and eXtremeRAID
mpt* at pci? dev ? function ? # LSI Fusion SCSI/FC
mpt* at pci? dev ? function ? # LSILogic 9x9 and 53c1030 (Fusion-MPT)
mpii* at pci? dev ? function ? # LSI Logic Fusion-MPT II
njs* at pci? dev ? function ? # Workbit NinjaSCSI-32
pcscp* at pci? dev ? function ? # AMD 53c974 PCscsi-PCI SCSI
siop* at pci? dev ? function ? # Symbios 53c8xx SCSI

View File

@ -1,4 +1,4 @@
# $NetBSD: files.pci,v 1.356 2012/03/02 13:20:57 nonaka Exp $
# $NetBSD: files.pci,v 1.357 2012/04/19 17:50:51 bouyer Exp $
#
# Config file and device description for machine-independent PCI code.
# Included by ports that need it. Requires that the SCSI files be
@ -152,6 +152,11 @@ file dev/pci/mfi_pci.c mfi_pci
attach mpt at pci with mpt_pci
file dev/pci/mpt_pci.c mpt_pci
# LSI Logic Fusion-MPT Message Passing Interface 2.0
device mpii: scsi
attach mpii at pci
file dev/pci/mpii.c mpii
# Ethernet driver for DC21040-based boards
device de: ether, ifnet, arp
attach de at pci

5536
sys/dev/pci/mpii.c Normal file

File diff suppressed because it is too large Load Diff