Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 May 2003 13:17:22 -0700 (PDT)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 31338 for review
Message-ID:  <200305162017.h4GKHMVd080952@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=31338

Change 31338 by peter@peter_daintree on 2003/05/16 13:16:30

	IFC @31334

Affected files ...

.. //depot/projects/hammer/Makefile.inc1#15 integrate
.. //depot/projects/hammer/lib/libc/gen/opendir.c#3 integrate
.. //depot/projects/hammer/lib/libthr/thread/thr_cancel.c#2 integrate
.. //depot/projects/hammer/lib/libthr/thread/thr_cond.c#2 integrate
.. //depot/projects/hammer/release/alpha/dokern.sh#7 integrate
.. //depot/projects/hammer/release/scripts/doFS.sh#9 integrate
.. //depot/projects/hammer/sbin/devd/parse.y#3 integrate
.. //depot/projects/hammer/share/man/man4/kame.4#2 integrate
.. //depot/projects/hammer/share/man/man9/CTASSERT.9#1 branch
.. //depot/projects/hammer/share/man/man9/Makefile#10 integrate
.. //depot/projects/hammer/share/man/man9/VFS_SET.9#3 integrate
.. //depot/projects/hammer/share/man/man9/rman.9#1 branch
.. //depot/projects/hammer/share/man/man9/sleep.9#3 integrate
.. //depot/projects/hammer/share/syscons/keymaps/INDEX.keymaps#3 integrate
.. //depot/projects/hammer/share/syscons/keymaps/Makefile#4 integrate
.. //depot/projects/hammer/share/syscons/keymaps/be.iso.kbd#2 integrate
.. //depot/projects/hammer/share/syscons/keymaps/fr.dvorak.kbd#1 branch
.. //depot/projects/hammer/share/syscons/keymaps/norwegian.dvorak.kbd#2 integrate
.. //depot/projects/hammer/sys/boot/forth/loader.conf#5 integrate
.. //depot/projects/hammer/sys/cam/scsi/scsi_da.c#14 integrate
.. //depot/projects/hammer/sys/conf/NOTES#17 integrate
.. //depot/projects/hammer/sys/conf/files.amd64#14 integrate
.. //depot/projects/hammer/sys/conf/ldscript.ia64#5 integrate
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/Makefile#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx.h#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_bstream.c#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_bstream.h#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_context.c#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_context.h#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_env.c#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_env.h#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_scoreboard.c#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_scoreboard.h#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_self.c#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_self.h#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_self_context.s#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_step.c#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_str.c#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_str.h#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_swap.c#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_swap.h#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_trace.c#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_trace.h#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_ttrace.c#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_ttrace.h#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_uinfo.c#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_uinfo.h#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_utable.c#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_utable.h#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/test/Makefile#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/test/dump_context.c#1 branch
.. //depot/projects/hammer/sys/contrib/ia64/libuwx/test/dumpmyself.c#1 branch
.. //depot/projects/hammer/sys/dev/fxp/if_fxp.c#15 integrate
.. //depot/projects/hammer/sys/dev/gem/if_gem.c#5 integrate
.. //depot/projects/hammer/sys/dev/gem/if_gemvar.h#3 integrate
.. //depot/projects/hammer/sys/dev/md/md.c#12 integrate
.. //depot/projects/hammer/sys/dev/sio/sio_isa.c#3 integrate
.. //depot/projects/hammer/sys/dev/usb/umass.c#7 integrate
.. //depot/projects/hammer/sys/i386/conf/NOTES#15 integrate
.. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#7 integrate
.. //depot/projects/hammer/sys/i386/i386/vm_machdep.c#8 integrate
.. //depot/projects/hammer/sys/ia64/ia64/context.s#1 branch
.. //depot/projects/hammer/sys/ia64/ia64/pmap.c#10 integrate
.. //depot/projects/hammer/sys/ia64/ia64/syscall.s#1 branch
.. //depot/projects/hammer/sys/ia64/include/_regset.h#1 branch
.. //depot/projects/hammer/sys/kern/kern_descrip.c#9 integrate
.. //depot/projects/hammer/sys/kern/kern_sig.c#15 integrate
.. //depot/projects/hammer/sys/kern/subr_mbuf.c#10 integrate
.. //depot/projects/hammer/sys/kern/vfs_subr.c#17 integrate
.. //depot/projects/hammer/sys/netgraph/ng_bridge.c#4 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_bio.c#4 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_vnops.c#9 integrate
.. //depot/projects/hammer/sys/pc98/conf/NOTES#5 integrate
.. //depot/projects/hammer/sys/pci/if_dc.c#11 integrate
.. //depot/projects/hammer/sys/ufs/ufs/ufs_extattr.c#7 integrate
.. //depot/projects/hammer/tools/tools/tinderbox/Makefile#2 integrate
.. //depot/projects/hammer/tools/tools/tinderbox/tbmaster.1#1 branch
.. //depot/projects/hammer/tools/tools/tinderbox/tbmaster.pl#6 integrate
.. //depot/projects/hammer/tools/tools/tinderbox/tinderbox.1#1 branch
.. //depot/projects/hammer/tools/tools/tinderbox/tinderbox.pl#3 integrate
.. //depot/projects/hammer/tools/tools/tinderbox/www/Makefile#1 branch
.. //depot/projects/hammer/tools/tools/tinderbox/www/index.cgi#1 branch
.. //depot/projects/hammer/tools/tools/tinderbox/www/tb.css#1 branch
.. //depot/projects/hammer/tools/tools/tinderbox/www/valid-css.gif#1 branch
.. //depot/projects/hammer/tools/tools/tinderbox/www/valid-xhtml10.png#1 branch
.. //depot/projects/hammer/usr.bin/netstat/mbuf.c#4 integrate
.. //depot/projects/hammer/usr.sbin/rpc.lockd/kern.c#3 integrate

