Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-8]: src Pull up following revision(s) (requested by bouyer in tic...



details:   https://anonhg.NetBSD.org/src/rev/8525d8841b18
branches:  netbsd-8
changeset: 446484:8525d8841b18
user:      martin <martin%NetBSD.org@localhost>
date:      Fri Dec 07 17:11:37 2018 +0000

description:
Pull up following revision(s) (requested by bouyer in ticket #1129):

        sys/arch/amd64/conf/XEN3_DOM0: revision 1.159
        sys/arch/amd64/conf/GENERIC: revision 1.508
        sys/arch/i386/conf/ALL: revision 1.458
        sys/dev/ic/mfi.c: revision 1.60
        sys/dev/pci/mpiireg.h: revision 1.1
        distrib/sets/lists/man/mi: revision 1.1628
        sys/dev/pci/mfii.c: revision 1.1,1.2 (adapted)
        sys/arch/i386/conf/GENERIC: revision 1.1194
        sys/dev/pci/mpii.c: revision 1.13
        sys/dev/ic/mfireg.h: revision 1.9
        share/man/man4/mfii.4: revision 1.1
        share/man/man4/Makefile: revision 1.673 (patch)
        sys/dev/pci/files.pci: revision 1.410
        share/man/man4/mfii.4: revision 1.2
        sys/arch/amd64/conf/ALL: revision 1.108
        sys/arch/i386/conf/XEN3PAE_DOM0: revision 1.8 (patch, in XEN3_DOM0)

Add some definitions from OpenBSD, needed by the upcoming mfii driver.
No functionnal change.

 -

Move registers definitions to a separate file, needed for the upcomning mpii
driver. No functionnal change.

 -

Add mpii(4), a driver for LSI Megaraid Fusion controllers.
Ported from OpenBSD. This driver is MP-safe.

Note that the earlier fusion controllers (Megaraid 2208, codenamed Thunderbold)
are also supported by mfi(4). mpii will take precedence if both drivers
are enabled.

Tested on a
mfii0 at pci6 dev 0 function 0: "PERC H740P Adapter ", firmware 50.3.0-1512, 819
2MB cache
mfii0: interrupting at ioapic2 pin 2
scsibus0 at mfii0: 64 targets, 8 luns per target
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 0 lun 0: <DELL, PERC H740P Adp, 5.03> disk fixed
sd0: fabricating a geometry
sd0: 99 GB, 102399 cyl, 64 head, 32 sec, 512 bytes/sect x 209714688 sectors
sd0: tagged queueing
sd1 at scsibus0 target 1 lun 0: <DELL, PERC H740P Adp, 5.03> disk fixed
sd1: fabricating a geometry
sd1: 22254 GB, 22788608 cyl, 64 head, 32 sec, 512 bytes/sect x 46671069696 sectors
sd1: fabricating a geometry

It supports bioctl(8) ioctls, as well as sensors for the BBU and logical
drives.

Sponsored by LIP6.

 -

Add my name in copyright list

 -

add a man page for the new mpii, mostly from OpenBSD.

 -

Sort SEE ALSO. Fix date. Whitespace fixes.

diffstat:

 distrib/sets/lists/man/mi   |     5 +-
 share/man/man4/Makefile     |     4 +-
 share/man/man4/mfii.4       |    98 +
 sys/arch/amd64/conf/ALL     |     5 +-
 sys/arch/amd64/conf/GENERIC |     5 +-
 sys/arch/i386/conf/ALL      |     5 +-
 sys/arch/i386/conf/GENERIC  |     5 +-
 sys/dev/ic/mfi.c            |    20 +-
 sys/dev/ic/mfireg.h         |   109 +-
 sys/dev/pci/files.pci       |     7 +-
 sys/dev/pci/mfii.c          |  3871 +++++++++++++++++++++++++++++++++++++++++++
 sys/dev/pci/mpii.c          |  1665 +------------------
 sys/dev/pci/mpiireg.h       |  1676 ++++++++++++++++++
 13 files changed, 5771 insertions(+), 1704 deletions(-)

diffs (truncated from 7841 to 300 lines):

diff -r f56856ab4ee2 -r 8525d8841b18 distrib/sets/lists/man/mi
--- a/distrib/sets/lists/man/mi Fri Dec 07 13:28:53 2018 +0000
+++ b/distrib/sets/lists/man/mi Fri Dec 07 17:11:37 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1557.2.6 2018/10/31 10:39:55 martin Exp $
+# $NetBSD: mi,v 1.1557.2.7 2018/12/07 17:11:37 martin Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -1423,6 +1423,7 @@
 ./usr/share/man/cat4/md.0                      man-sys-catman          .cat
 ./usr/share/man/cat4/mfb.0                     man-sys-catman          .cat
 ./usr/share/man/cat4/mfi.0                     man-sys-catman          .cat
+./usr/share/man/cat4/mfii.0                    man-sys-catman          .cat
 ./usr/share/man/cat4/mgadrm.0                  man-sys-catman          .cat
 ./usr/share/man/cat4/mhzc.0                    man-sys-catman          .cat
 ./usr/share/man/cat4/micphy.0                  man-sys-catman          .cat
@@ -4505,6 +4506,7 @@
 ./usr/share/man/html4/md.html                  man-sys-htmlman         html
 ./usr/share/man/html4/mfb.html                 man-sys-htmlman         html
 ./usr/share/man/html4/mfi.html                 man-sys-htmlman         html
+./usr/share/man/html4/mfii.html                        man-sys-htmlman         html
 ./usr/share/man/html4/mgadrm.html              man-sys-htmlman         html
 ./usr/share/man/html4/mhzc.html                        man-sys-htmlman         html
 ./usr/share/man/html4/micphy.html              man-sys-htmlman         html
@@ -7437,6 +7439,7 @@
 ./usr/share/man/man4/md.4                      man-sys-man             .man
 ./usr/share/man/man4/mfb.4                     man-sys-man             .man
 ./usr/share/man/man4/mfi.4                     man-sys-man             .man
+./usr/share/man/man4/mfii.4                    man-sys-man             .man
 ./usr/share/man/man4/mgadrm.4                  man-sys-man             .man
 ./usr/share/man/man4/mhzc.4                    man-sys-man             .man
 ./usr/share/man/man4/micphy.4                  man-sys-man             .man
diff -r f56856ab4ee2 -r 8525d8841b18 share/man/man4/Makefile
--- a/share/man/man4/Makefile   Fri Dec 07 13:28:53 2018 +0000
+++ b/share/man/man4/Makefile   Fri Dec 07 17:11:37 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.637.2.3 2018/10/31 09:26:51 martin Exp $
+#      $NetBSD: Makefile,v 1.637.2.4 2018/12/07 17:11:37 martin Exp $
 #      @(#)Makefile    8.1 (Berkeley) 6/18/93
 
 MAN=   aac.4 ac97.4 acardide.4 aceride.4 acphy.4 \
@@ -40,7 +40,7 @@
        kloader.4 kse.4 ksyms.4 kttcp.4 \
        l2tp.4 lc.4 ld.4 lii.4 lo.4 lua.4 lxtphy.4 \
        mainbus.4 makphy.4 malo.4 mbe.4 mca.4 mcclock.4 md.4 mfb.4 \
-       mfi.4 mhzc.4 \
+       mfi.4 mfii.4 mhzc.4 \
        micphy.4 midi.4 mii.4 mk48txx.4 mlx.4 mly.4 mpls.4 mpii.4 mpt.4 mpu.4 mtd.4 \
        mtio.4 msm6242b.4 multicast.4 mvsata.4 \
        nadb.4 ne.4 neo.4 netintro.4 nfe.4 nfsmb.4 njata.4 njs.4 \
diff -r f56856ab4ee2 -r 8525d8841b18 share/man/man4/mfii.4
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/share/man/man4/mfii.4     Fri Dec 07 17:11:37 2018 +0000
@@ -0,0 +1,98 @@
+.\"    $NetBSD: mfii.4,v 1.2.4.2 2018/12/07 17:11:37 martin Exp $
+.\"    $OpenBSD: mfii.4,v 1.7 2018/03/27 07:01:42 jsg Exp $
+.\"
+.\" Copyright (c) 2012 David Gwynne <dlg%openbsd.org@localhost>
+.\"
+.\" 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 March 27, 2018
+.Dt MFII 4
+.Os
+.Sh NAME
+.Nm mfii
+.Nd LSI Logic MegaRAID SAS Fusion RAID controller
+.Sh SYNOPSIS
+.Cd "mfii* at pci?"
+.Sh DESCRIPTION
+The
+.Nm
+driver provides support for the MegaRAID SAS Fusion family of RAID controllers
+using the following chipsets:
+.Pp
+.Bl -dash -offset indent -compact
+.It
+SAS2208
+.It
+SAS3008
+.It
+SAS3108
+.It
+SAS3404
+.It
+SAS3408
+.It
+SAS3416
+.It
+SAS3504
+.It
+SAS3508
+.It
+SAS3516
+.El
+.Pp
+These controllers support RAID 0, RAID 1, RAID 5, RAID 6, RAID 10, RAID 50 and
+RAID 60 using either SAS or SATA II drives.
+.Pp
+Although the controllers are actual RAID controllers,
+they appear as SCSI controllers.
+All RAID configuration is done through the controllers' BIOSes.
+.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 bio 4 ,
+.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 5.3
+and
+.Nx 8.0 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was written by
+.An David Gwynne Aq Mt dlg%openbsd.org@localhost .
diff -r f56856ab4ee2 -r 8525d8841b18 sys/arch/amd64/conf/ALL
--- a/sys/arch/amd64/conf/ALL   Fri Dec 07 13:28:53 2018 +0000
+++ b/sys/arch/amd64/conf/ALL   Fri Dec 07 17:11:37 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: ALL,v 1.59.2.5 2018/04/11 14:23:30 martin Exp $
+# $NetBSD: ALL,v 1.59.2.6 2018/12/07 17:11:37 martin Exp $
 # From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp
 #
 # ALL machine description file
@@ -17,7 +17,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident         "ALL-$Revision: 1.59.2.5 $"
+#ident         "ALL-$Revision: 1.59.2.6 $"
 
 maxusers       64              # estimated number of users
 
@@ -755,6 +755,7 @@
 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
+mfii*  at pci? dev ? function ?        # LSI MegaRAID SAS (Fusion and newer)
 mly*   at pci? dev ? function ?        # Mylex AcceleRAID and eXtremeRAID
 mpt*   at pci? dev ? function ?        # LSILogic 9x9 and 53c1030 (Fusion-MPT)
 mpii*  at pci? dev ? function ?        # LSI Logic Fusion-MPT II
diff -r f56856ab4ee2 -r 8525d8841b18 sys/arch/amd64/conf/GENERIC
--- a/sys/arch/amd64/conf/GENERIC       Fri Dec 07 13:28:53 2018 +0000
+++ b/sys/arch/amd64/conf/GENERIC       Fri Dec 07 17:11:37 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.459.2.12 2018/10/31 09:30:10 martin Exp $
+# $NetBSD: GENERIC,v 1.459.2.13 2018/12/07 17:11:37 martin Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident         "GENERIC-$Revision: 1.459.2.12 $"
+#ident         "GENERIC-$Revision: 1.459.2.13 $"
 
 maxusers       64              # estimated number of users
 
@@ -596,6 +596,7 @@
 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
+mfii*  at pci? dev ? function ?        # LSI MegaRAID SAS (Fusion and newer)
 mly*   at pci? dev ? function ?        # Mylex AcceleRAID and eXtremeRAID
 mpt*   at pci? dev ? function ?        # LSILogic 9x9 and 53c1030 (Fusion-MPT)
 mpii*  at pci? dev ? function ?        # LSI Logic Fusion-MPT II
diff -r f56856ab4ee2 -r 8525d8841b18 sys/arch/i386/conf/ALL
--- a/sys/arch/i386/conf/ALL    Fri Dec 07 13:28:53 2018 +0000
+++ b/sys/arch/i386/conf/ALL    Fri Dec 07 17:11:37 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: ALL,v 1.419.2.3 2018/04/11 14:23:30 martin Exp $
+# $NetBSD: ALL,v 1.419.2.4 2018/12/07 17:11:37 martin Exp $
 # From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp
 #
 # ALL machine description file
@@ -17,7 +17,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident         "ALL-$Revision: 1.419.2.3 $"
+#ident         "ALL-$Revision: 1.419.2.4 $"
 
 maxusers       64              # estimated number of users
 
@@ -830,6 +830,7 @@
 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
+mfii*  at pci? dev ? function ?        # LSI MegaRAID SAS (Fusion and newer)
 mly*   at pci? dev ? function ?        # Mylex AcceleRAID and eXtremeRAID
 mpt*   at pci? dev ? function ?        # LSILogic 9x9 and 53c1030 (Fusion-MPT)
 mpii*  at pci? dev ? function ?        # LSI Logic Fusion-MPT II
diff -r f56856ab4ee2 -r 8525d8841b18 sys/arch/i386/conf/GENERIC
--- a/sys/arch/i386/conf/GENERIC        Fri Dec 07 13:28:53 2018 +0000
+++ b/sys/arch/i386/conf/GENERIC        Fri Dec 07 17:11:37 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.1156.2.12 2018/10/31 09:30:10 martin Exp $
+# $NetBSD: GENERIC,v 1.1156.2.13 2018/12/07 17:11:37 martin Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident         "GENERIC-$Revision: 1.1156.2.12 $"
+#ident         "GENERIC-$Revision: 1.1156.2.13 $"
 
 maxusers       64              # estimated number of users
 
@@ -775,6 +775,7 @@
 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
+mfii*  at pci? dev ? function ?        # LSI MegaRAID SAS (Fusion and newer)
 mly*   at pci? dev ? function ?        # Mylex AcceleRAID and eXtremeRAID
 mpt*   at pci? dev ? function ?        # LSILogic 9x9 and 53c1030 (Fusion-MPT)
 mpii*  at pci? dev ? function ?        # LSI Logic Fusion-MPT II
diff -r f56856ab4ee2 -r 8525d8841b18 sys/dev/ic/mfi.c
--- a/sys/dev/ic/mfi.c  Fri Dec 07 13:28:53 2018 +0000
+++ b/sys/dev/ic/mfi.c  Fri Dec 07 17:11:37 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mfi.c,v 1.57 2015/04/04 15:10:47 christos Exp $ */
+/* $NetBSD: mfi.c,v 1.57.10.1 2018/12/07 17:11:37 martin Exp $ */
 /* $OpenBSD: mfi.c,v 1.66 2006/11/28 23:59:45 dlg Exp $ */
 
 /*
@@ -73,7 +73,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mfi.c,v 1.57 2015/04/04 15:10:47 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mfi.c,v 1.57.10.1 2018/12/07 17:11:37 martin Exp $");
 
 #include "bio.h"
 
@@ -1879,7 +1879,7 @@
        DNPRINTF(MFI_D_MISC, "%s: mfi_mgmt %#x\n", DEVNAME(ccb->ccb_sc), opc);
 
        dcmd = &ccb->ccb_frame->mfr_dcmd;
-       memset(dcmd->mdf_mbox, 0, MFI_MBOX_SIZE);
+       memset(dcmd->mdf_mbox.b, 0, MFI_MBOX_SIZE);
        dcmd->mdf_header.mfh_cmd = MFI_CMD_DCMD;
        dcmd->mdf_header.mfh_timeout = 0;
 
@@ -1893,7 +1893,7 @@
 
        /* handle special opcodes */
        if (mbox)
-               memcpy(dcmd->mdf_mbox, mbox, MFI_MBOX_SIZE);
+               memcpy(dcmd->mdf_mbox.b, mbox, MFI_MBOX_SIZE);
 
        if (dir != MFI_DATA_NONE) {
                dcmd->mdf_header.mfh_data_len = len;
@@ -2017,7 +2017,7 @@
 
        /* get figures */
        cfg = malloc(sizeof *cfg, M_DEVBUF, M_WAITOK);
-       if (mfi_mgmt_internal(sc, MD_DCMD_CONF_GET, MFI_DATA_IN,
+       if (mfi_mgmt_internal(sc, MR_DCMD_CONF_GET, MFI_DATA_IN,
            sizeof *cfg, cfg, NULL, false))



Home | Main Index | Thread Index | Old Index