From owner-p4-projects@FreeBSD.ORG Mon Feb 4 04:34:52 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3229916A420; Mon, 4 Feb 2008 04:34:52 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E2BC516A41B for ; Mon, 4 Feb 2008 04:34:51 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B5E0513C4F3 for ; Mon, 4 Feb 2008 04:34:51 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m144Ypwh006835 for ; Mon, 4 Feb 2008 04:34:51 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m144YolO006832 for perforce@freebsd.org; Mon, 4 Feb 2008 04:34:50 GMT (envelope-from sam@freebsd.org) Date: Mon, 4 Feb 2008 04:34:50 GMT Message-Id: <200802040434.m144YolO006832@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 134760 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Feb 2008 04:34:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=134760 Change 134760 by sam@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 -__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 @@ -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 @@ The &os; Documentation Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.328 2007/12/16 13:14:47 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.329 2008/02/03 09:43:08 brueffer Exp $ 2000 @@ -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 @@ -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, "", 7) == 0 || + strncmp(ent->f_mntfromname, "", 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 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 -__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" - "\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" "\022" "\023DCA" /* Direct Cache Access */ - "\024" - "\025" - "\026" + "\024SSE4.1" + "\025SSE4.2" + "\026x2APIC" /* xAPIC Extensions */ "\027" - "\030" + "\030POPCNT" "\031" "\032" "\033" ==== //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 -__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 #include @@ -89,35 +90,65 @@ #include -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) <<<