Differences ...

==== //depot/projects/hammer/Makefile.inc1#15 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile.inc1,v 1.356 2003/05/05 12:54:26 bde Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.357 2003/05/15 17:59:32 ru Exp $
 #
 # Make command line options:
 #	-DNO_KERBEROS Do not build Heimdal (Kerberos 5)
@@ -120,7 +120,8 @@
 
 MAKEOBJDIRPREFIX?=	/usr/obj
 .if !defined(OSRELDATE)
-OSRELDATE!=	sysctl -n kern.osreldate
+OSRELDATE!=	awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
+		/usr/include/osreldate.h
 .endif
 TARGET_ARCH?=	${MACHINE_ARCH}
 .if ${TARGET_ARCH} == ${MACHINE_ARCH}

==== //depot/projects/hammer/lib/libc/gen/opendir.c#3 (text+ko) ====

@@ -35,7 +35,7 @@
 static char sccsid[] = "@(#)opendir.c	8.8 (Berkeley) 5/1/95";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/opendir.c,v 1.19 2003/01/04 00:18:50 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/opendir.c,v 1.20 2003/05/16 02:15:07 tjr Exp $");
 
 #include "namespace.h"
 #include <sys/param.h>
@@ -118,7 +118,7 @@
 
 		if (_fstatfs(fd, &sfb) < 0)
 			goto fail;
