Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/arcmsrvar.h
RevisionDateAuthorComments
 1.16  09-Feb-2024  andvar fix spelling mistakes, mainly in comments and log messages.
 1.15  12-Jun-2016  christos Make internal functions static to avoid conflicts with arc_* from zfs.
 1.14  20-Jun-2011  pgoyette branches: 1.14.12; 1.14.30;
Maintain our own storage for volume and disk ID info rather than
(ab)using envstat's storage.

XXX Compile-tested only.
 1.13  23-Sep-2008  christos branches: 1.13.26;
PR/39583: Brad du Plessis: acrmsr(4) driver doesn't report number of volumes correctly
to bioctl(8)
PR/39584: Juan RP: arcmsr(4) driver disk state values are incorrect (for ARC-1220)
 1.12  03-Apr-2008  xtraeme branches: 1.12.4; 1.12.6; 1.12.8; 1.12.12;
Add ARC_FW_DISK_INITIALIZED flag for device_state and do not treat
it as unknown; in this state the disk is correctly working so set it
as online.

Also remove some bogus htole32() for diskinfo->device_state.

This should fix PR kern/38299 by Hiroyuki Bessho.
 1.11  05-Mar-2008  xtraeme Split device_t/softc, and other related cosmetic changes.
 1.10  29-Feb-2008  xtraeme If a disk has been disconnected in a volume set, mark it as offline
and put it on another bus and print "disk missing"... the OpenBSD driver
does that but I forgot to re-add it.

Also save some values provided by the firmware in the softc and use them
in the bio(4) ioctls, this speeds up considerably bioctl(8) and avoids
so many firmware commands every time we want the current status.
 1.9  28-Feb-2008  xtraeme Register a sensor per disk connected to a valid volume, so that we
can get more details if state on a disk or volume has changed,
previously only state about the volume was available.

You'll see something like this with envstat(8) now:

$ envstat -darcmsr0
RAID 5 volume0 (sd0): building
disk0 volume0 (sd0): online
disk1 volume0 (sd0): online
disk2 volume0 (sd0): online
disk3 volume0 (sd0): online
$

Convert the driver to use pmf(9) and register a shutdown power handler
via pmf_device_register1() that was added recently.

Misc cosmetics tweaks while I'm here.
 1.8  03-Jan-2008  xtraeme branches: 1.8.2; 1.8.4; 1.8.6; 1.8.10;
Fix indentation.
 1.7  02-Jan-2008  xtraeme New functionality for arcmsr(4) native management via bioctl(8):

Added support to create/remove hot-spare, pass-through disks.
Added support to create/remove volume sets.
Added support to show information about physical disks, even if they
are marked unused, hot-spares or pass-through.

sd(4) devices are attached/detached automagically when a pass-through
disk or volume set is created/removed... thanks scsipi(9) and cube@
for hints.
 1.6  09-Dec-2007  xtraeme branches: 1.6.4; 1.6.6;
Erm fix some defines in previous...
 1.5  08-Dec-2007  xtraeme branches: 1.5.2; 1.5.4;
Add some more firmware command/status codes from the freebsd driver.
 1.4  05-Dec-2007  xtraeme branches: 1.4.2;
Boh! I spoke too soon before, without the rwlock(9) sometimes
arc_wait() waits forever, so put it back until I figure any other way
to remove the rwlock(9).
 1.3  05-Dec-2007  xtraeme Make it use mutex(9) and condvar(9), bye bye spl(9) and tsleep(9).

Fully stable with all debugging options turned on, unless someday any
problem appears :-)
 1.2  05-Dec-2007  xtraeme - arc_msgbuf: free wbuf and rbuf with the correct type (M_TEMP vs M_DEVBUF)
