PERFORCE change 134760 for review

Sam Leffler sam at FreeBSD.org
Sun Feb 3 20:34:52 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=134760

Change 134760 by sam at sam_ebb on 2008/02/04 04:34:03

	IFC @ 134759

Affected files ...

.. //depot/projects/vap/contrib/file/Magdir/bFLT#3 delete
.. //depot/projects/vap/contrib/file/Magdir/chi#3 delete
.. //depot/projects/vap/contrib/file/Magdir/cvs#3 delete
.. //depot/projects/vap/contrib/file/Magdir/hdf#3 delete
.. //depot/projects/vap/contrib/file/Magdir/impulse#3 delete
.. //depot/projects/vap/contrib/file/Magdir/wordperfect#3 delete
.. //depot/projects/vap/contrib/file/acconfig.h#3 delete
.. //depot/projects/vap/contrib/file/magic.c#4 integrate
.. //depot/projects/vap/contrib/file/missing#3 delete
.. //depot/projects/vap/contrib/file/stamp-h.in#3 delete
.. //depot/projects/vap/etc/periodic/security/100.chksetuid#3 integrate
.. //depot/projects/vap/etc/rc.d/dhclient#4 integrate
.. //depot/projects/vap/include/pthread_np.h#4 integrate
.. //depot/projects/vap/lib/libc/net/getaddrinfo.c#3 integrate
.. //depot/projects/vap/lib/libc/sys/sendfile.2#3 integrate
.. //depot/projects/vap/lib/libpmc/pmc.3#4 integrate
.. //depot/projects/vap/lib/libthr/pthread.map#4 integrate
.. //depot/projects/vap/lib/libthr/thread/thr_mutex.c#4 integrate
.. //depot/projects/vap/release/doc/en_US.ISO8859-1/hardware/article.sgml#4 integrate
.. //depot/projects/vap/release/doc/share/misc/dev.archlist.txt#5 integrate
.. //depot/projects/vap/sbin/mount/mount.c#3 integrate
.. //depot/projects/vap/share/man/man4/Makefile#5 integrate
.. //depot/projects/vap/share/man/man4/hptiop.4#3 integrate
.. //depot/projects/vap/share/man/man4/rr232x.4#3 delete
.. //depot/projects/vap/share/mk/bsd.dep.mk#3 integrate
.. //depot/projects/vap/sys/amd64/amd64/identcpu.c#7 integrate
.. //depot/projects/vap/sys/amd64/conf/GENERIC#7 integrate
.. //depot/projects/vap/sys/amd64/conf/NOTES#7 integrate
.. //depot/projects/vap/sys/amd64/include/specialreg.h#6 integrate
.. //depot/projects/vap/sys/conf/files.amd64#7 integrate
.. //depot/projects/vap/sys/conf/files.i386#7 integrate
.. //depot/projects/vap/sys/conf/kern.pre.mk#6 integrate
.. //depot/projects/vap/sys/dev/hptiop/hptiop.c#3 integrate
.. //depot/projects/vap/sys/dev/hptiop/hptiop.h#3 integrate
.. //depot/projects/vap/sys/dev/mfi/mfi.c#4 integrate
.. //depot/projects/vap/sys/dev/mfi/mfireg.h#3 integrate
.. //depot/projects/vap/sys/dev/ral/rt2560.c#13 integrate
.. //depot/projects/vap/sys/dev/ral/rt2560reg.h#4 integrate
.. //depot/projects/vap/sys/dev/ral/rt2560var.h#9 integrate
.. //depot/projects/vap/sys/dev/rr232x/LICENSE#3 delete
.. //depot/projects/vap/sys/dev/rr232x/README#3 delete
.. //depot/projects/vap/sys/dev/rr232x/amd64-elf.rr232x_lib.o.uu#3 delete
.. //depot/projects/vap/sys/dev/rr232x/array.h#3 delete
.. //depot/projects/vap/sys/dev/rr232x/him.h#3 delete
.. //depot/projects/vap/sys/dev/rr232x/himfuncs.h#3 delete
.. //depot/projects/vap/sys/dev/rr232x/hptintf.h#3 delete
.. //depot/projects/vap/sys/dev/rr232x/i386-elf.rr232x_lib.o.uu#3 delete
.. //depot/projects/vap/sys/dev/rr232x/ldm.h#3 delete
.. //depot/projects/vap/sys/dev/rr232x/list.h#3 delete
.. //depot/projects/vap/sys/dev/rr232x/os_bsd.c#3 delete
.. //depot/projects/vap/sys/dev/rr232x/os_bsd.h#3 delete
.. //depot/projects/vap/sys/dev/rr232x/osm.h#3 delete
.. //depot/projects/vap/sys/dev/rr232x/osm_bsd.c#3 delete
.. //depot/projects/vap/sys/dev/rr232x/rr232x_config.c#3 delete
.. //depot/projects/vap/sys/dev/rr232x/rr232x_config.h#3 delete
.. //depot/projects/vap/sys/i386/conf/NOTES#7 integrate
.. //depot/projects/vap/sys/ia64/ia64/locore.S#5 integrate
.. //depot/projects/vap/sys/ia64/ia64/machdep.c#7 integrate
.. //depot/projects/vap/sys/ia64/include/md_var.h#5 integrate
.. //depot/projects/vap/sys/kern/uipc_syscalls.c#8 integrate
.. //depot/projects/vap/sys/modules/Makefile#11 integrate
.. //depot/projects/vap/sys/modules/rr232x/Makefile#3 delete
.. //depot/projects/vap/sys/net/bpf.c#7 integrate
.. //depot/projects/vap/sys/net80211/ieee80211_ht.h#6 integrate
.. //depot/projects/vap/sys/net80211/ieee80211_input.c#26 integrate
.. //depot/projects/vap/sys/netgraph/netflow/ng_netflow.c#7 integrate
.. //depot/projects/vap/sys/netgraph/ng_base.c#8 integrate
.. //depot/projects/vap/sys/netgraph/ng_tee.c#5 integrate
.. //depot/projects/vap/sys/netinet/ip_output.c#6 integrate
.. //depot/projects/vap/sys/netinet6/ip6_output.c#8 integrate
.. //depot/projects/vap/sys/netipsec/ipsec.c#6 integrate
.. //depot/projects/vap/sys/netipsec/ipsec.h#5 integrate
.. //depot/projects/vap/sys/netipsec/ipsec6.h#5 integrate
.. //depot/projects/vap/sys/sys/socket.h#7 integrate
.. //depot/projects/vap/tools/regression/pthread/mutex_islocked_np/Makefile#1 branch
.. //depot/projects/vap/tools/regression/pthread/mutex_islocked_np/mutex_islocked_np.c#1 branch
.. //depot/projects/vap/usr.bin/kdump/Makefile#3 integrate
.. //depot/projects/vap/usr.bin/kdump/mkioctls#3 integrate
.. //depot/projects/vap/usr.bin/kdump/mksubr#3 integrate
.. //depot/projects/vap/usr.bin/truss/Makefile#3 integrate
.. //depot/projects/vap/usr.sbin/ypserv/yp_main.c#3 integrate
.. //depot/projects/vap/usr.sbin/ypserv/ypserv.8#3 integrate