-		unionstack = !strcmp(sfb.f_fstypename, "union")
+		unionstack = !strcmp(sfb.f_fstypename, "unionfs")
 		    || (sfb.f_flags & MNT_UNION);
 	} else {
 		unionstack = 0;

==== //depot/projects/hammer/lib/libthr/thread/thr_cancel.c#2 (text+ko) ====

@@ -1,11 +1,16 @@
 /*
  * David Leonard <d@openbsd.org>, 1999. Public domain.
- * $FreeBSD: src/lib/libthr/thread/thr_cancel.c,v 1.2 2003/04/02 03:05:39 jeff Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_cancel.c,v 1.3 2003/05/15 17:56:18 mtm Exp $
  */
 #include <sys/errno.h>
 #include <pthread.h>
 #include "thr_private.h"
 
+/*
+ * Static prototypes
+ */
+static void	testcancel(void);
+
 __weak_reference(_pthread_cancel, pthread_cancel);
 __weak_reference(_pthread_setcancelstate, pthread_setcancelstate);
 __weak_reference(_pthread_setcanceltype, pthread_setcanceltype);
@@ -16,85 +21,102 @@
 {
 	int ret;
 
-	if ((ret = _find_thread(pthread)) != 0) {
-		/* NOTHING */
-	} else if (pthread->state == PS_DEAD || pthread->state == PS_DEADLOCK
+	if ((ret = _find_thread(pthread)) != 0)
+		/* The thread is not on the list of active threads */
+		goto out;
+
+	_thread_critical_enter(pthread);
+
+	if (pthread->state == PS_DEAD || pthread->state == PS_DEADLOCK
 	    || (pthread->flags & PTHREAD_EXITING) != 0) {
+		/*
+		 * The thread is in the process of (or has already) exited
+		 * or is deadlocked.
+		 */
+		_thread_critical_exit(pthread);
 		ret = 0;
-	} else {
-		GIANT_LOCK(curthread);
+		goto out;
+	}
+
+	/*
+	 * The thread is on the active thread list and is not in the process
+	 * of exiting.
+	 */
+
+	if (((pthread->cancelflags & PTHREAD_CANCEL_DISABLE) != 0) ||
+	    (((pthread->cancelflags & PTHREAD_CANCEL_ASYNCHRONOUS) == 0) &&
+	    ((pthread->cancelflags & PTHREAD_AT_CANCEL_POINT) == 0)))
+		/* Just mark it for cancellation: */
+		pthread->cancelflags |= PTHREAD_CANCELLING;
+	else {
+		/*
+		 * Check if we need to kick it back into the
+		 * run queue:
+		 */
+		switch (pthread->state) {
+		case PS_RUNNING:
+			/* No need to resume: */
+			pthread->cancelflags |= PTHREAD_CANCELLING;
+			break;
 
-		if (((pthread->cancelflags & PTHREAD_CANCEL_DISABLE) != 0) ||
-		    (((pthread->cancelflags & PTHREAD_CANCEL_ASYNCHRONOUS) == 0) &&
-		    ((pthread->cancelflags & PTHREAD_AT_CANCEL_POINT) == 0)))
-			/* Just mark it for cancellation: */
+		case PS_SLEEP_WAIT:
+		case PS_WAIT_WAIT:
 			pthread->cancelflags |= PTHREAD_CANCELLING;
-		else {
+			PTHREAD_NEW_STATE(pthread, PS_RUNNING);
+			break;
+
+		case PS_JOIN:
 			/*
-			 * Check if we need to kick it back into the
-			 * run queue:
+			 * Disconnect the thread from the joinee:
 			 */
-			switch (pthread->state) {
-			case PS_RUNNING:
-				/* No need to resume: */
-				pthread->cancelflags |= PTHREAD_CANCELLING;
-				break;
+			if (pthread->join_status.thread != NULL) {
+				pthread->join_status.thread->joiner
+				    = NULL;
+				pthread->join_status.thread = NULL;
+			}
+			pthread->cancelflags |= PTHREAD_CANCELLING;
+			PTHREAD_NEW_STATE(pthread, PS_RUNNING);
+			break;
 
-			case PS_SLEEP_WAIT:
-			case PS_WAIT_WAIT:
-				pthread->cancelflags |= PTHREAD_CANCELLING;
-				PTHREAD_NEW_STATE(pthread, PS_RUNNING);
-				break;
+		case PS_MUTEX_WAIT:
+		case PS_COND_WAIT:
+			/*
+			 * Threads in these states may be in queues.
+			 * In order to preserve queue integrity, the
+			 * cancelled thread must remove itself from the
+			 * queue.  When the thread resumes, it will
+			 * remove itself from the queue and call the
+			 * cancellation routine.
+			 */
+			pthread->cancelflags |= PTHREAD_CANCELLING;
+			PTHREAD_NEW_STATE(pthread, PS_RUNNING);
+			break;
 
-			case PS_JOIN:
-				/*
-				 * Disconnect the thread from the joinee:
-				 */
-				if (pthread->join_status.thread != NULL) {
-					pthread->join_status.thread->joiner
-					    = NULL;
-					pthread->join_status.thread = NULL;
-				}
-				pthread->cancelflags |= PTHREAD_CANCELLING;
-				PTHREAD_NEW_STATE(pthread, PS_RUNNING);
-				break;
-
-			case PS_MUTEX_WAIT:
-			case PS_COND_WAIT:
-				/*
-				 * Threads in these states may be in queues.
-				 * In order to preserve queue integrity, the
-				 * cancelled thread must remove itself from the
-				 * queue.  When the thread resumes, it will
-				 * remove itself from the queue and call the
-				 * cancellation routine.
-				 */
-				pthread->cancelflags |= PTHREAD_CANCELLING;
-				PTHREAD_NEW_STATE(pthread, PS_RUNNING);
-				break;
-
-			case PS_DEAD:
-			case PS_DEADLOCK:
-			case PS_STATE_MAX:
-				/* Ignore - only here to silence -Wall: */
-				break;
-			}
+		case PS_DEAD:
+		case PS_DEADLOCK:
+		case PS_STATE_MAX:
+			/* Ignore - only here to silence -Wall: */
+			break;
 		}
+	}
 
-		/* Unprotect the scheduling queues: */
-		GIANT_UNLOCK(curthread);
+	/* Unprotect the scheduling queues: */
+	_thread_critical_exit(pthread);
 
-		ret = 0;
-	}
+	ret = 0;
+out:
 	return (ret);
 }
 
 int
 _pthread_setcancelstate(int state, int *oldstate)
 {
-	int ostate;
+	int ostate, ret;
+
+	ret = 0;
+
+	_thread_critical_enter(curthread);
 
-	GIANT_LOCK(curthread);
 	ostate = curthread->cancelflags & PTHREAD_CANCEL_DISABLE;
 
 	switch (state) {
@@ -102,23 +124,21 @@
 		if (oldstate != NULL)
 			*oldstate = ostate;
 		curthread->cancelflags &= ~PTHREAD_CANCEL_DISABLE;
-		if ((curthread->cancelflags & PTHREAD_CANCEL_ASYNCHRONOUS) == 0) 
+		if ((curthread->cancelflags & PTHREAD_CANCEL_ASYNCHRONOUS) == 0)
 			break;
-		GIANT_UNLOCK(curthread);
-		pthread_testcancel();
+		testcancel();
 		break;
 	case PTHREAD_CANCEL_DISABLE:
 		if (oldstate != NULL)
 			*oldstate = ostate;
 		curthread->cancelflags |= PTHREAD_CANCEL_DISABLE;
-		GIANT_UNLOCK(curthread);
 		break;
 	default:
-		GIANT_UNLOCK(curthread);
-		return (EINVAL);
+		ret = EINVAL;
 	}
 
-	return (0);
+	_thread_critical_exit(curthread);
+	return (ret);
 }
 
 int
@@ -126,37 +146,43 @@
 {
 	int otype;
 
-	GIANT_LOCK(curthread);
+	_thread_critical_enter(curthread);
 	otype = curthread->cancelflags & PTHREAD_CANCEL_ASYNCHRONOUS;
 	switch (type) {
 	case PTHREAD_CANCEL_ASYNCHRONOUS:
 		if (oldtype != NULL)
 			*oldtype = otype;
 		curthread->cancelflags |= PTHREAD_CANCEL_ASYNCHRONOUS;
-		GIANT_UNLOCK(curthread);
-		pthread_testcancel();
+		testcancel();
 		break;
 	case PTHREAD_CANCEL_DEFERRED:
 		if (oldtype != NULL)
 			*oldtype = otype;
 		curthread->cancelflags &= ~PTHREAD_CANCEL_ASYNCHRONOUS;
-		GIANT_UNLOCK(curthread);
 		break;
 	default:
-		GIANT_UNLOCK(curthread);
 		return (EINVAL);
 	}
 
+	_thread_critical_exit(curthread);
 	return (0);
 }
 
-/*
- * XXXTHR Make an internal locked version.
- */
 void
 _pthread_testcancel(void)
 {
-	GIANT_LOCK(curthread);
+	_thread_critical_enter(curthread);
+	testcancel();
+	_thread_critical_exit(curthread);
+}
+
+static void
+testcancel()
+{
+	/*
+	 * This pthread should already be locked by the caller.
+	 */
+
 	if (((curthread->cancelflags & PTHREAD_CANCEL_DISABLE) == 0) &&
 	    ((curthread->cancelflags & PTHREAD_CANCELLING) != 0) &&
 	    ((curthread->flags & PTHREAD_EXITING) == 0)) {
@@ -166,30 +192,28 @@
 		 * to be cancelled again.
 		 */
 		curthread->cancelflags &= ~PTHREAD_CANCELLING;
-		GIANT_UNLOCK(curthread);
+		_thread_critical_exit(curthread);
 		_thread_exit_cleanup();
 		pthread_exit(PTHREAD_CANCELED);
 		PANIC("cancel");
 	}
-	GIANT_UNLOCK(curthread);
 }
 
 void
 _thread_enter_cancellation_point(void)
 {
-	pthread_testcancel();
-
-	GIANT_LOCK(curthread);
+	_thread_critical_enter(curthread);
+	testcancel();
 	curthread->cancelflags |= PTHREAD_AT_CANCEL_POINT;
-	GIANT_UNLOCK(curthread);
+	_thread_critical_exit(curthread);
 }
 
 void
 _thread_leave_cancellation_point(void)
 {
-	GIANT_LOCK(curthread);
+	_thread_critical_enter(curthread);
 	curthread->cancelflags &= ~PTHREAD_AT_CANCEL_POINT;
-	GIANT_UNLOCK(curthread);
+	testcancel();
+	_thread_critical_exit(curthread);
 
-	pthread_testcancel();
 }

==== //depot/projects/hammer/lib/libthr/thread/thr_cond.c#2 (text+ko) ====

@@ -29,7 +29,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_cond.c,v 1.3 2003/04/02 03:05:39 jeff Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_cond.c,v 1.4 2003/05/15 18:17:13 mtm Exp $
  */
 #include <stdlib.h>
 #include <errno.h>
@@ -43,6 +43,8 @@
 static pthread_t	cond_queue_deq(pthread_cond_t);
 static void		cond_queue_remove(pthread_cond_t, pthread_t);
 static void		cond_queue_enq(pthread_cond_t, pthread_t);
+static int		cond_wait_common(pthread_cond_t *,
+			    pthread_mutex_t *, const struct timespec *);
 
 __weak_reference(_pthread_cond_init, pthread_cond_init);
 __weak_reference(_pthread_cond_destroy, pthread_cond_destroy);
@@ -161,13 +163,8 @@
 _pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
 {
 	int rval;
-	struct timespec abstime = { 0, 0 };
 
-	/*
-	 * XXXTHR This is a hack.  Make a pthread_cond_common function that
-	 * accepts NULL so we don't change posix semantics for timedwait.
-	 */
-	rval = pthread_cond_timedwait(cond, mutex, &abstime);
+	rval = cond_wait_common(cond, mutex, NULL);
 
 	/* This should never happen. */
 	if (rval == ETIMEDOUT)
@@ -180,7 +177,16 @@
 _pthread_cond_timedwait(pthread_cond_t * cond, pthread_mutex_t * mutex,
 		       const struct timespec * abstime)
 {
-	struct timespec *time;
+	if (abstime == NULL || abstime->tv_nsec >= 1000000000)
+		return (EINVAL);
+
+	return (cond_wait_common(cond, mutex, abstime));
+}
+
+static int
+cond_wait_common(pthread_cond_t * cond, pthread_mutex_t * mutex,
+	         const struct timespec * abstime)
+{
 	int	rval = 0;
 	int	done = 0;
 	int	seqno;
@@ -189,13 +195,6 @@
 
 	_thread_enter_cancellation_point();
 	
-	if (abstime == NULL || abstime->tv_nsec >= 1000000000)
-		return (EINVAL);
-
-	if (abstime->tv_sec == 0 && abstime->tv_nsec == 0)
-		time = NULL;
-	else
-		time = abstime;
 	/*
 	 * If the condition variable is statically initialized, perform dynamic
 	 * initialization.
@@ -273,7 +272,7 @@
 
 			PTHREAD_SET_STATE(curthread, PS_COND_WAIT);
 			GIANT_UNLOCK(curthread);
-			rval = _thread_suspend(curthread, time);
+			rval = _thread_suspend(curthread, (struct timespec *)abstime);
 			if (rval == -1) {
 				printf("foo");
 				fflush(stdout);

==== //depot/projects/hammer/release/alpha/dokern.sh#7 (text+ko) ====

@@ -1,12 +1,12 @@
 #!/bin/sh
 #
-# $FreeBSD: src/release/alpha/dokern.sh,v 1.69 2003/05/14 16:01:02 obrien Exp $
+# $FreeBSD: src/release/alpha/dokern.sh,v 1.70 2003/05/15 01:28:39 obrien Exp $
 #
 
 #	XXX sort by order in GENERIC, not alphabetical
 
 sed	\
-	-e 's/ident.*GENERIC/ident		BOOTMFS/g'
+	-e 's/ident.*GENERIC/ident		BOOTMFS/g' \
 	-e '/DEBUG/d' \
 	-e '/DEC_KN8AE/d' \
 	-e '/SOFTUPDATES/d' \
@@ -63,5 +63,8 @@
 	-e '/	sbp	/d' \
 	-e '/	fwe	/d' \
 
+#	XXX: blank line above intentional so lines may be added below the last
+#	entry with ease.
+
 echo "options  SCSI_NO_OP_STRINGS" 
 echo "options  SCSI_NO_SENSE_STRINGS"

==== //depot/projects/hammer/release/scripts/doFS.sh#9 (text+ko) ====

@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $FreeBSD: src/release/scripts/doFS.sh,v 1.50 2003/05/09 09:41:18 scottl Exp $
+# $FreeBSD: src/release/scripts/doFS.sh,v 1.51 2003/05/16 13:59:12 ru Exp $
 #
 
 set -ex
@@ -63,7 +63,7 @@
 	trap "umount ${MNT}; vnconfig -u /dev/r${VNDEVICE}; rm -f /dev/*vnn*" EXIT
 
 	disklabel -w ${BOOT} ${VNDEVICE} ${FSLABEL}
-	newfs -O1 -i ${FSINODE} -o space -m 0 /dev/r${VNDEVICE}c
+	newfs -i ${FSINODE} -o space -m 0 /dev/r${VNDEVICE}c
 
 	mount /dev/${VNDEVICE}c ${MNT}
 

==== //depot/projects/hammer/sbin/devd/parse.y#3 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sbin/devd/parse.y,v 1.2 2002/12/07 08:04:36 imp Exp $
+ * $FreeBSD: src/sbin/devd/parse.y,v 1.3 2003/05/15 02:23:32 imp Exp $
  */
 
 #include "devd.h"
@@ -100,16 +100,19 @@
 attach_block
 	: ATTACH NUMBER BEGINBLOCK match_or_action_list ENDBLOCK SEMICOLON
 		{ add_attach($2, $4); }
+	| ATTACH NUMBER BEGINBLOCK ENDBLOCK SEMICOLON
 	;
 
 detach_block
 	: DETACH NUMBER BEGINBLOCK match_or_action_list ENDBLOCK SEMICOLON
 		{ add_detach($2, $4); }
+	| DETACH NUMBER BEGINBLOCK ENDBLOCK SEMICOLON
 	;
 
 nomatch_block
 	: NOMATCH NUMBER BEGINBLOCK match_or_action_list ENDBLOCK SEMICOLON
 		{ add_nomatch($2, $4); }
+	| NOMATCH NUMBER BEGINBLOCK ENDBLOCK SEMICOLON
 	;
 
 match_or_action_list

==== //depot/projects/hammer/share/man/man4/kame.4#2 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     $Id: kame.4,v 1.4 1999/10/07 04:01:15 itojun Exp $
-.\"     $FreeBSD: src/share/man/man4/kame.4,v 1.11 2002/07/09 20:37:18 blackend Exp $
+.\"     $FreeBSD: src/share/man/man4/kame.4,v 1.12 2003/05/16 00:31:12 hmp Exp $
 .\"
 .Dd April 13, 1999
 .Dt KAME 4
@@ -67,7 +67,6 @@
 .\"
 .Ss Plug and Play and protocol stack/interface configuration
 .Xr ndp 8 ,
-.Xr prefix 8 ,
 .Xr rrenumd 8 ,
 .Xr rtadvd 8 ,
 .Xr rtsol 8 ,
@@ -81,8 +80,8 @@
 .Xr mchat 1
 .Pq - ,
 .Xr ifmcstat 8 ,
-.Xr pim6dd 8 ,
-.Xr pim6sd 8 ,
+.Xr pim6dd 8 [ /usr/ports/net/pim6dd ] ,
+.Xr pim6sd 8 [ /usr/ports/net/pim6sd ] ,
 .Xr pim6stat 8 .
 .\"
 .Ss Transition Tools
@@ -96,12 +95,8 @@
 .Fx .
 .\"
 .Ss IPsec and tunnelling
-.Xr gifconfig 8 ,
 .Xr ipsec 4 ,
-.\" (dtcp and racoon doesn't exist yet.)
-.\" .Xr dtcpc 8 ,
-.\" .Xr dtcps 8 ,
-.\" .Xr racoon 8 ,
+.Xr racoon 8 [ /usr/ports/security/racoon ] ,
 .Xr setkey 8 .
 .Pp
 Dozen of existing tools are modified for IPsec support, like
@@ -123,6 +118,7 @@
 modified for IPv4/v6 support, or
 IPv6-only
 .Xr inet6d 8
+.Pq -
 is supplied.
 .Pp
 Dozen of existing daemons are modified for IPv6/IPsec support, like

==== //depot/projects/hammer/share/man/man9/Makefile#10 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/man/man9/Makefile,v 1.188 2003/05/09 09:12:10 hmp Exp $
+# $FreeBSD: src/share/man/man9/Makefile,v 1.190 2003/05/16 19:22:27 hmp Exp $
 
 MAN=	BUF_LOCK.9 BUF_LOCKFREE.9 BUF_LOCKINIT.9 BUF_REFCNT.9 \
 	BUF_TIMELOCK.9 BUF_UNLOCK.9 BUS_PRINT_CHILD.9 BUS_READ_IVAR.9 \
@@ -6,7 +6,7 @@
 	DECLARE_MODULE.9 DELAY.9 DEVICE_ATTACH.9 DEVICE_DETACH.9 \
 	DEVICE_IDENTIFY.9 DEVICE_PROBE.9 DEVICE_SHUTDOWN.9 \
 	DEV_MODULE.9 DRIVER_MODULE.9 \
-	KASSERT.9 \
+	CTASSERT.9 KASSERT.9 \
 	MD5.9 MODULE_DEPEND.9 MODULE_VERSION.9 \
 	SYSCALL_MODULE.9 \
 	VFS.9 VFS_CHECKEXP.9 VFS_FHTOVP.9 VFS_INIT.9 VFS_MOUNT.9 \
@@ -60,6 +60,7 @@
 	physio.9 printf.9 pseudofs.9 psignal.9 \
 	random.9 resettodr.9 resource_int_value.9 resource_query_string.9 \
 	rtalloc.9 rtentry.9 runqueue.9  random_harvest.9 rijndael.9 \
+	rman.9 \
 	sbuf.9 scheduler.9 selrecord.9 sema.9 signal.9 sleep.9 sleepqueue.9 \
 	spl.9 store.9 style.9 suser.9 swi.9 sx.9 \
 	sysctl_add_oid.9 sysctl_ctx_init.9 \

==== //depot/projects/hammer/share/man/man9/VFS_SET.9#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/share/man/man9/VFS_SET.9,v 1.4 2002/12/12 17:25:58 ru Exp $
+.\" $FreeBSD: src/share/man/man9/VFS_SET.9,v 1.5 2003/05/16 15:21:20 hmp Exp $
 .\"
 .Dd December 2, 2001
 .Dt VFS_SET 9
@@ -53,6 +53,24 @@
 using
 .Fn vfs_modevent
 as the event handler.
+.Pp
+Possible values for the
+.Fa flags
+argument are documented below:
+.Bl -hang -width VFCF_SYNTHETIC
+.It Dv VFCF_STATIC
+File system should be statically available in the kernel.
+.It Dv VFCF_NETWORK
+Network exportable file system.
+.It Dv VFCF_READONLY
+Does not support write operations.
+.It Dv VFCF_SYNTHETIC
+Pseudo file system, data does not represent on-disk files.
+.It Dv VFCF_LOOPBACK
+Loopback file system layer.
+.It Dv VFCF_UNICODE
+File names are stored as Unicode.
+.El
 .Sh PSEUDO CODE
 .Bd -literal
 /*

==== //depot/projects/hammer/share/man/man9/sleep.9#3 (text+ko) ====

@@ -23,7 +23,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/sleep.9,v 1.39 2003/02/24 22:53:24 ru Exp $
+.\" $FreeBSD: src/share/man/man9/sleep.9,v 1.40 2003/05/16 15:52:32 jhb Exp $
 .\"
 .Dd December 17, 1998
 .Os
@@ -117,7 +117,7 @@
 function is a variation on tsleep.
 The parameter
 .Ar mtx
-is a mutex, which will be exited before sleeping, and entered before
+is a mutex which will be released before sleeping and reacquired before
 .Fn msleep
 returns.
 If
@@ -126,7 +126,7 @@
 .Dv PDROP
 flag, the
 .Ar mtx
-parameter will not be entered before returning.
+parameter will not be reacquired before returning.
 The mutex is
 used to ensure that a condition can be checked atomically, and
 that the current process can be suspended without missing a
@@ -151,9 +151,9 @@
 The
 .Fn sleep
 function used to be the traditional form.
-It does not let you specify a timeout or a
+It did not let you specify a timeout or a
 .Ar wmesg ,
-hence it has been discontinued.
+hence it was discontinued.
 .Sh AUTHORS
 .An -nosplit
 This man page was written by

==== //depot/projects/hammer/share/syscons/keymaps/INDEX.keymaps#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/syscons/keymaps/INDEX.keymaps,v 1.46 2003/05/05 06:06:55 murray Exp $
+# $FreeBSD: src/share/syscons/keymaps/INDEX.keymaps,v 1.47 2003/05/16 03:46:53 murray Exp $
 #
 # database for kbdmap(8) 
 #
@@ -128,6 +128,11 @@
 fr.iso.acc.kbd:es:Francés ISO-8859-1 (con acentos)
 fr.iso.acc.kbd:uk:æÒÁÎÃÕÚØËÁ ISO-8859-1 (accent keys)
 
+fr.dvorak.kbd:en:French Dvorak-like
+fr.dvorak.kbd:de:Französisch Dvorak
+fr.dvorak.kbd:es:Francés Dvorak
+fr.dvorak.kbd:uk:French Dvorak-like
+
 fr_CA.iso.acc.kbd:en:French Canadian ISO-8859-1 (accent keys)
 fr_CA.iso.acc.kbd:de:Französisch Kanada ISO-8859-1 (mit Akzenten)
 fr_CA.iso.acc.kbd:es:Francocanadiense ISO-8859-1 (con acentos)

==== //depot/projects/hammer/share/syscons/keymaps/Makefile#4 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/syscons/keymaps/Makefile,v 1.59 2003/05/05 06:06:55 murray Exp $
+# $FreeBSD: src/share/syscons/keymaps/Makefile,v 1.60 2003/05/16 03:46:53 murray Exp $
 
 KEYMAPS=  INDEX.keymaps
 KEYMAPS+= be.iso.kbd be.iso.acc.kbd
@@ -11,7 +11,7 @@
 KEYMAPS+= el.iso07.kbd
 KEYMAPS+= estonian.iso.kbd estonian.iso15.kbd estonian.cp850.kbd
 KEYMAPS+= finnish.iso.kbd finnish.cp850.kbd
-KEYMAPS+= fr.iso.kbd fr.iso.acc.kbd
+KEYMAPS+= fr.iso.kbd fr.iso.acc.kbd fr.dvorak.kbd
 KEYMAPS+= fr_CA.iso.acc.kbd
 KEYMAPS+= german.iso.kbd german.cp850.kbd
 KEYMAPS+= gr.elot.acc.kbd gr.us101.acc.kbd

==== //depot/projects/hammer/share/syscons/keymaps/be.iso.kbd#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/syscons/keymaps/be.iso.kbd,v 1.11 2001/03/11 23:41:18 ache Exp $
+# $FreeBSD: src/share/syscons/keymaps/be.iso.kbd,v 1.12 2003/05/16 03:37:52 murray Exp $
 #                                                         alt
 # scan                       cntrl          alt    alt   cntrl lock
 # code  base   shift  cntrl  shift  alt    shift  cntrl  shift state
@@ -42,7 +42,7 @@
   036   'j'    'J'    nl     nl     'j'    'J'    nl     nl      C
   037   'k'    'K'    vt     vt     'k'    'K'    vt     vt      C
   038   'l'    'L'    ff     ff     'l'    'L'    ff     ff      C
-  039   'm'    'M'    cr     cr     'm'    'M'    cr     cr      O
+  039   'm'    'M'    cr     cr     'm'    'M'    cr     cr      C
   040   249    '%'    nop    nop    '''    '''    nop    nop     O
   041   178    179    nop    nop    178    179    nop    nop     O
   042   lshift lshift lshift lshift lshift lshift lshift lshift  O
@@ -53,7 +53,7 @@
   047   'v'    'V'    syn    syn    'v'    'V'    syn    syn     C
   048   'b'    'B'    stx    stx    'b'    'B'    stx    stx     C
   049   'n'    'N'    so     so     'n'    'N'    so     so      C
-  050   ','    '?'    nop    nop    ','    '?'    nop    nop     C
+  050   ','    '?'    nop    nop    ','    '?'    nop    nop     O
   051   ';'    '.'    nop    nop    ';'    '.'    nop    nop     O
   052   ':'    '/'    nop    nop    ':'    '/'    nop    nop     O
   053   '='    '+'    nop    nop    '~'    '~'    nop    nop     O

==== //depot/projects/hammer/share/syscons/keymaps/norwegian.dvorak.kbd#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/syscons/keymaps/norwegian.dvorak.kbd,v 1.1 2003/05/05 06:06:55 murray Exp $
+# $FreeBSD: src/share/syscons/keymaps/norwegian.dvorak.kbd,v 1.2 2003/05/16 03:34:23 murray Exp $
 #                                                         alt
 # scan                       cntrl          alt    alt   cntrl lock
 # code  base   shift  cntrl  shift  alt    shift  cntrl  shift state
@@ -11,10 +11,10 @@
   005   '4'    164    nop    nop    '$'    164    nop    nop     O
   006   '5'    '%'    nop    nop    '5'    '%'    nop    nop     O
   007   '6'    '&'     rs     rs    '6'    '&'    nop    nop     O
-  008   '7'    '/'    nop    nop    '7'    '/'    nop    nop     O
-  009   '8'    '('    nop    nop    '8'    '('    esc    esc     O
-  010   '9'    ')'    nop    nop    '9'    ')'    gs     gs      O
-  011   '0'    '='    nop    nop    '0'    '='    nop    nop     O
+  008   '7'    '/'    nop    nop    '{'    '/'    nop    nop     O
+  009   '8'    '('    nop    nop    '['    '('    esc    esc     O
+  010   '9'    ')'    nop    nop    ']'    ')'    gs     gs      O
+  011   '0'    '='    nop    nop    '}'    '='    nop    nop     O
   012   '+'    '?'    esc    esc    '['    '?'    nop    nop     O
   013   '\'    '`'    nop    nop    '''    nop    nop    nop     O
   014   bs     bs     del    del    bs     bs     del    del     O
@@ -46,7 +46,7 @@
   040   '-'    '_'    us     us     '-'    '_'    us     us      O
   041   '|'    167    nop    nop    166    182    nop    nop     O
   042   lshift lshift lshift lshift lshift lshift lshift lshift  O
-  043   248    216    nop    nop    '|'    '\'    nop    nop     C
+  043   '<'    '>'    nop    nop    '|'    '\'    nop    nop     C
   044   230    198    nop    nop    '{'    '['    nop    nop     C
   045   'q'    'Q'    dc1    dc1    'q'    'Q'    dc1    dc1     C
   046   'j'    'J'    nl     nl     'j'    'J'    nl     nl      C

==== //depot/projects/hammer/sys/boot/forth/loader.conf#5 (text+ko) ====

@@ -6,7 +6,7 @@
 #
 # All arguments must be in double quotes.
 #
-# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.70 2003/03/11 12:09:25 ru Exp $
+# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.71 2003/05/16 04:31:00 murray Exp $
 
 ##############################################################
 ###  Basic configuration options  ############################
@@ -179,6 +179,7 @@
 miibus_load="NO"		# miibus support, needed for some drivers
 if_an_load="NO"			# Aironet 4500/4800 802.11 wireless NICs
 if_ar_load="NO"			# Digi SYNC/570i
+if_awi_load="NO"		# AMD PCnetMobile IEEE 802.11 wireless NICs
 if_bge_load="NO"		# Broadcom BCM570x PCI gigabit ethernet
 if_cm_load="NO"			# SMC (90c26, 90c56, 90c66)
 if_dc_load="NO"			# DEC/Intel 21143 and various workalikes
@@ -186,12 +187,16 @@
 if_ed_load="NO"			# National Semiconductor DS8390/WD83C690 ethernet
 if_el_load="NO"			# 3Com Etherlink 3C501
 if_em_load="NO"			# Intel(R) PRO/1000 gigabit ethernet
+if_en_load="NO"			# Midway-based ATM interfaces
 if_ep_load="NO"			# 3Com Etherlink III (3c5x9)
+if_ex_load="NO"			# Intel EtherExpress Pro/10 ethernet
 if_fe_load="NO"			# Fujitsu MB86960A/MB86965A based Ethernet adapters
 if_fxp_load="NO"		# Intel EtherExpress PRO/100B (82557, 82558)
 if_gx_load="NO"			# Intel Pro/1000 gigabit ethernet
+if_ie_load="NO"			# Intel 82586
 if_lge_load="NO"		# Level 1 LXT1001 NetCellerator PCI gigabit ethernet
 if_lnc_load="NO"		# AMD Lance/PCnet Ethernet
+if_my_load="NO"			# Myson PCI fast ethernet
 if_nge_load="NO"		# National Semiconductor PCI gigabit ethernet
 if_oltr_load="NO"		# Olicom
 if_pcn_load="NO"		# AMD PCnet PCI
@@ -287,6 +292,7 @@
 umodem_load="NO"		# Modems
 uscanner_load="NO"		# Scanners
 if_aue_load="NO"		# ADMtek USB ethernet
+if_axe_load="NO"		# ASIX Electronics AX88172 USB ethernet
 if_cue_load="NO"		# CATC USB ethernet
 if_kue_load="NO"		# Kawasaki LSI USB ethernet
 

==== //depot/projects/hammer/sys/cam/scsi/scsi_da.c#14 (text+ko) ====

@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.142 2003/05/03 00:21:40 ken Exp $
+ * $FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.143 2003/05/15 17:35:35 njl Exp $
  */
 
 #ifdef _KERNEL
@@ -499,6 +499,14 @@
 		 */
 		{T_DIRECT, SIP_MEDIA_REMOVABLE, "MITSUMI", "USB FDD", "*"},
 		/*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE
+	},
+	{
+		/*
+		 * OTi USB Flash Key
+		 * PR: kern/51825
+		 */
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "OTi", "Flash Disk", "*"},
+		/*quirks*/ DA_Q_NO_6_BYTE
 	}
 };
 

==== //depot/projects/hammer/sys/conf/NOTES#17 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1148 2003/05/05 21:21:31 phk Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1149 2003/05/15 02:10:29 jmallett Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #
@@ -208,10 +208,19 @@
 #
 # Implement system calls compatible with 4.3BSD and older versions of
 # FreeBSD.  You probably do NOT want to remove this as much current code
-# still relies on the 4.3 emulation.
+# still relies on the 4.3 emulation.  Note that some architectures that
+# are supported by FreeBSD do not include support for certain important
+# aspects of this compatibility option, namely those related to the
+# signal delivery mechanism.
 #
 options 	COMPAT_43
 
+#
+# Be compatible with SunOS.  The COMPAT_43 option above pulls in most
+# (all?) of the changes that this option turns on.
+#
+options 	COMPAT_SUNOS
+
 # Enable FreeBSD4 compatibility syscalls
 options 	COMPAT_FREEBSD4
 

==== //depot/projects/hammer/sys/conf/files.amd64#14 (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.14 2003/05/14 04:10:49 peter Exp $
+# $FreeBSD: src/sys/conf/files.amd64,v 1.15 2003/05/16 02:27:17 obrien Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -16,7 +16,7 @@
 #
 ia32_assym.h			optional	ia32			\
 	dependency 	"$S/kern/genassym.sh ia32_genassym.o"		\
-	compile-with	"sh $S/kern/genassym.sh ia32_genassym.o > ${.TARGET}" \
+	compile-with	"env NM=${NM} sh $S/kern/genassym.sh ia32_genassym.o > ${.TARGET}" \
 	no-obj no-implicit-rule before-depend				\
 	clean		"ia32_assym.h"
 #

==== //depot/projects/hammer/sys/conf/ldscript.ia64#5 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/conf/ldscript.ia64,v 1.8 2002/12/05 18:35:44 obrien Exp $ */
+/* $FreeBSD: src/sys/conf/ldscript.ia64,v 1.9 2003/05/16 06:03:45 marcel Exp $ */
 OUTPUT_FORMAT("elf64-ia64-little", "elf64-ia64-little", "elf64-ia64-little")
 OUTPUT_ARCH(ia64)
 ENTRY(__start)
@@ -8,107 +8,115 @@
 {
   /* Read-only sections, merged into text segment: */
   . = kernel_text + SIZEOF_HEADERS;
-
-  .text      :
+  .interp         : { *(.interp) }
+  .hash           : { *(.hash) }
+  .dynsym         : { *(.dynsym) }
+  .dynstr         : { *(.dynstr) }
+  .gnu.version    : { *(.gnu.version) }
+  .gnu.version_d  : { *(.gnu.version_d) }
+  .gnu.version_r  : { *(.gnu.version_r) }
+  .rela.init      : { *(.rela.init) }

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305162017.h4GKHMVd080952>