this fixes a panic with debugging options.
- Do not use a callout to refresh sensor data, and make it available
every time someone requests it.
- Enable ENVSYS_FMONSTCHANGED for notifications in the volumes.
 1.1  05-Dec-2007  xtraeme Rename the Areca RAID driver (known as arc(4) to arcmsr(4) to avoid
namespace conflict with NetBSD/arc.

Found by tsutsui@.
 1.4.2.4  17-Mar-2008  yamt sync with head.
 1.4.2.3  21-Jan-2008  yamt sync with head
 1.4.2.2  07-Dec-2007  yamt sync with head
 1.4.2.1  05-Dec-2007  yamt file arcmsrvar.h was added on branch yamt-lazymbuf on 2007-12-07 17:30:23 +0000
 1.5.4.4  18-Feb-2008  mjf Sync with HEAD.
 1.5.4.3  27-Dec-2007  mjf Sync with HEAD.
 1.5.4.2  08-Dec-2007  mjf Sync with HEAD.
 1.5.4.1  08-Dec-2007  mjf file arcmsrvar.h was added on branch mjf-devfs on 2007-12-08 18:19:41 +0000
 1.5.2.3  26-Dec-2007  ad Sync with head.
 1.5.2.2  08-Dec-2007  ad Sync with head.
 1.5.2.1  08-Dec-2007  ad file arcmsrvar.h was added on branch vmlocking2 on 2007-12-08 17:57:26 +0000
 1.6.6.1  08-Jan-2008  bouyer Sync with HEAD
 1.6.4.2  09-Dec-2007  jmcneill Sync with HEAD.
 1.6.4.1  09-Dec-2007  jmcneill file arcmsrvar.h was added on branch jmcneill-pm on 2007-12-09 19:37:53 +0000
 1.8.10.3  28-Sep-2008  mjf Sync with HEAD.
 1.8.10.2  02-Jun-2008  mjf Sync with HEAD.
 1.8.10.1  03-Apr-2008  mjf Sync with HEAD.
 1.8.6.1  24-Mar-2008  keiichi sync with head.
 1.8.4.4  24-Sep-2008  bouyer Pull up following revision(s) (requested by christos in ticket #1205):
sys/dev/pci/arcmsrvar.h: revision 1.13
sys/dev/pci/arcmsr.c: revision 1.22
PR/39583: Brad du Plessis: acrmsr(4) driver doesn't report number of
volumes correctly
to bioctl(8)
PR/39584: Juan RP: arcmsr(4) driver disk state values are incorrect (for
ARC-1220)
 1.8.4.3  29-Aug-2008  bouyer Apply patch, requested by christos in tickets #1175:
sys/dev/bio.c patch
sys/dev/biovar.h patch
sys/dev/pci/arcmsr.c patch
sys/dev/pci/arcmsrvar.h patch
sbin/bioctl/Makefile patch
sbin/bioctl/bioctl.8 patch
sbin/bioctl/bioctl.c patch
sbin/bioctl/dehumanize_number.c patch
sbin/bioctl/strtonum.c patch
sbin/bioctl/strtonum.h patch

Port bioctl(8) and arcmsr(4) from current:
bioctl(8): Rewritten to handle new features like creating/removing
hot-spare, pass-through disks and RAID volumes, start/stop
consistency checks in volumes and others.
arcmsr(4): Added support to create/remove hot-spare, pass-through
disks and RAID volumes, start/stop consistency checks
in volumes as well as showing information about physical
disks (even if they are marked as hot-spare, pass-through
or unused).
 1.8.4.2  11-Jan-2008  xtraeme Pull up following revision(s) (requested by christos in ticket #1037):
sys/dev/pci/arcmsr.c: patch
sys/dev/pci/arcmsrvar.h: patch
sys/dev/pci/pcidevs: patch
sys/dev/pci/files.pci: patch
sys/arch/i386/conf/GENERIC: patch
sys/arch/i386/conf/XEN2_DOM0: patch
sys/arch/i386/conf/INSTALL_LARGE: patch
sys/arch/amd64/conf/GENERIC: patch
sys/arch/amd64/conf/INSTALL: patch
share/man/man4/Makefile: patch
share/man/man4/arcmsr.4: patch
distrib/sets/lists/man/mi: patch

Add the Areca Technology Corporation SATA RAID controller driver, ported
from OpenBSD.
 1.8.4.1  03-Jan-2008  xtraeme file arcmsrvar.h was added on branch netbsd-4 on 2008-01-11 17:03:17 +0000
 1.8.2.3  23-Mar-2008  matt sync with HEAD
 1.8.2.2  09-Jan-2008  matt sync with HEAD
 1.8.2.1  03-Jan-2008  matt file arcmsrvar.h was added on branch matt-armv6 on 2008-01-09 01:53:33 +0000
 1.12.12.1  19-Oct-2008  haad Sync with HEAD.
 1.12.8.3  04-Sep-2008  skrll Sync with netbsd-4.
 1.12.8.2  03-Jun-2008  skrll Sync with netbsd-4.
 1.12.8.1  03-Apr-2008  skrll file arcmsrvar.h was added on branch wrstuden-fixsa on 2008-06-03 20:47:24 +0000
 1.12.6.1  10-Oct-2008  skrll Sync with HEAD.
 1.12.4.1  04-May-2009  yamt sync with head.
 1.13.26.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.14.30.1  09-Jul-2016  skrll Sync with HEAD
 1.14.12.2  03-Dec-2017  jdolecek update from HEAD
 1.14.12.1  02-Dec-2012  tls Areca controller maximum-transfer size limits -- looked up in FreeBSD
driver.

Actually exporting the per-volume transfer size for this driver will
be quite hard; the controller firmware shows the host the configured
volumes when the host probes the controller's "scsibus", and we can't
really associate them with particular RAID volumes until later. I think
we will have to intercept the SCSI inquiry commands -- yuck.

RSS XML Feed