Differences ...

==== //depot/projects/vap/contrib/file/magic.c#4 (text+ko) ====

@@ -218,6 +218,7 @@
 		 */
 #ifdef HAVE_UTIMES
 		struct timeval  utsbuf[2];
+		memset(utsbuf, 0, sizeof(struct timeval) * 2);
 		utsbuf[0].tv_sec = sb->st_atime;
 		utsbuf[1].tv_sec = sb->st_mtime;
 
@@ -225,6 +226,7 @@
 #elif defined(HAVE_UTIME_H) || defined(HAVE_SYS_UTIME_H)
 		struct utimbuf  utbuf;
 
+		memset(&utbuf, 0, sizeof(struct utimbuf));
 		utbuf.actime = sb->st_atime;
 		utbuf.modtime = sb->st_mtime;
 		(void) utime(name, &utbuf); /* don't care if loses */

==== //depot/projects/vap/etc/periodic/security/100.chksetuid#3 (text+ko) ====

@@ -24,7 +24,7 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $FreeBSD: src/etc/periodic/security/100.chksetuid,v 1.9 2007/11/23 13:00:31 ru Exp $
+# $FreeBSD: src/etc/periodic/security/100.chksetuid,v 1.11 2008/02/03 00:33:05 des Exp $
 #
 
 # If there is a global system configuration file, suck it in.
@@ -43,22 +43,16 @@
     [Yy][Ee][Ss])
 	echo ""
 	echo 'Checking setuid files and devices:'
-	# XXX Note that there is the possibility of overrunning the args to ls
-	MP=`mount -t ufs,zfs | egrep -v " no(suid|exec)" | awk '{ print $3 }' | sort`
-	if [ -n "${MP}" ]
-	then
-	    set ${MP}
-	    while [ $# -ge 1 ]; do
-	        mount=$1
-	        shift
-	        find $mount -xdev -type f \
-			\( -perm -u+x -or -perm -g+x -or -perm -o+x \) \
-			\( -perm -u+s -or -perm -g+s \) -print0
-	    done | xargs -0 -n 20 ls -liTd | sed 's/^ *//' | sort -k 11 |
-	      check_diff setuid - "${host} setuid diffs:"
-	    rc=$?
-	fi;;
-    *)	rc=0;;
+	MP=`mount -t ufs,zfs | awk '$0 !~ /no(suid|exec)/ { print $3 }'`
+	find -sx $MP /dev/null -type f \
+	    \( -perm -u+x -or -perm -g+x -or -perm -o+x \) \
+	    \( -perm -u+s -or -perm -g+s \) -exec ls -liTd \{\} \+ |
+	check_diff setuid - "${host} setuid diffs:"
+	rc=$?
+	;;
+    *)
+	rc=0
+	;;
 esac
 
 exit $rc

==== //depot/projects/vap/etc/rc.d/dhclient#4 (text+ko) ====

@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/dhclient,v 1.30 2007/12/08 22:27:18 dougb Exp $
+# $FreeBSD: src/etc/rc.d/dhclient,v 1.31 2008/02/01 23:43:58 brooks Exp $
 #
 
 # PROVIDE: dhclient
@@ -21,7 +21,11 @@
 	if [ -x /bin/pgrep ]; then
 		pids=`/bin/pgrep -f "dhclient: $ifn(\$| .*)"`
 		if [ -n "$pids" ]; then
-			exit 0
+			sleep 1
+			pids=`/bin/pgrep -f "dhclient: $ifn(\$| .*)"`
+			if [ -n "$pids" ]; then
+				exit 0
+			fi
 		fi
 	fi
 

