diff --git a/sm5/os_solaris.c b/sm5/os_solaris.c
index 33a60b806225fd9be4ecdc94417efc0112f0d652..101d9389e78a7ad3efe6dc0d9a42c13ababdcfb2 100644
--- a/sm5/os_solaris.c
+++ b/sm5/os_solaris.c
@@ -3,6 +3,7 @@
  *
  * Home page of code is: http://smartmontools.sourceforge.net
  *
+ * Copyright (C) 2003-4 SAWADA Keiji <smartmontools-support@lists.sourceforge.net>
  * Copyright (C) 2003-4 Casper Dik <smartmontools-support@lists.sourceforge.net>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -38,9 +39,9 @@
 
 extern long long bytes;
 
-static const char *filenameandversion="$Id: os_solaris.c,v 1.23 2004/09/14 03:34:34 ballen4705 Exp $";
+static const char *filenameandversion="$Id: os_solaris.c,v 1.24 2004/09/14 14:20:38 ballen4705 Exp $";
 
-const char *os_XXXX_c_cvsid="$Id: os_solaris.c,v 1.23 2004/09/14 03:34:34 ballen4705 Exp $" \
+const char *os_XXXX_c_cvsid="$Id: os_solaris.c,v 1.24 2004/09/14 14:20:38 ballen4705 Exp $" \
 ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_SOLARIS_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID;
 
 // The printwarning() function warns about unimplemented functions