==== //depot/projects/vap/include/pthread_np.h#4 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/include/pthread_np.h,v 1.18 2007/12/14 06:25:56 davidxu Exp $
+ * $FreeBSD: src/include/pthread_np.h,v 1.19 2008/02/03 22:38:10 des Exp $
  */
 #ifndef _PTHREAD_NP_H_
 #define _PTHREAD_NP_H_
@@ -53,6 +53,7 @@
 int pthread_mutex_setspinloops_np(pthread_mutex_t *mutex, int count);
 int pthread_mutex_getyieldloops_np(pthread_mutex_t *mutex, int *count);
 int pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count);
+int pthread_mutex_islocked_np(pthread_mutex_t *mutex);
 int pthread_single_np(void);
 void pthread_suspend_all_np(void);
 int pthread_suspend_np(pthread_t);

==== //depot/projects/vap/lib/libc/net/getaddrinfo.c#3 (text+ko) ====

@@ -54,7 +54,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.86 2007/09/05 18:08:14 jinmei Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.87 2008/02/03 19:07:55 ume Exp $");
 
 #include "namespace.h"
 #include <sys/types.h>
@@ -425,27 +425,6 @@
 	}
 
 	/*
-	 * post-2553: AI_ALL and AI_V4MAPPED are effective only against
-	 * AF_INET6 query.  They need to be ignored if specified in other
-	 * occassions.
-	 */
-	switch (pai->ai_flags & (AI_ALL | AI_V4MAPPED)) {
-	case AI_V4MAPPED:
-	case AI_ALL | AI_V4MAPPED:
-		if (pai->ai_family != AF_INET6)
-			pai->ai_flags &= ~(AI_ALL | AI_V4MAPPED);
-		break;
-	case AI_ALL:
-#if 1
-		/* illegal */
-		ERR(EAI_BADFLAGS);
-#else
-		pai->ai_flags &= ~(AI_ALL | AI_V4MAPPED);
-#endif
-		break;
-	}
-
-	/*
 	 * check for special cases.  (1) numeric servname is disallowed if
 	 * socktype/protocol are left unspecified. (2) servname is disallowed
 	 * for raw and other inet{,6} sockets.

==== //depot/projects/vap/lib/libc/sys/sendfile.2#3 (text+ko) ====

@@ -23,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/lib/libc/sys/sendfile.2,v 1.31 2006/11/24 11:44:19 yar Exp $
+.\" $FreeBSD: src/lib/libc/sys/sendfile.2,v 1.32 2008/02/03 15:54:40 phk Exp $
 .\"
 .Dd November 24, 2006
 .Dt SENDFILE 2
@@ -103,7 +103,9 @@
 .Pp
 The
 .Fa flags
-argument has one possible value:
+argument is a bitmap of these values:
+.Bl -item -offset indent 
+.It
 .Dv SF_NODISKIO .
 This flag causes any
 .Fn sendfile
@@ -112,6 +114,17 @@
 .Er EBUSY .
 Busy servers may benefit by transferring requests that would
 block to a separate I/O worker thread.
+.It
+.Dv SF_MNOWAIT .
+(description missing)
+.It
+.Dv SF_SYNC ,
+.Nm
+sleeps until the network stack no longer references the VM pages
+of the file, making subsequent modifications to it safe.
+Please note that this is not a guarantee that the data has actually
+been sent.
+.El
 .Pp
 When using a socket marked for non-blocking I/O,
 .Fn sendfile

==== //depot/projects/vap/lib/libpmc/pmc.3#4 (text+ko) ====

@@ -21,7 +21,7 @@
 .\" out of the use of this software, even if advised of the possibility of
 .\" such damage.
 .\"
-.\" $FreeBSD: src/lib/libpmc/pmc.3,v 1.15 2007/12/03 10:59:23 jkoshy Exp $
+.\" $FreeBSD: src/lib/libpmc/pmc.3,v 1.16 2008/02/03 06:04:38 jkoshy Exp $
 .\"
 .Dd November 25, 2007
 .Os
@@ -2212,7 +2212,7 @@
 uop will be counted.
 .It Li p4-b2b-cycles
 .Pq "TI event"
-Count back-to-back bys cycles.
+Count back-to-back bus cycles.
 Further documentation for this event is unavailable.
 .It Li p4-bnr
 .Pq "TI event"

==== //depot/projects/vap/lib/libthr/pthread.map#4 (text+ko) ====

@@ -1,5 +1,5 @@
 /*
- * $FreeBSD: src/lib/libthr/pthread.map,v 1.21 2007/12/20 04:32:28 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/pthread.map,v 1.22 2008/02/03 22:38:10 des Exp $
  */
 
 /*
@@ -395,3 +395,18 @@
 local:
 	*;
 };
+
+FBSD_1.1 {
+global:
+	pthread_mutex_islocked_np;
+local:
+	*;
+} FBSD_1.0;
+
+FBSDprivate_1.1 {
+global:
+	_pthread_mutex_islocked_np;
+local:
+	*;
+} FBSDprivate_1.0;
+

==== //depot/projects/vap/lib/libthr/thread/thr_mutex.c#4 (text+ko) ====

@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.66 2007/12/17 02:53:11 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.67 2008/02/03 22:38:10 des Exp $
  */
 
 #include "namespace.h"
@@ -87,6 +87,7 @@
 int	_pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count);
 int	_pthread_mutex_getyieldloops_np(pthread_mutex_t *mutex, int *count);
 int	__pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count);
+int	_pthread_mutex_islocked_np(pthread_mutex_t *mutex);
 
 static int	mutex_self_trylock(pthread_mutex_t);
 static int	mutex_self_lock(pthread_mutex_t,
@@ -111,6 +112,7 @@
 
 __weak_reference(__pthread_mutex_setyieldloops_np, pthread_mutex_setyieldloops_np);
 __weak_reference(_pthread_mutex_getyieldloops_np, pthread_mutex_getyieldloops_np);
+__weak_reference(_pthread_mutex_islocked_np, pthread_mutex_islocked_np);
 
 static int
 mutex_init(pthread_mutex_t *mutex,
@@ -863,3 +865,17 @@
 	(*mutex)->m_yieldloops = count;
 	return (0);
 }
+
+int
+_pthread_mutex_islocked_np(pthread_mutex_t *mutex)
+{
+	struct pthread *curthread = _get_curthread();
+	int ret;
+
+	if (__predict_false(*mutex == NULL)) {
+		ret = init_static(curthread, mutex);
+		if (__predict_false(ret))
+			return (ret);
+	}
+	return ((*mutex)->m_qe.tqe_prev != NULL);
+}

==== //depot/projects/vap/release/doc/en_US.ISO8859-1/hardware/article.sgml#4 (text+ko) ====

@@ -18,7 +18,7 @@
 
   <corpauthor>The &os; Documentation Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.328 2007/12/16 13:14:47 bmah Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.329 2008/02/03 09:43:08 brueffer Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -558,8 +558,6 @@
 
     &hwlist.pst;
 
-    &hwlist.rr232x;
-
     &hwlist.stg;
 
     &hwlist.sym;

==== //depot/projects/vap/release/doc/share/misc/dev.archlist.txt#5 (text+ko) ====

@@ -23,7 +23,7 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.102 2008/01/21 09:00:09 brueffer Exp $
+# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.103 2008/02/03 09:43:08 brueffer Exp $
 #
 
 #
@@ -103,7 +103,6 @@
 pcn	i386,pc98,ia64,amd64
 pst	i386
 rc	i386
-rr232x	i386,amd64
 ral	i386,amd64
 rue	i386,pc98,amd64
 rum	i386,amd64

==== //depot/projects/vap/sbin/mount/mount.c#3 (text+ko) ====

@@ -38,7 +38,7 @@
 static char sccsid[] = "@(#)mount.c	8.25 (Berkeley) 5/8/95";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/sbin/mount/mount.c,v 1.96 2007/06/25 05:06:54 rafan Exp $";
+  "$FreeBSD: src/sbin/mount/mount.c,v 1.97 2008/02/03 17:23:58 matteo Exp $";
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -81,7 +81,7 @@
 			int, const char *, const char *);
 void	remopt(char *, const char *);
 void	prmount(struct statfs *);
-void	putfsent(const struct statfs *);
+void	putfsent(struct statfs *);
 void	usage(void);
 char   *flags2opts(int);
 
@@ -805,7 +805,7 @@
 }
 
 void