@@ -335,8 +336,9 @@ int ata_command_interface(int fd, smart_command_set command, int select, char *d
     data=NULL;
 
     /* Above smart_* routines uses undocumented ioctls of "dada"
-     * driver, which is specific to SPARC Solaris. x86 Solaris seems
-     * not to provide similar or alternative interface... */
+     * driver, which is specific to SPARC Solaris.  See
+     * os_solaris_ata.s for further details. x86 Solaris seems not to
+     * provide similar or alternative interface... */
     if (printwarning(0))
 	return -1;
 #endif
diff --git a/sm5/os_solaris.cpp b/sm5/os_solaris.cpp
index 0aab21e7a87a5740e3f3a6711c9bb19a4c2ce617..ac4fef309e21d048ac92656cbd01958c3c721ef9 100644
--- a/sm5/os_solaris.cpp
+++ b/sm5/os_solaris.cpp
@@ -3,6 +3,7 @@
  *
  * Home page of code is: http://smartmontools.sourceforge.net
  *
+ * Copyright (C) 2003-4 SAWADA Keiji <smartmontools-support@lists.sourceforge.net>
  * Copyright (C) 2003-4 Casper Dik <smartmontools-support@lists.sourceforge.net>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -38,9 +39,9 @@
 
 extern long long bytes;
 
-static const char *filenameandversion="$Id: os_solaris.cpp,v 1.23 2004/09/14 03:34:34 ballen4705 Exp $";
+static const char *filenameandversion="$Id: os_solaris.cpp,v 1.24 2004/09/14 14:20:38 ballen4705 Exp $";
 
-const char *os_XXXX_c_cvsid="$Id: os_solaris.cpp,v 1.23 2004/09/14 03:34:34 ballen4705 Exp $" \
+const char *os_XXXX_c_cvsid="$Id: os_solaris.cpp,v 1.24 2004/09/14 14:20:38 ballen4705 Exp $" \
 ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_SOLARIS_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID;
 
 // The printwarning() function warns about unimplemented functions
@@ -335,8 +336,9 @@ int ata_command_interface(int fd, smart_command_set command, int select, char *d
     data=NULL;
 
     /* Above smart_* routines uses undocumented ioctls of "dada"
-     * driver, which is specific to SPARC Solaris. x86 Solaris seems
-     * not to provide similar or alternative interface... */
+     * driver, which is specific to SPARC Solaris.  See
+     * os_solaris_ata.s for further details. x86 Solaris seems not to
+     * provide similar or alternative interface... */
     if (printwarning(0))
 	return -1;
 #endif
diff --git a/sm5/os_solaris.h b/sm5/os_solaris.h
index 5791783121c6251d355241605c1704b6c783e9a0..99114e63ad666f2f1045021ac4bd094d9b38ba8e 100644
--- a/sm5/os_solaris.h
+++ b/sm5/os_solaris.h
@@ -3,6 +3,7 @@
  *
  * Home page of code is: http://smartmontools.sourceforge.net
  *
+ * Copyright (C) 2003-4 SAWADA Keiji <smartmontools-support@lists.sourceforge.net>
  * Copyright (C) 2003-4 Casper Dik <smartmontools-support@lists.sourceforge.net>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -24,7 +25,7 @@
 #ifndef OS_SOLARIS_H_
 #define OS_SOLARIS_H_
 
-#define OS_SOLARIS_H_CVSID "$Id: os_solaris.h,v 1.9 2004/09/14 02:42:16 ballen4705 Exp $\n"
+#define OS_SOLARIS_H_CVSID "$Id: os_solaris.h,v 1.10 2004/09/14 14:20:38 ballen4705 Exp $\n"
 
 // Additional material should start here.  Note: to keep the '-V' CVS
 // reporting option working as intended, you should only #include
diff --git a/sm5/smartctl.8.in b/sm5/smartctl.8.in
index 4033bbffdb874dc28873aee3950419f42f7a4dcf..bced303756ddfb7fb092e8b8cb9752102580a021 100644
--- a/sm5/smartctl.8.in
+++ b/sm5/smartctl.8.in
@@ -1,7 +1,7 @@
 .ig
  Copyright (C) 2002-4 Bruce Allen <smartmontools-support@lists.sourceforge.net>
 
- $Id: smartctl.8.in,v 1.65 2004/09/14 01:48:35 ballen4705 Exp $
+ $Id: smartctl.8.in,v 1.66 2004/09/14 14:20:38 ballen4705 Exp $
  
  This program is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by the Free
@@ -169,10 +169,13 @@ use the exit status of \fBsmartctl\fP (see RETURN VALUES below).
 .TP
 .B \-d TYPE, \-\-device=TYPE
 Specifies the type of the device.  The valid arguments to this option
-are \fIata\fP, \fIscsi\fP, and \fI3ware,N\fP. If this option is not
+are \fIata\fP, \fIscsi\fP, \fImarvell\fP, and \fI3ware,N\fP. If this option is not
 used then \fBsmartctl\fP will attempt to guess the device type from
 the device name.
 
+Under Linux, to look at SATA disks behind Marvell chip-set controllers
+(using the Marvell rather than libata driver) use \'\-d marvell\'.
+
 To look at ATA disks behind 3ware SCSI RAID controllers, use syntax
 such as:
 .nf
@@ -1238,7 +1241,7 @@ these documents may be found in the References section of the
 
 .SH
 CVS ID OF THIS PAGE:
-$Id: smartctl.8.in,v 1.65 2004/09/14 01:48:35 ballen4705 Exp $
+$Id: smartctl.8.in,v 1.66 2004/09/14 14:20:38 ballen4705 Exp $
 .\" Local Variables:	         
 .\" mode: nroff         
 .\" End:
diff --git a/sm5/smartd.8.in b/sm5/smartd.8.in
index 586e1948a59ae4ce798f4f15c4482f7f29b90d52..6e72dbb95ab50e563efa6b71b9f8df857199088d 100644
--- a/sm5/smartd.8.in
+++ b/sm5/smartd.8.in
@@ -1,7 +1,7 @@
 .ig
 Copyright (C) 2002-4 Bruce Allen <smartmontools-support@lists.sourceforge.net>
  
-$Id: smartd.8.in,v 1.87 2004/09/07 13:01:51 ballen4705 Exp $
+$Id: smartd.8.in,v 1.88 2004/09/14 14:20:39 ballen4705 Exp $
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -566,11 +566,10 @@ directives can be used for these disks (but see note below).
 
 .TP
 .B \-d TYPE
-Specifies the type of the device.  This Directive may be used multiple times
-for one device, but the arguments \fIata\fP, \fIscsi\fP, and \fI3ware,N\fP are
-mutually-exclusive. If more than one is given then
-\fBsmartd\fP
-will use the last one which appears.
+Specifies the type of the device.  This Directive may be used multiple
+times for one device, but the arguments \fIata\fP, \fIscsi\fP,
+\fImarvell\fP, and \fI3ware,N\fP are mutually-exclusive. If more than
+one is given then \fBsmartd\fP will use the last one which appears.
 
 If none of these three arguments is given, then \fBsmartd\fP will
 first attempt to guess the device type by looking at whether the sixth
@@ -593,6 +592,10 @@ from issuing SCSI commands to an ATA device.
 \fBsmartd\fP
 from issuing ATA commands to a SCSI device.
 
+.I marvell
+\- Under Linux, interact with SATA disks behind Marvell chip-set
+controllers (using the Marvell rather than libata driver).
+
 .I 3ware,N
 \- the device consists of one or more ATA disks connected to a 3ware
 RAID controller. The non-negative integer N (in the range from 0 to 15
@@ -1794,4 +1797,4 @@ smartmontools home page at \fBhttp://smartmontools.sourceforge.net/\fP .
 
 .SH
 CVS ID OF THIS PAGE:
-$Id: smartd.8.in,v 1.87 2004/09/07 13:01:51 ballen4705 Exp $
+$Id: smartd.8.in,v 1.88 2004/09/14 14:20:39 ballen4705 Exp $
diff --git a/sm5/smartd.conf.5.in b/sm5/smartd.conf.5.in
index 011692cd135353160ba459fcbdb108d999bc47bf..df71e2de777638f80197d43283ab1f51d4d8aed9 100644
--- a/sm5/smartd.conf.5.in
+++ b/sm5/smartd.conf.5.in
@@ -1,7 +1,7 @@
 .ig
 Copyright (C) 2002-4 Bruce Allen <smartmontools-support@lists.sourceforge.net>
 
-$Id: smartd.conf.5.in,v 1.65 2004/09/07 13:01:51 ballen4705 Exp $
+$Id: smartd.conf.5.in,v 1.66 2004/09/14 14:20:39 ballen4705 Exp $
 
 This program is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the Free
@@ -224,11 +224,10 @@ directives can be used for these disks (but see note below).
 
 .TP
 .B \-d TYPE
-Specifies the type of the device.  This Directive may be used multiple times
-for one device, but the arguments \fIata\fP, \fIscsi\fP, and \fI3ware,N\fP are
-mutually-exclusive. If more than one is given then
-\fBsmartd\fP
-will use the last one which appears.
+Specifies the type of the device.  This Directive may be used multiple
+times for one device, but the arguments \fIata\fP, \fIscsi\fP,
+\fImarvell\fP, and \fI3ware,N\fP are mutually-exclusive. If more than
+one is given then \fBsmartd\fP will use the last one which appears.
 
 If none of these three arguments is given, then \fBsmartd\fP will
 first attempt to guess the device type by looking at whether the sixth
@@ -251,6 +250,10 @@ from issuing SCSI commands to an ATA device.
 \fBsmartd\fP
 from issuing ATA commands to a SCSI device.
 
+.I marvell
+\- Under Linux, interact with SATA disks behind Marvell chip-set
+controllers (using the Marvell rather than libata driver).
+
 .I 3ware,N
 \- the device consists of one or more ATA disks connected to a 3ware
 RAID controller. The non-negative integer N (in the range from 0 to 15
@@ -1231,4 +1234,4 @@ SEE ALSO:
 
 .SH
 CVS ID OF THIS PAGE:
-$Id: smartd.conf.5.in,v 1.65 2004/09/07 13:01:51 ballen4705 Exp $
+$Id: smartd.conf.5.in,v 1.66 2004/09/14 14:20:39 ballen4705 Exp $