-putfsent(const struct statfs *ent)
+putfsent(struct statfs *ent)
 {
 	struct fstab *fst;
 	char *opts;
@@ -813,6 +813,12 @@
 
 	opts = flags2opts(ent->f_flags);
 
+	if (strncmp(ent->f_mntfromname, "<below>", 7) == 0 ||
+	    strncmp(ent->f_mntfromname, "<above>", 7) == 0) {
+		strcpy(ent->f_mntfromname, (strnstr(ent->f_mntfromname, ":", 8)
+		    +1));
+	}
+
 	/*
 	 * "rw" is not a real mount option; this is why we print NULL as "rw"
 	 * if opts is still NULL here.

==== //depot/projects/vap/share/man/man4/Makefile#5 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.1 (Berkeley) 6/18/93
-# $FreeBSD: src/share/man/man4/Makefile,v 1.404 2008/01/26 20:23:25 brueffer Exp $
+# $FreeBSD: src/share/man/man4/Makefile,v 1.407 2008/02/03 16:42:22 brueffer Exp $
 
 MAN=	aac.4 \
 	acpi.4 \
@@ -282,7 +282,6 @@
 	rndtest.4 \
 	route.4 \
 	rp.4 \
-	${_rr232x.4} \
 	rue.4 \
 	rum.4 \
 	sa.4 \
@@ -464,6 +463,7 @@
 MLINKS+=gre.4 if_gre.4
 MLINKS+=hatm.4 if_hatm.4
 MLINKS+=hme.4 if_hme.4
+MLINKS+=${_hptrr.4} ${_rr232x.4}
 MLINKS+=idt.4 if_idt.4
 MLINKS+=if_bridge.4 bridge.4
 MLINKS+=ip.4 rawip.4

==== //depot/projects/vap/share/man/man4/hptiop.4#3 (text+ko) ====

@@ -22,14 +22,14 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/hptiop.4,v 1.1 2007/05/11 22:52:19 brueffer Exp $
+.\" $FreeBSD: src/share/man/man4/hptiop.4,v 1.2 2008/02/03 16:16:38 scottl Exp $
 .\"
 .Dd May 12, 2007
 .Dt HPTIOP 4
 .Os
 .Sh NAME
 .Nm hptiop
-.Nd "HighPoint RocketRAID 3xxx device driver"
+.Nd "HighPoint RocketRAID 3xxx/4xxx device driver"
 .Sh SYNOPSIS
 To compile this driver into the kernel,
 place the following line in your
@@ -49,25 +49,48 @@
 .Sh DESCRIPTION
 The
 .Nm
-driver provides support for the HighPoint RocketRAID 3xxx series
-of SATA RAID controllers.
+driver provides support for the HighPoint RocketRAID 3xxx/4xxx series
+of SAS and SATA RAID controllers.
 .Sh HARDWARE
 The
 .Nm
-driver supports the following SATA RAID controllers:
+driver supports the following SAS and SATA RAID controllers:
 .Pp
 .Bl -bullet -compact
 .It
+HighPoint RocketRAID 4320
+.It
 HighPoint RocketRAID 3220
+.It
+HighPoint RocketRAID 3320
+.It
+HighPoint RocketRAID 3410
+.It
+HighPoint RocketRAID 3520
+.It
+HighPoint RocketRAID 3510
+.It
+HighPoint RocketRAID 3511
+.It
+HighPoint RocketRAID 3521
+.It
+HighPoint RocketRAID 3522
+.It
+HighPoint RocketRAID 3540
+.It
+HighPoint RocketRAID 3120
+.It
+HighPoint RocketRAID 3122
+.It
+HighPoint RocketRAID 3020
 .El
 .Sh NOTES
 The
 .Nm
-driver only works on the i386 and amd64 platforms.
+driver has only been tested on the i386 and amd64 platforms.
 .Sh SEE ALSO
 .Xr cam 4 ,
 .Xr hptmv 4 ,
-.Xr rr232x 4
 .Sh HISTORY
 The
 .Nm

==== //depot/projects/vap/share/mk/bsd.dep.mk#3 (text+ko) ====

@@ -1,10 +1,12 @@
-# $FreeBSD: src/share/mk/bsd.dep.mk,v 1.48 2005/01/06 11:12:43 krion Exp $
+# $FreeBSD: src/share/mk/bsd.dep.mk,v 1.49 2008/02/03 11:34:55 des Exp $
 #
 # The include file <bsd.dep.mk> handles Makefile dependencies.
 #
 #
 # +++ variables +++
 #
+# CLEANDEPFILES Additional files to clean when doing cleandepend
+#
 # CTAGS		A tags file generation program [gtags]
 #
 # CTAGSFLAGS	Options for ctags(1) [not set]
@@ -182,6 +184,9 @@
 .if defined(HTML)
 	rm -rf HTML
 .endif
+.if defined(CLEANDEPFILES)
+	rm -f ${CLEANDEPFILES}
+.endif
 .endif
 .endif
 .endif

==== //depot/projects/vap/sys/amd64/amd64/identcpu.c#7 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.155 2007/12/08 21:13:01 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.157 2008/02/02 23:17:27 das Exp $");
 
 #include "opt_cpu.h"
 
@@ -223,7 +223,7 @@
 				"\020"
 				"\001SSE3"	/* SSE3 */
 				"\002<b1>"
-				"\003RSVD2"	/* "Reserved" bit 2 */
+				"\003DTES64"	/* 64-bit Debug Trace */
 				"\004MON"	/* MONITOR/MWAIT Instructions */
 				"\005DS_CPL"	/* CPL Qualified Debug Store */
 				"\006VMX"	/* Virtual Machine Extensions */
@@ -240,11 +240,11 @@
 				"\021<b16>"
 				"\022<b17>"
 				"\023DCA"	/* Direct Cache Access */
-				"\024<b19>"
-				"\025<b20>"
-				"\026<b21>"
+				"\024SSE4.1"
+				"\025SSE4.2"
+				"\026x2APIC"	/* xAPIC Extensions */
 				"\027<b22>"
-				"\030<b23>"
+				"\030POPCNT"
 				"\031<b24>"
 				"\032<b25>"
 				"\033<b26>"

==== //depot/projects/vap/sys/amd64/conf/GENERIC#7 (text+ko) ====

@@ -16,7 +16,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first
 # in NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.491 2008/01/07 21:40:09 jhb Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.492 2008/02/03 07:07:30 scottl Exp $
 
 cpu		HAMMER
 ident		GENERIC
@@ -133,7 +133,6 @@
 device		dpt		# DPT Smartcache III, IV - See NOTES for options
 device		hptmv		# Highpoint RocketRAID 182x
 device		hptrr		# Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
-device		rr232x		# Highpoint RocketRAID 232x
 device		iir		# Intel Integrated RAID
 device		ips		# IBM (Adaptec) ServeRAID
 device		mly		# Mylex AcceleRAID/eXtremeRAID

==== //depot/projects/vap/sys/amd64/conf/NOTES#7 (text+ko) ====

@@ -4,7 +4,7 @@
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.74 2007/12/28 22:50:04 rpaulo Exp $
+# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.75 2008/02/03 07:07:30 scottl Exp $
 #
 
 #
@@ -381,11 +381,6 @@
 device		hptrr
 
 #
-# Highpoint RocketRAID 232x.  This is software RAID but with hardware
-# acceleration assistance for RAID_5.
-device		rr232x
-
-#
 # Highpoint RocketRaid 3xxx series SATA RAID
 device		hptiop
 

==== //depot/projects/vap/sys/amd64/include/specialreg.h#6 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)specialreg.h	7.1 (Berkeley) 5/9/91
- * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.41 2007/12/08 21:13:01 alc Exp $
+ * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.43 2008/02/02 23:17:27 das Exp $
  */
 
 #ifndef _MACHINE_SPECIALREG_H_
@@ -113,6 +113,7 @@
 #define	CPUID_PBE	0x80000000
 
 #define	CPUID2_SSE3	0x00000001
+#define	CPUID2_DTES64	0x00000004
 #define	CPUID2_MON	0x00000008
 #define	CPUID2_DS_CPL	0x00000010
 #define	CPUID2_VMX	0x00000020
@@ -125,6 +126,10 @@
 #define	CPUID2_XTPR	0x00004000
 #define	CPUID2_PDCM	0x00008000
 #define	CPUID2_DCA	0x00040000
+#define	CPUID2_SSE41	0x00080000
+#define	CPUID2_SSE42	0x00100000
+#define	CPUID2_X2APIC	0x00200000
+#define	CPUID2_POPCNT	0x00800000
 
 /*
  * Important bits in the AMD extended cpuid flags

==== //depot/projects/vap/sys/conf/files.amd64#7 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.amd64,v 1.117 2007/12/15 00:56:15 scottl Exp $
+# $FreeBSD: src/sys/conf/files.amd64,v 1.118 2008/02/03 07:07:29 scottl Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -77,11 +77,6 @@
 	compile-with	"uudecode < $S/dev/hptrr/amd64-elf.hptrr_lib.o.uu" \
 	no-implicit-rule
 #
-rr232x_lib.o		optional	rr232x				\
-	dependency	"$S/dev/rr232x/amd64-elf.rr232x_lib.o.uu"	\
-	compile-with	"uudecode < $S/dev/rr232x/amd64-elf.rr232x_lib.o.uu" \
-	no-implicit-rule
-#
 amd64/acpica/OsdEnvironment.c	optional	acpi
 amd64/acpica/acpi_machdep.c	optional	acpi
 amd64/acpica/acpi_wakeup.c	optional	acpi
@@ -199,9 +194,6 @@
 dev/nfe/if_nfe.c		optional	nfe pci
 dev/nve/if_nve.c		optional	nve pci
 dev/nvram/nvram.c		optional	nvram isa
-dev/rr232x/os_bsd.c		optional	rr232x
-dev/rr232x/osm_bsd.c		optional	rr232x
-dev/rr232x/rr232x_config.c	optional	rr232x
 dev/sio/sio.c			optional	sio
 dev/sio/sio_isa.c		optional	sio isa
 dev/sio/sio_pccard.c		optional	sio pccard

==== //depot/projects/vap/sys/conf/files.i386#7 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.i386,v 1.591 2007/12/25 22:41:29 wkoszek Exp $
+# $FreeBSD: src/sys/conf/files.i386,v 1.592 2008/02/03 07:07:29 scottl Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -82,11 +82,6 @@
 	compile-with	"uudecode < $S/dev/hptrr/i386-elf.hptrr_lib.o.uu" \
 	no-implicit-rule
 #
-rr232x_lib.o			optional	rr232x			\
-	dependency	"$S/dev/rr232x/i386-elf.rr232x_lib.o.uu"	\
-	compile-with	"uudecode < $S/dev/rr232x/i386-elf.rr232x_lib.o.uu" \
-	no-implicit-rule
-#
 compat/linprocfs/linprocfs.c	optional linprocfs
 compat/linsysfs/linsysfs.c	optional linsysfs
 compat/linux/linux_emul.c	optional compat_linux
@@ -231,9 +226,6 @@
 dev/nvram/nvram.c		optional nvram isa
 dev/pcf/pcf_isa.c		optional pcf
 dev/random/nehemiah.c		optional random
-dev/rr232x/os_bsd.c		optional rr232x
-dev/rr232x/osm_bsd.c		optional rr232x
-dev/rr232x/rr232x_config.c	optional rr232x
 dev/sbni/if_sbni.c		optional sbni
 dev/sbni/if_sbni_isa.c		optional sbni isa
 dev/sbni/if_sbni_pci.c		optional sbni pci

==== //depot/projects/vap/sys/conf/kern.pre.mk#6 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.92 2007/08/08 19:12:06 marcel Exp $
+# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.97 2008/02/02 19:55:28 imp Exp $
 
 # Part of a unified Makefile for building kernels.  This part contains all
 # of the definitions that need to be before %BEFORE_DEPEND.
@@ -12,6 +12,8 @@
 KERNEL_KO?=	kernel
 KERNEL?=	kernel
 KODIR?=		/boot/${KERNEL}
+LDSCRIPT_NAME?=	ldscript.$M
+LDSCRIPT?=	$S/conf/${LDSCRIPT_NAME}
 
 M=	${MACHINE_ARCH}
 
@@ -87,12 +89,8 @@
 CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT}
 CFLAGS+= --param inline-unit-growth=100
 CFLAGS+= --param large-function-growth=1000
-.if ${MACHINE_ARCH} == "amd64" || ${MACHINE} == "i386" || \
-    ${MACHINE_ARCH} == "ia64" || ${MACHINE_ARCH} == "powerpc" || \
-    ${MACHINE_ARCH} == "sparc64"
 WERROR?= -Werror
 .endif
-.endif
 
 # XXX LOCORE means "don't declare C stuff" not "for locore.s".
 ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS}
@@ -134,12 +132,12 @@
 SYSTEM_OBJS= locore.o ${MDOBJS} ${OBJS}
 SYSTEM_OBJS+= ${SYSTEM_CFILES:.c=.o}
 SYSTEM_OBJS+= hack.So
-SYSTEM_LD= @${LD} -Bdynamic -T $S/conf/ldscript.$M \
+SYSTEM_LD= @${LD} -Bdynamic -T ${LDSCRIPT} \
 	-warn-common -export-dynamic -dynamic-linker /red/herring \
 	-o ${.TARGET} -X ${SYSTEM_OBJS} vers.o
 SYSTEM_LD_TAIL= @${OBJCOPY} --strip-symbol gcc2_compiled. ${.TARGET} ; \
 	${SIZE} ${.TARGET} ; chmod 755 ${.TARGET}
-SYSTEM_DEP+= $S/conf/ldscript.$M
+SYSTEM_DEP+= ${LDSCRIPT}
 
 # MKMODULESENV is set here so that port makefiles can augment
 # them.

==== //depot/projects/vap/sys/dev/hptiop/hptiop.c#3 (text+ko) ====

@@ -1,6 +1,7 @@
 /*
- * HighPoint RR3xxx RAID Driver for FreeBSD
- * Copyright (C) 2005-2007 HighPoint Technologies, Inc. All Rights Reserved.
+ * HighPoint RR3xxx/4xxx RAID Driver for FreeBSD
+ * Copyright (C) 2007-2008 HighPoint Technologies, Inc. All Rights Reserved.
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
@@ -22,9 +23,9 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
- 
+
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/hptiop/hptiop.c,v 1.2 2007/06/17 05:55:50 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/hptiop/hptiop.c,v 1.3 2008/02/03 16:07:12 scottl Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -89,35 +90,65 @@
 
 #include <dev/hptiop/hptiop.h>
 
-static struct hpt_iop_hba * g_hba[4];
-static int  iop_count = 0;
 static char driver_name[] = "hptiop";
-static char driver_version[] = "v1.2 (041307)";
-static int  osm_max_targets = 32;
+static char driver_version[] = "v1.3 (010208)";
 
 static devclass_t hptiop_devclass;
 
-static void os_request_callback(struct hpt_iop_hba * hba, u_int32_t req);
-static void os_message_callback(struct hpt_iop_hba * hba, u_int32_t msg);
-static int  hptiop_do_ioctl(struct hpt_iop_hba * hba, struct hpt_iop_ioctl_param * pParams);
+static int hptiop_send_sync_msg(struct hpt_iop_hba *hba,
+				u_int32_t msg, u_int32_t millisec);
+static void hptiop_request_callback_itl(struct hpt_iop_hba *hba,
+							u_int32_t req);
+static void hptiop_request_callback_mv(struct hpt_iop_hba *hba, u_int64_t req);
+static void hptiop_os_message_callback(struct hpt_iop_hba *hba, u_int32_t msg);
+static int  hptiop_do_ioctl_itl(struct hpt_iop_hba *hba,
+				struct hpt_iop_ioctl_param *pParams);
+static int  hptiop_do_ioctl_mv(struct hpt_iop_hba *hba,
+				struct hpt_iop_ioctl_param *pParams);
 static void hptiop_bus_scan_cb(struct cam_periph *periph, union ccb *ccb);
-static int  hptiop_rescan_bus(struct hpt_iop_hba * hba);
-static int  hptiop_post_ioctl_command(struct hpt_iop_hba * hba,
-		struct hpt_iop_request_ioctl_command * req, struct hpt_iop_ioctl_param * pParams);
-static int  os_query_remove_device(struct hpt_iop_hba * hba, int target_id);
+static int  hptiop_rescan_bus(struct hpt_iop_hba *hba);
+static int hptiop_alloc_pci_res_itl(struct hpt_iop_hba *hba);
+static int hptiop_alloc_pci_res_mv(struct hpt_iop_hba *hba);
+static int hptiop_get_config_itl(struct hpt_iop_hba *hba,
+				struct hpt_iop_request_get_config *config);
+static int hptiop_get_config_mv(struct hpt_iop_hba *hba,
+				struct hpt_iop_request_get_config *config);
+static int hptiop_set_config_itl(struct hpt_iop_hba *hba,
+				struct hpt_iop_request_set_config *config);
+static int hptiop_set_config_mv(struct hpt_iop_hba *hba,
+				struct hpt_iop_request_set_config *config);
+static int hptiop_internal_memalloc_mv(struct hpt_iop_hba *hba);
+static int hptiop_internal_memfree_mv(struct hpt_iop_hba *hba);
+static int  hptiop_post_ioctl_command_itl(struct hpt_iop_hba *hba,
+			u_int32_t req32, struct hpt_iop_ioctl_param *pParams);
+static int  hptiop_post_ioctl_command_mv(struct hpt_iop_hba *hba,
+				struct hpt_iop_request_ioctl_command *req,
+				struct hpt_iop_ioctl_param *pParams);
+static void hptiop_post_req_itl(struct hpt_iop_hba *hba,
+				struct hpt_iop_srb *srb,
+				bus_dma_segment_t *segs, int nsegs);
+static void hptiop_post_req_mv(struct hpt_iop_hba *hba,
+				struct hpt_iop_srb *srb,
+				bus_dma_segment_t *segs, int nsegs);
+static void hptiop_post_msg_itl(struct hpt_iop_hba *hba, u_int32_t msg);
+static void hptiop_post_msg_mv(struct hpt_iop_hba *hba, u_int32_t msg);
+static void hptiop_enable_intr_itl(struct hpt_iop_hba *hba);
+static void hptiop_enable_intr_mv(struct hpt_iop_hba *hba);
+static void hptiop_disable_intr_itl(struct hpt_iop_hba *hba);
+static void hptiop_disable_intr_mv(struct hpt_iop_hba *hba);
+static void hptiop_free_srb(struct hpt_iop_hba *hba, struct hpt_iop_srb *srb);
+static int  hptiop_os_query_remove_device(struct hpt_iop_hba *hba, int tid);
 static int  hptiop_probe(device_t dev);
 static int  hptiop_attach(device_t dev);
 static int  hptiop_detach(device_t dev);
 static int  hptiop_shutdown(device_t dev);
 static void hptiop_action(struct cam_sim *sim, union ccb *ccb);
 static void hptiop_poll(struct cam_sim *sim);
-static void hptiop_async(void * callback_arg, u_int32_t code,
-					struct cam_path * path, void * arg);
+static void hptiop_async(void *callback_arg, u_int32_t code,
+					struct cam_path *path, void *arg);
 static void hptiop_pci_intr(void *arg);
-static void hptiop_release_resource(struct hpt_iop_hba * hba);
-static int  hptiop_reset_adapter(struct hpt_iop_hba * hba);
-static void hptiop_enable_interrupts(struct hpt_iop_hba * hba);
-static void hptiop_disable_interrupts(struct hpt_iop_hba * hba);
+static void hptiop_release_resource(struct hpt_iop_hba *hba);
+static int  hptiop_reset_adapter(struct hpt_iop_hba *hba);
 
 static d_open_t hptiop_open;
 static d_close_t hptiop_close;
@@ -147,13 +178,27 @@
 #define hba_from_dev(dev) ((struct hpt_iop_hba *)(dev)->si_drv1)
 #else
 #define hba_from_dev(dev) \
-		((struct hpt_iop_hba *)devclass_get_softc(hptiop_devclass, minor(dev)))
+	((struct hpt_iop_hba *)devclass_get_softc(hptiop_devclass, minor(dev)))
 #endif
 
+#define BUS_SPACE_WRT4_ITL(offset, value) bus_space_write_4(hba->bar0t,\
+		hba->bar0h, offsetof(struct hpt_iopmu_itl, offset), (value))
+#define BUS_SPACE_RD4_ITL(offset) bus_space_read_4(hba->bar0t,\
+		hba->bar0h, offsetof(struct hpt_iopmu_itl, offset))
+
+#define BUS_SPACE_WRT4_MV0(offset, value) bus_space_write_4(hba->bar0t,\
+		hba->bar0h, offsetof(struct hpt_iopmv_regs, offset), value)
+#define BUS_SPACE_RD4_MV0(offset) bus_space_read_4(hba->bar0t,\
+		hba->bar0h, offsetof(struct hpt_iopmv_regs, offset))
+#define BUS_SPACE_WRT4_MV2(offset, value) bus_space_write_4(hba->bar2t,\
+		hba->bar2h, offsetof(struct hpt_iopmu_mv, offset), value)
+#define BUS_SPACE_RD4_MV2(offset) bus_space_read_4(hba->bar2t,\
+		hba->bar2h, offsetof(struct hpt_iopmu_mv, offset))
+
 static int hptiop_open(ioctl_dev_t dev, int flags,
 					int devtype, ioctl_thread_t proc)
 {
-	struct hpt_iop_hba * hba = hba_from_dev(dev);
+	struct hpt_iop_hba *hba = hba_from_dev(dev);
 
 	if (hba==NULL)
 		return ENXIO;
@@ -166,7 +211,7 @@
 static int hptiop_close(ioctl_dev_t dev, int flags,
 					int devtype, ioctl_thread_t proc)
 {
-	struct hpt_iop_hba * hba = hba_from_dev(dev);
+	struct hpt_iop_hba *hba = hba_from_dev(dev);
 	hba->flag &= ~(u_int32_t)HPT_IOCTL_FLAG_OPEN;
 	return 0;
 }
@@ -175,7 +220,7 @@
 					int flags, ioctl_thread_t proc)
 {
 	int ret = EFAULT;
-	struct hpt_iop_hba * hba = hba_from_dev(dev);
+	struct hpt_iop_hba *hba = hba_from_dev(dev);
 
 #if (__FreeBSD_version >= 500000)
 	mtx_lock(&Giant);
@@ -183,7 +228,8 @@
 
 	switch (cmd) {
 	case HPT_DO_IOCONTROL:
-		ret = hptiop_do_ioctl(hba, (struct hpt_iop_ioctl_param *)data);
+		ret = hba->ops->do_ioctl(hba,
+				(struct hpt_iop_ioctl_param *)data);
 		break;
 	case HPT_SCAN_BUS:
 		ret = hptiop_rescan_bus(hba);
@@ -197,103 +243,422 @@
 	return ret;
 }
 
-static __inline void * iop_get_inbound_request(struct hpt_iopmu * iop)
+static u_int64_t hptiop_mv_outbound_read(struct hpt_iop_hba *hba)
 {
-	u_int32_t m = readl(&iop->inbound_queue);
-	return (m == 0xFFFFFFFF)? 0 : ((char *)iop + m);
+	u_int64_t p;
+	u_int32_t outbound_tail = BUS_SPACE_RD4_MV2(outbound_tail);
+	u_int32_t outbound_head = BUS_SPACE_RD4_MV2(outbound_head);
+
+	if (outbound_tail != outbound_head) {
+		bus_space_read_region_4(hba->bar2t, hba->bar2h,
+			offsetof(struct hpt_iopmu_mv,
+				outbound_q[outbound_tail]),
+			(u_int32_t *)&p, 2);
+
+		outbound_tail++;
+
+		if (outbound_tail == MVIOP_QUEUE_LEN)

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list