PERFORCE change 124986 for review

Warner Losh imp at FreeBSD.org
Thu Aug 9 22:01:53 PDT 2007


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

Change 124986 by imp at imp_paco-paco on 2007/08/10 05:01:18

	IFC @124984

Affected files ...

.. //depot/projects/arm/src/ObsoleteFiles.inc#26 integrate
.. //depot/projects/arm/src/contrib/opensolaris/cmd/zdb/zdb.c#3 integrate
.. //depot/projects/arm/src/etc/rc.d/nscd#2 integrate
.. //depot/projects/arm/src/lib/libdisk/open_disk.c#2 integrate
.. //depot/projects/arm/src/lib/libthr/thread/thr_private.h#9 integrate
.. //depot/projects/arm/src/sbin/ipfw/ipfw.8#10 integrate
.. //depot/projects/arm/src/share/man/man4/ddb.4#6 integrate
.. //depot/projects/arm/src/share/man/man4/ipsec.4#5 integrate
.. //depot/projects/arm/src/share/man/man4/vpo.4#2 integrate
.. //depot/projects/arm/src/share/man/man9/locking.9#5 integrate
.. //depot/projects/arm/src/share/man/man9/rtentry.9#2 integrate
.. //depot/projects/arm/src/share/misc/bsd-family-tree#9 integrate
.. //depot/projects/arm/src/sys/arm/arm/cpufunc.c#17 integrate
.. //depot/projects/arm/src/sys/arm/arm/genassym.c#7 integrate
.. //depot/projects/arm/src/sys/arm/arm/swtch.S#7 integrate
.. //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#29 integrate
.. //depot/projects/arm/src/sys/compat/linux/linux_socket.c#14 integrate
.. //depot/projects/arm/src/sys/conf/NOTES#53 integrate
.. //depot/projects/arm/src/sys/conf/files#77 integrate
.. //depot/projects/arm/src/sys/conf/kern.pre.mk#13 integrate
.. //depot/projects/arm/src/sys/conf/options#50 integrate
.. //depot/projects/arm/src/sys/dev/an/if_an.c#9 integrate
.. //depot/projects/arm/src/sys/dev/ath/if_ath.c#32 integrate
.. //depot/projects/arm/src/sys/dev/dc/if_dc.c#14 integrate
.. //depot/projects/arm/src/sys/dev/dc/if_dcreg.h#8 integrate
.. //depot/projects/arm/src/sys/dev/em/if_em.c#41 integrate
.. //depot/projects/arm/src/sys/dev/re/if_re.c#27 integrate
.. //depot/projects/arm/src/sys/dev/streams/streams.c#4 integrate
.. //depot/projects/arm/src/sys/dev/usb/if_axe.c#14 integrate
.. //depot/projects/arm/src/sys/dev/usb/if_axereg.h#8 integrate
.. //depot/projects/arm/src/sys/dev/wi/if_wi.c#16 integrate
.. //depot/projects/arm/src/sys/fs/msdosfs/denode.h#7 integrate
.. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_conv.c#8 integrate
.. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_denode.c#8 integrate
.. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_fat.c#5 integrate
.. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_fileno.c#3 integrate
.. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_iconv.c#2 integrate
.. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_lookup.c#4 integrate
.. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_vfsops.c#19 integrate
.. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_vnops.c#12 integrate
.. //depot/projects/arm/src/sys/i386/i386/machdep.c#30 integrate
.. //depot/projects/arm/src/sys/i386/include/cpufunc.h#4 integrate
.. //depot/projects/arm/src/sys/ia64/ia64/clock.c#7 integrate
.. //depot/projects/arm/src/sys/ia64/ia64/exception.S#5 integrate
.. //depot/projects/arm/src/sys/ia64/ia64/interrupt.c#9 integrate
.. //depot/projects/arm/src/sys/ia64/ia64/machdep.c#18 integrate
.. //depot/projects/arm/src/sys/ia64/ia64/mp_machdep.c#10 integrate
.. //depot/projects/arm/src/sys/ia64/ia64/pmap.c#16 integrate
.. //depot/projects/arm/src/sys/ia64/include/ia64_cpu.h#4 integrate
.. //depot/projects/arm/src/sys/ia64/include/md_var.h#5 integrate
.. //depot/projects/arm/src/sys/kern/kern_descrip.c#25 integrate
.. //depot/projects/arm/src/sys/kern/kern_lockf.c#6 integrate
.. //depot/projects/arm/src/sys/kern/kern_poll.c#8 integrate
.. //depot/projects/arm/src/sys/kern/sys_socket.c#7 integrate
.. //depot/projects/arm/src/sys/kern/uipc_domain.c#8 integrate
.. //depot/projects/arm/src/sys/kern/uipc_syscalls.c#27 integrate
.. //depot/projects/arm/src/sys/net/bpf.c#20 integrate
.. //depot/projects/arm/src/sys/net/bpfdesc.h#7 integrate
.. //depot/projects/arm/src/sys/net/bridgestp.c#18 integrate
.. //depot/projects/arm/src/sys/net/bridgestp.h#9 integrate
.. //depot/projects/arm/src/sys/net/netisr.c#5 integrate
.. //depot/projects/arm/src/sys/netgraph/netflow/netflow.c#8 integrate
.. //depot/projects/arm/src/sys/netinet/in_mcast.c#3 integrate
.. //depot/projects/arm/src/sys/netinet/in_pcb.h#13 integrate
.. //depot/projects/arm/src/sys/netinet/ip_divert.c#12 integrate
.. //depot/projects/arm/src/sys/netinet/ip_dummynet.c#13 integrate
.. //depot/projects/arm/src/sys/netinet/ip_fw2.c#35 integrate
.. //depot/projects/arm/src/sys/netinet/ip_input.c#21 integrate
.. //depot/projects/arm/src/sys/netinet/ip_ipsec.c#6 integrate
.. //depot/projects/arm/src/sys/netinet/ip_ipsec.h#2 integrate
.. //depot/projects/arm/src/sys/netinet/ip_mroute.c#15 integrate
.. //depot/projects/arm/src/sys/netinet/sctp_constants.h#15 integrate
.. //depot/projects/arm/src/sys/netinet/sctp_input.c#19 integrate
.. //depot/projects/arm/src/sys/netinet/sctp_uio.h#16 integrate
.. //depot/projects/arm/src/sys/netinet/sctp_usrreq.c#19 integrate
.. //depot/projects/arm/src/sys/netinet/sctputil.c#20 integrate
.. //depot/projects/arm/src/sys/netinet/tcp_syncache.c#26 integrate
.. //depot/projects/arm/src/sys/netinet6/ip6_ipsec.c#3 integrate
.. //depot/projects/arm/src/sys/netinet6/ip6_ipsec.h#2 integrate
.. //depot/projects/arm/src/sys/netipsec/xform_ah.c#7 integrate
.. //depot/projects/arm/src/sys/netipsec/xform_esp.c#8 integrate
.. //depot/projects/arm/src/sys/netipsec/xform_ipcomp.c#4 integrate
.. //depot/projects/arm/src/sys/nfsclient/bootp_subr.c#7 integrate
.. //depot/projects/arm/src/sys/nfsclient/krpc_subr.c#3 integrate
.. //depot/projects/arm/src/sys/nfsclient/nfs_socket.c#20 integrate
.. //depot/projects/arm/src/sys/nfsclient/nfs_vfsops.c#14 integrate
.. //depot/projects/arm/src/sys/nfsserver/nfs_srvsock.c#11 integrate
.. //depot/projects/arm/src/sys/nfsserver/nfs_srvsubs.c#13 integrate
.. //depot/projects/arm/src/sys/nfsserver/nfs_syscalls.c#12 integrate
.. //depot/projects/arm/src/sys/pci/if_xl.c#11 integrate
.. //depot/projects/arm/src/sys/powerpc/include/interruptvar.h#2 delete
.. //depot/projects/arm/src/sys/powerpc/include/intr_machdep.h#4 integrate
.. //depot/projects/arm/src/sys/powerpc/include/trap.h#2 integrate
.. //depot/projects/arm/src/sys/powerpc/powerpc/interrupt.c#3 integrate
.. //depot/projects/arm/src/sys/powerpc/powerpc/intr_machdep.c#7 integrate
.. //depot/projects/arm/src/sys/powerpc/powerpc/trap.c#11 integrate
.. //depot/projects/arm/src/sys/rpc/rpcclnt.c#7 integrate
.. //depot/projects/arm/src/sys/security/mac/mac_syscalls.c#3 integrate
.. //depot/projects/arm/src/sys/sparc64/include/iommureg.h#3 integrate
.. //depot/projects/arm/src/sys/sparc64/include/iommuvar.h#2 integrate
.. //depot/projects/arm/src/sys/sparc64/pci/psycho.c#11 integrate
.. //depot/projects/arm/src/sys/sparc64/pci/psychoreg.h#5 integrate
.. //depot/projects/arm/src/sys/sparc64/sbus/sbus.c#11 integrate
.. //depot/projects/arm/src/sys/sparc64/sbus/sbusreg.h#2 integrate
.. //depot/projects/arm/src/sys/sparc64/sparc64/iommu.c#3 integrate
.. //depot/projects/arm/src/sys/sys/mutex.h#19 integrate
.. //depot/projects/arm/src/sys/vm/device_pager.c#5 integrate
.. //depot/projects/arm/src/sys/vm/phys_pager.c#5 integrate
.. //depot/projects/arm/src/sys/vm/swap_pager.c#15 integrate
.. //depot/projects/arm/src/sys/vm/vm_pager.c#3 integrate
.. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/BEGEMOT-BRIDGE-MIB.txt#3 integrate
.. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c#4 integrate
.. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h#4 integrate
.. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#5 integrate
.. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_tree.def#3 integrate
.. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3#4 integrate
.. //depot/projects/arm/src/usr.sbin/freebsd-update/freebsd-update.sh#7 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/Makefile#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/agent.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/cachelib.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/cacheplcs.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/config.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/debug.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/log.c#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/log.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/mp_rs_query.c#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/mp_rs_query.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/mp_ws_query.c#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/mp_ws_query.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/nscd.8#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/nscd.c#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/nscd.conf.5#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/nscdcli.c#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/nscdcli.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/parser.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/protocol.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/query.c#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/query.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/singletons.h#2 integrate
.. //depot/projects/arm/src/usr.sbin/rpc.statd/statd.c#4 integrate

Differences ...

==== //depot/projects/arm/src/ObsoleteFiles.inc#26 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/ObsoleteFiles.inc,v 1.108 2007/08/02 08:04:47 bz Exp $
+# $FreeBSD: src/ObsoleteFiles.inc,v 1.109 2007/08/07 23:48:30 marcel Exp $
 #
 # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and
 # directories (OLD_DIRS) which should get removed at an update. Recently
@@ -14,6 +14,10 @@
 # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
 #
 
+# 20070807: removal of PowerPC specific header file.
+.if ${TARGET_ARCH} == "powerpc"
+OLD_FILES+=usr/include/machine/interruptvar.h
+.endif
 # 20070801: fast_ipsec.4 gone
 OLD_FILES+=usr/share/man/man4/fast_ipsec.4.gz
 # 20070715: netatm temporarily disconnected

==== //depot/projects/arm/src/contrib/opensolaris/cmd/zdb/zdb.c#3 (text+ko) ====

@@ -1136,7 +1136,15 @@
 		exit(1);
 	}
 
-	psize = statbuf.st_size;
+	if (S_ISCHR(statbuf.st_mode)) {
+		if (ioctl(fd, DIOCGMEDIASIZE, &psize) != 0) {
+			(void) printf("failed to get size '%s': %s\n", dev,
+			    strerror(errno));
+			exit(1);
+		}
+	 } else
+		psize = statbuf.st_size;
+
 	psize = P2ALIGN(psize, (uint64_t)sizeof (vdev_label_t));
 
 	for (l = 0; l < VDEV_LABELS; l++) {

==== //depot/projects/arm/src/etc/rc.d/nscd#2 (text+ko) ====

@@ -1,32 +1,32 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/nscd,v 1.3 2006/06/06 15:34:50 ume Exp $
+# $FreeBSD: src/etc/rc.d/nscd,v 1.4 2007/08/09 13:06:11 bushman Exp $
 #
 
-# PROVIDE: cached
+# PROVIDE: nscd
 # REQUIRE: DAEMON
 # BEFORE: LOGIN
 
 #
 # Add the following lines to /etc/rc.conf to enable cached:
 #
-# cached_enable="YES"
+# nscd_enable="YES"
 #
-# See cached(8) for flags
+# See nscd(8) for flags
 #
 
 . /etc/rc.subr
 
-name=cached
+name=nscd
 rcvar=`set_rcvar`
 
-command=/usr/sbin/cached
+command=/usr/sbin/nscd
 extra_commands="flush"
 flush_cmd="${command} -I all"
 
-cached_enable=${cached_enable:-"NO"}
-cached_pidfile=${cached_pidfile:-"/var/run/cached.pid"}
-cached_flags=${cached_flags:-""}
+nscd_enable=${nscd_enable:-"NO"}
+nscd_pidfile=${nscd_pidfile:-"/var/run/nscd.pid"}
+nscd_flags=${nscd_flags:-""}
 
 load_rc_config $name
 run_rc_command "$1"

==== //depot/projects/arm/src/lib/libdisk/open_disk.c#2 (text+ko) ====

@@ -8,7 +8,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libdisk/open_disk.c,v 1.10 2005/03/08 21:46:18 stefanf Exp $");
+__FBSDID("$FreeBSD: src/lib/libdisk/open_disk.c,v 1.11 2007/08/05 16:55:40 rink Exp $");
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -43,19 +43,24 @@
 Int_Open_Disk(const char *name, char *conftxt)
 {
 	struct disk *d;
-	int i;
+	int i, line = 1;
 	char *p, *q, *r, *a, *b, *n, *t, *sn;
 	daddr_t o, len, off;
 	u_int l, s, ty, sc, hd, alt;
 	daddr_t lo[10];
 
-	for (p = conftxt; p != NULL && *p; p = strchr(p, '\n')) {
+	/*
+	 * Locate the disk (by name) in our sysctl output
+	 */
+	for (p = conftxt; p != NULL && *p; p = strchr(p, '\n'), line++) {
 		if (*p == '\n')
 			p++;
 		a = strsep(&p, " ");
+		/* Skip anything not with index 0 */
 		if (strcmp(a, "0"))
 			continue;
 
+		/* Skip anything not a disk */
 		a = strsep(&p, " ");
 		if (strcmp(a, "DISK"))
 			continue;
@@ -79,15 +84,17 @@
 	a = strsep(&p, " ");	/* length in bytes */
 	len = strtoimax(a, &r, 0);
 	if (*r) {
-		printf("BARF %d <%d>\n", __LINE__, *r);
-		exit (0);
+		printf("libdisk: Int_Open_Disk(%s): can't parse length in line %d (r='%s')\n",
+			name, line, r);
+		return NULL;
 	}
 
 	a = strsep(&p, " ");	/* sectorsize */
 	s = strtoul(a, &r, 0);
 	if (*r) {
-		printf("BARF %d <%d>\n", __LINE__, *r);
-		exit (0);
+		printf("libdisk: Int_Open_Disk(%s): can't parse sector size in line %d (r='%s')\n",
+			name, line, r);
+		return NULL;
 	}
 
 	if (s == 0)
@@ -99,6 +106,7 @@
 		DPRINT(("Failed to add 'whole' chunk"));
 	}
 
+	/* Try to parse any fields after the sector size in the DISK entry line */
 	for (;;) {
 		a = strsep(&p, " ");
 		if (a == NULL)
@@ -106,15 +114,17 @@
 		b = strsep(&p, " ");
 		o = strtoimax(b, &r, 0);
 		if (*r) {
-			printf("BARF %d <%d>\n", __LINE__, *r);
-			exit (0);
+			printf("libdisk: Int_Open_Disk(%s): can't parse parameter '%s' in line %d (r='%s')\n",
+				name, a, line, r);
+			return NULL;
 		}
 		if (!strcmp(a, "hd"))
 			d->bios_hd = o;
 		else if (!strcmp(a, "sc"))
 			d->bios_sect = o;
 		else
-			printf("HUH ? <%s> <%s>\n", a, b);
+			printf("libdisk: Int_Open_Disk(%s): unknown parameter '%s' with value '%s' in line %d, ignored\n",
+				name, a, b, line);
 	}
 
 	/*
@@ -124,35 +134,43 @@
 	o = d->bios_hd * d->bios_sect;
 	d->bios_cyl = (o != 0) ? len / o : 0;
 
-	p = q;
+	p = q; line++; /* p is now the start of the line _after_ the DISK entry */
 	lo[0] = 0;
 
-	for (; p != NULL && *p; p = q) {
+	for (; p != NULL && *p; p = q, line++) {
 		sn = NULL;
 		q = strchr(p, '\n');
 		if (q != NULL)
 			*q++ = '\0';
 		a = strsep(&p, " ");	/* Index */
+		/*
+		 * If we find index 0 again, this means we've encountered another disk, so it's safe to assume this disk
+		 * has been processed.
+		 */
 		if (!strcmp(a, "0"))
 			break;
 		l = strtoimax(a, &r, 0);
 		if (*r) {
-			printf("BARF %d <%d>\n", __LINE__, *r);
-			exit (0);
+			printf("libdisk: Int_Open_Disk(%s): can't parse depth '%s' in line %d (r='%s')\n",
+				name, a, line, r);
+			return NULL;
+
 		}
 		t = strsep(&p, " ");	/* Type {SUN, BSD, MBR, PC98, GPT} */
 		n = strsep(&p, " ");	/* name */
 		a = strsep(&p, " ");	/* len */
 		len = strtoimax(a, &r, 0);
 		if (*r) {
-			printf("BARF %d <%d>\n", __LINE__, *r);
-			exit (0);
+			printf("libdisk: Int_Open_Disk(%s): can't parse length '%s' in line %d (r='%s')\n",
+				name, a, line, r);
+			continue;
 		}
 		a = strsep(&p, " ");	/* secsize */
 		s = strtoimax(a, &r, 0);
 		if (*r) {
-			printf("BARF %d <%d>\n", __LINE__, *r);
-			exit (0);
+			printf("libdisk: Int_Open_Disk(%s): can't parse sector size '%s' in line %d (r='%s')\n",
+				name, a, line, r);
+			continue;
 		}
 		for (;;) {
 			a = strsep(&p, " ");
@@ -167,8 +185,9 @@
 			o = strtoimax(b, &r, 0);
 			/* APPLE have ty as a string */
 			if ((*r) && (strcmp(t, "APPLE") && strcmp(t, "GPT"))) {
-				printf("BARF %d <%d>\n", __LINE__, *r);
-				exit (0);
+				printf("libdisk: Int_Open_Disk(%s): can't parse parameter '%s' in line %d (r='%s')\n",
+					name, a, line, r);
+				break;
 			}
 			if (!strcmp(a, "o"))
 				off = o;

==== //depot/projects/arm/src/lib/libthr/thread/thr_private.h#9 (text+ko) ====

@@ -26,7 +26,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/lib/libthr/thread/thr_private.h,v 1.77 2006/12/20 04:43:34 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.78 2007/08/07 04:50:14 davidxu Exp $
  */
 
 #ifndef _THR_PRIVATE_H
@@ -72,7 +72,7 @@
 
 /* Output debug messages like this: */
 #define stdout_debug(args...)	_thread_printf(STDOUT_FILENO, ##args)
-#define stderr_debug(args...)	_thread_printf(STDOUT_FILENO, ##args)
+#define stderr_debug(args...)	_thread_printf(STDERR_FILENO, ##args)
 
 #ifdef _PTHREADS_INVARIANTS
 #define THR_ASSERT(cond, msg) do {	\

==== //depot/projects/arm/src/sbin/ipfw/ipfw.8#10 (text+ko) ====

@@ -1,7 +1,7 @@
 .\"
-.\" $FreeBSD: src/sbin/ipfw/ipfw.8,v 1.201 2007/06/18 17:52:37 maxim Exp $
+.\" $FreeBSD: src/sbin/ipfw/ipfw.8,v 1.203 2007/08/05 16:16:14 bz Exp $
 .\"
-.Dd June 16, 2007
+.Dd August 5, 2007
 .Dt IPFW 8
 .Os
 .Sh NAME
@@ -1156,14 +1156,10 @@
 A
 .Ar group
 may be specified by name or number.
-This option should be used only if debug.mpsafenet=0 to avoid possible
-deadlocks due to layering violations in its implementation.
 .It Cm jail Ar prisonID
 Matches all TCP or UDP packets sent by or received for the
 jail whos prison ID is
 .Ar prisonID .
-This option should be used only if debug.mpsafenet=0 to avoid possible
-deadlocks due to layering violations in its implementation.
 .It Cm icmptypes Ar types
 Matches ICMP packets whose ICMP type is in the list
 .Ar types .
@@ -1255,7 +1251,7 @@
 .It Cm ipsec
 Matches packets that have IPSEC history associated with them
 (i.e., the packet comes encapsulated in IPSEC, the kernel
-has IPSEC support and IPSEC_FILTERGIF option, and can correctly
+has IPSEC support and IPSEC_FILTERTUNNEL option, and can correctly
 decapsulate it).
 .Pp
 Note that specifying
@@ -1508,8 +1504,6 @@
 A
 .Ar user
 may be matched by name or identification number.
-This option should be used only if debug.mpsafenet=0 to avoid possible
-deadlocks due to layering violations in its implementation.
 .It Cm verrevpath
 For incoming packets,
 a routing table lookup is done on the packet's source address.
@@ -1973,8 +1967,7 @@
 .El
 .Pp
 When used with IPv6 data, dummynet currently has several limitations.
-First, debug.mpsafenet=0 must be set.
-Second, the information necessicary to route link-local packets to an
+Information necessary to route link-local packets to an
 interface is not avalable after processing by dummynet so those packets
 are dropped in the output path.
 Care should be taken to insure that link-local packets are not passed to
@@ -2610,8 +2603,6 @@
 .Xr dummynet 4
 traffic shaper supported by Akamba Corp.
 .Sh BUGS
-Use of dummynet with IPv6 requires that debug.mpsafenet be set to 0.
-.Pp
 The syntax has grown over the years and sometimes it might be confusing.
 Unfortunately, backward compatibility prevents cleaning up mistakes
 made in the definition of the syntax.
@@ -2655,10 +2646,6 @@
 .Xr setuid 2
 or similar system calls.
 .Pp
-Rules which use uid, gid or jail based matching should be used only
-if debug.mpsafenet=0 to avoid possible deadlocks due to layering
-violations in its implementation.
-.Pp
 Rule syntax is subject to the command line environment and some patterns
 may need to be escaped with the backslash character
 or quoted appropriately.

==== //depot/projects/arm/src/share/man/man4/ddb.4#6 (text+ko) ====

@@ -57,9 +57,9 @@
 .\" 	Created.
 .\" 	[90/08/30            dbg]
 .\"
-.\" $FreeBSD: src/share/man/man4/ddb.4,v 1.41 2006/10/30 12:55:06 ru Exp $
+.\" $FreeBSD: src/share/man/man4/ddb.4,v 1.42 2007/08/09 20:14:35 njl Exp $
 .\"
-.Dd October 27, 2006
+.Dd August 6, 2007
 .Dt DDB 4
 .Os
 .Sh NAME
@@ -522,6 +522,12 @@
 modifier depends on the machine.
 If not supported, incorrect information will be displayed.
 .Pp
+.It Ic show Cm sysregs
+Show system registers (e.g.,
+.Li cr0-4
+on i386.)
+Not present on some platforms.
+.Pp
 .It Ic show Cm geom Op Ar addr
 If the
 .Ar addr

==== //depot/projects/arm/src/share/man/man4/ipsec.4#5 (text+ko) ====

@@ -27,9 +27,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/ipsec.4,v 1.21 2007/08/02 08:04:48 bz Exp $
+.\" $FreeBSD: src/share/man/man4/ipsec.4,v 1.22 2007/08/05 16:16:14 bz Exp $
 .\"
-.Dd August 1, 2007
+.Dd August 5, 2007
 .Dt IPSEC 4
 .Os
 .Sh NAME
@@ -37,7 +37,7 @@
 .Nd Internet Protocol Security protocol
 .Sh SYNOPSIS
 .Cd "options IPSEC"
-.Cd "options IPSEC_FILTERGIF"
+.Cd "options IPSEC_FILTERTUNNEL"
 .Cd "device crypto"
 .Pp
 .In sys/types.h
@@ -89,7 +89,7 @@
 To properly filter on the inner packets of an
 .Nm
 tunnel with firewalls, add
-.Cd "options IPSEC_FILTERGIF"
+.Cd "options IPSEC_FILTERTUNNEL"
 to the kernel configuration file.
 .\"
 .Ss Kernel interface

==== //depot/projects/arm/src/share/man/man4/vpo.4#2 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/vpo.4,v 1.22 2005/01/21 08:36:37 ru Exp $
+.\" $FreeBSD: src/share/man/man4/vpo.4,v 1.23 2007/08/05 07:39:30 maxim Exp $
 .\"
 .Dd December 14, 2004
 .Dt VPO 4
@@ -38,7 +38,7 @@
 .Sh DESCRIPTION
 The
 .Nm
-driver provide access to parallel port Iomage Zip and Jaz drives.
+driver provide access to parallel port Iomega Zip and Jaz drives.
 .Sh HARDWARE
 The
 .Nm

==== //depot/projects/arm/src/share/man/man9/locking.9#5 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/locking.9,v 1.10 2007/06/21 16:39:25 brueffer Exp $
+.\" $FreeBSD: src/share/man/man9/locking.9,v 1.11 2007/08/09 21:09:56 julian Exp $
 .\"
 .Dd March 14, 2007
 .Dt LOCKING 9
@@ -67,7 +67,8 @@
 .El
 .Pp
 The primitives interact and have a number of rules regarding how
-they can and can not be combined. There are too many for the average
+they can and can not be combined.
+There are too many for the average
 human mind and they keep changing.
 (if you disagree, please write replacement text)  :-)
 .Pp
@@ -85,63 +86,70 @@
 If you don't own it then you just spin, waiting for the holder (on
 another CPU) to release it.
 Hopefully they are doing something fast.
-You can not do anything that deschedules the thread while you
+You 
+.Em must not
+do anything that deschedules the thread while you
 are holding a SPIN mutex.
-.Ss Sleep Mutexes
-Basically sleep (regular) mutexes will deschedule the thread if the
+.Ss Mutexes
+Basically (regular) mutexes will deschedule the thread if the
 mutex can not be acquired.
+A non-spin mutex can be considered to be equivalent
+to getting a write lock on an 
+.Em rw_lock
+(see below), and in fact non-spin mutexes and rw_locks may soon become the same thing.
 As in spin mutexes, you either get it or you don't.
-You may call the
+You may only call the
 .Xr sleep 9
-call
+call via
 .Fn msleep
 or the new
 .Fn mtx_sleep
-variant. These will atomically drop the mutex and reacquire it
+variant.
+These will atomically drop the mutex and reacquire it
 as part of waking up.
+This is often however a
+.Em BAD
+idea because it generally relies on you having
+such a good knowledge of all the call graph above you
+and what assumptions it is making that there are a lot
+of ways to make hard-to-find mistakes.
+For example you MUST re-test all the assumptions you made before,
+all the way up the call graph to where you got the lock.
+You can not just assume that mtx_sleep can be inserted anywhere.
+If any caller above you has any mutex or
+rwlock, your sleep, will cause a panic.
+If the sleep only happens rarely it may be years before the 
+bad code path is found.
 .Ss Pool Mutexes
-A variant of SLEEP mutexes where the allocation of the mutex is handled
+A variant of regular mutexes where the allocation of the mutex is handled
 more by the system.
-.Ss Sx_locks
-Shared/exclusive locks are used to protect data that are read far more often
-than they are written.
-Mutexes are inherently more efficient than shared/exclusive locks, so
-shared/exclusive locks should be used prudently.
-A thread may hold a shared or exclusive lock on an
-.Em sx_lock
-lock while sleeping.
-As a result, an
-.Em sx_lock
-lock may not be acquired while holding a mutex.
-Otherwise, if one thread slept while holding an
-.Em sx_lock
-lock while another thread blocked on the same
-.Em sx_lock
-lock after acquiring a mutex, then the second thread would effectively
-end up sleeping while holding a mutex, which is not allowed.
 .Ss Rw_locks
 Reader/writer locks allow shared access to protected data by multiple threads,
 or exclusive access by a single thread.
 The threads with shared access are known as
 .Em readers
-since they only read the protected data.
+since they should only read the protected data.
 A thread with exclusive access is known as a
 .Em writer
-since it can modify protected data.
+since it may modify protected data.
 .Pp
 Although reader/writer locks look very similar to
 .Xr sx 9
-locks, their usage pattern is different.
-Reader/writer locks can be treated as mutexes (see
+(see below) locks, their usage pattern is different.
+Reader/writer locks can be treated as mutexes (see above and
 .Xr mutex 9 )
 with shared/exclusive semantics.
-Unlike
-.Xr sx 9 ,
-an
+More specifically, regular mutexes can be 
+considered to be equivalent to a write-lock on an
+.Em rw_lock.
+In the future this may in fact
+become literally the fact.
+An
 .Em rw_lock
-can be locked while holding a non-spin mutex, and an
-.Em rw_lock
-cannot be held while sleeping.
+can be locked while holding a regular mutex, but 
+can
+.Em not
+be held while sleeping.
 The
 .Em rw_lock
 locks have priority propagation like mutexes, but priority
@@ -150,8 +158,36 @@
 are anonymous.
 Another important property is that shared holders of
 .Em rw_lock
-can recurse,
-but exclusive locks are not allowed to recurse.
+can recurse, but exclusive locks are not allowed to recurse.
+This ability should not be used lightly and 
+.Em may go away.
+Users of recursion in any locks should be prepared to 
+defend their decision against vigorous criticism.
+.Ss Sx_locks
+Shared/exclusive locks are used to protect data that are read far more often
+than they are written.
+Mutexes are inherently more efficient than shared/exclusive locks, so
+shared/exclusive locks should be used prudently.
+The main reason for using an
+.Em sx_lock
+is that a thread may hold a shared or exclusive lock on an
+.Em sx_lock
+lock while sleeping.
+As a consequence of this however, an
+.Em sx_lock
+lock may not be acquired while holding a mutex.
+The reason for this is that, if one thread slept while holding an
+.Em sx_lock
+lock while another thread blocked on the same
+.Em sx_lock
+lock after acquiring a mutex, then the second thread would effectively
+end up sleeping while holding a mutex, which is not allowed.
+The
+.Em sx_lock
+should be considered to be closely related to
+.Xr sleep 9 .
+In fact it could in some cases be 
+considered a conditional sleep.
 .Ss Turnstiles
 Turnstiles are used to hold a queue of threads blocked on
 non-sleepable locks.
@@ -160,6 +196,7 @@
 are assigned to a lock held by an owning thread.
 Thus, when one thread is enqueued onto a turnstile, it can lend its
 priority to the owning thread.
+If this sounds confusing, we need to describe it better.
 .Ss Semaphores
 .Ss Condition variables
 Condition variables are used in conjunction with mutexes to wait for
@@ -182,7 +219,7 @@
 .It
 You can sleep while it has recursed, but other recursive locks cannot.
 .It
-Giant must be locked first.
+Giant must be locked first before other locks.
 .It
 There are places in the kernel that drop Giant and pick it back up
 again.
@@ -249,7 +286,8 @@
 mutex before the function returns.
 .Pp
 .Ss lockmanager locks
-Largely deprecated. See the
+Largely deprecated.
+See the
 .Xr lock 9
 page for more information.
 I don't know what the downsides are but I'm sure someone will fill in this part.
@@ -269,10 +307,12 @@
 .El
 .Pp
 .Em *1
-Recursion is defined per lock. Lock order is important.
+Recursion is defined per lock.
+Lock order is important.
 .Pp
 .Em *2
-readers can recurse though writers can not. Lock order is important.
+readers can recurse though writers can not.
+Lock order is important.
 .Pp
 .Em *3
 There are calls atomically release this primitive when going to sleep
@@ -302,6 +342,7 @@
 .Xr condvar 9 ,
 .Xr lock 9 ,
 .Xr mtx_pool 9 ,
+.Xr mutex 9 ,
 .Xr rwlock 9 ,
 .Xr sema 9 ,
 .Xr sleep 9 ,

==== //depot/projects/arm/src/share/man/man9/rtentry.9#2 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/rtentry.9,v 1.24 2005/01/21 08:36:40 ru Exp $
+.\" $FreeBSD: src/share/man/man9/rtentry.9,v 1.25 2007/08/05 07:38:09 maxim Exp $
 .\"
 .Dd October 7, 2004
 .Os
@@ -263,7 +263,7 @@
 .Dv RMX_RTTUNIT
 per second.
 .It Vt "u_long rmx_rttvar" ;
-The average deviation of the round-type time to this destination, in
+The average deviation of the round-trip time to this destination, in
 units of
 .Dv RMX_RTTUNIT
 per second.

==== //depot/projects/arm/src/share/misc/bsd-family-tree#9 (text+ko) ====

@@ -174,7 +174,7 @@
  |                    |      |                 |                      \
 FreeBSD 5.0           |      |                 |                       |
  |                    |      |                 |                       |
-FreeBSD 5.1           |      |                 |                  DragonFly 1.0
+FreeBSD 5.1           |      |                 |                 DragonFly 1.0
  |          \         |      |                 |                       |
  |           ----- Mac OS X  |                 |                       |
  |                   10.3    |                 |                       |
@@ -185,7 +185,7 @@
  *-------FreeBSD 5.3  |      |                 |                       |
  |           |        |      |             OpenBSD 3.6                 |
  |           |        |   NetBSD 2.0           |                       |
- |           |        |      | |  |            |                 DragonFly 1.2.0
+ |           |        |      | |  |            |                DragonFly 1.2.0
  |           |     Mac OS X  | | NetBSD 2.0.2  |                       |
  |           |       10.4    | |  |            |                       |
  |       FreeBSD 5.4  |      | |  |            |                       |
@@ -198,19 +198,20 @@
  |     |     |        |      | NetBSD 2.1      |                       |
  |     |     |        |      |                 |                       |
  |     |     |        |   NetBSD 3.0           |                       |
- |     |     |        |      | |  |            |                 DragonFly 1.4.0
+ |     |     |        |      | |  |            |                DragonFly 1.4.0
  |     |     |        |      | |  |        OpenBSD 3.9                 |
  |  FreeBSD  |        |      | |  |            |                       |
  |    6.1    |        |      | |  |            |                       |
  |     |  FreeBSD 5.5 |      | |  |            |                       |
- |     |              |      | | NetBSD 3.0.1  |                 DragonFly 1.6.0
+ |     |              |      | | NetBSD 3.0.1  |                DragonFly 1.6.0
  |     |              |      | |  |            |                       |
  |     |              |      | |  |        OpenBSD 4.0                 |
  |     |              |      | | NetBSD 3.0.2  |                       |
  |     |              |      | NetBSD 3.1      |                       |
  | FreeBSD 6.2        |      |                 |                       |
- |     |              |      |                 |                 DragonFly 1.8.0
+ |     |              |      |                 |                DragonFly 1.8.0
  |     |              |      |             OpenBSD 4.1                 |
+ |     |              |      |                 |                DragonFly 1.10.0
  |     V              |      |                 |                       |
 FreeBSD 7 -current    |  NetBSD -current  OpenBSD -current             |
  |                    |      |                 |                       |
@@ -466,6 +467,7 @@
 FreeBSD 6.2		2007-01-15 [FBD]
 DragonFly 1.8.0		2007-01-30 [DFB]
 OpenBSD 4.1		2007-05-01 [OBD]
+DragonFly 1.10.0	2007-08-06 [DFB]
 
 Bibliography
 ------------------------
@@ -526,4 +528,4 @@
 Copyright (c) 1997-2007 Wolfram Schneider <wosch at FreeBSD.ORG>
 URL: http://cvsweb.freebsd.org/src/share/misc/bsd-family-tree
 
-$FreeBSD: src/share/misc/bsd-family-tree,v 1.113 2007/05/31 03:40:29 imp Exp $
+$FreeBSD: src/share/misc/bsd-family-tree,v 1.115 2007/08/07 15:35:24 maxim Exp $

==== //depot/projects/arm/src/sys/arm/arm/cpufunc.c#17 (text+ko) ====

@@ -45,7 +45,7 @@
  * Created      : 30/01/97
  */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.17 2007/07/27 14:39:41 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.18 2007/08/07 18:37:21 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -148,9 +148,9 @@
 	arm7tdmi_cache_flushID,		/* idcache_wbinv_all	*/
 	(void *)arm7tdmi_cache_flushID,	/* idcache_wbinv_range	*/
 	cpufunc_nullop,			/* l2cache_wbinv_all	*/
-	cpufunc_nullop,			/* l2cache_wbinv_range	*/
-	cpufunc_nullop,			/* l2cache_inv_range	*/
-	cpufunc_nullop,			/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wbinv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_inv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -210,9 +210,9 @@
 	arm8_cache_purgeID,		/* idcache_wbinv_all	*/
 	(void *)arm8_cache_purgeID,	/* idcache_wbinv_range	*/
 	cpufunc_nullop,			/* l2cache_wbinv_all	*/
-	cpufunc_nullop,			/* l2cache_wbinv_range	*/
-	cpufunc_nullop,			/* l2cache_inv_range	*/
-	cpufunc_nullop,			/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wbinv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_inv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -271,9 +271,9 @@
 	arm9_idcache_wbinv_all,		/* idcache_wbinv_all	*/
 	arm9_idcache_wbinv_range,	/* idcache_wbinv_range	*/
 	cpufunc_nullop,			/* l2cache_wbinv_all	*/
-	cpufunc_nullop,			/* l2cache_wbinv_range	*/
-	cpufunc_nullop,			/* l2cache_inv_range	*/
-	cpufunc_nullop,			/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wbinv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_inv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -391,9 +391,9 @@
 	arm10_idcache_wbinv_all,	/* idcache_wbinv_all	*/
 	arm10_idcache_wbinv_range,	/* idcache_wbinv_range	*/
 	cpufunc_nullop,			/* l2cache_wbinv_all	*/
-	cpufunc_nullop,			/* l2cache_wbinv_range	*/
-	cpufunc_nullop,			/* l2cache_inv_range	*/
-	cpufunc_nullop,			/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wbinv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_inv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -453,9 +453,9 @@
 	sa1_cache_purgeID,		/* idcache_wbinv_all	*/
 	sa1_cache_purgeID_rng,		/* idcache_wbinv_range	*/
 	cpufunc_nullop,			/* l2cache_wbinv_all	*/
-	cpufunc_nullop,			/* l2cache_wbinv_range	*/
-	cpufunc_nullop,			/* l2cache_inv_range	*/
-	cpufunc_nullop,			/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wbinv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_inv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -514,9 +514,9 @@
 	sa1_cache_purgeID,		/* idcache_wbinv_all	*/
 	sa1_cache_purgeID_rng,		/* idcache_wbinv_range	*/
 	cpufunc_nullop,			/* l2cache_wbinv_all	*/
-	cpufunc_nullop,			/* l2cache_wbinv_range	*/
-	cpufunc_nullop,			/* l2cache_inv_range	*/
-	cpufunc_nullop,			/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wbinv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_inv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -575,9 +575,9 @@
 	sa1_cache_purgeID,		/* idcache_wbinv_all	*/
 	sa1_cache_purgeID_rng,		/* idcache_wbinv_range	*/
 	cpufunc_nullop,			/* l2cache_wbinv_all	*/
-	cpufunc_nullop,			/* l2cache_wbinv_range	*/
-	cpufunc_nullop,			/* l2cache_inv_range	*/
-	cpufunc_nullop,			/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wbinv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_inv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -639,9 +639,9 @@
 	xscale_cache_purgeID,		/* idcache_wbinv_all	*/
 	xscale_cache_purgeID_rng,	/* idcache_wbinv_range	*/
 	cpufunc_nullop,			/* l2cache_wbinv_all 	*/
-	cpufunc_nullop,			/* l2cache_wbinv_range	*/
-	cpufunc_nullop,			/* l2cache_inv_range	*/
-	cpufunc_nullop,			/* l2cache_wb_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wbinv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_inv_range	*/
+	(void *)cpufunc_nullop,		/* l2cache_wb_range	*/
 
 	/* Other functions */
 

==== //depot/projects/arm/src/sys/arm/arm/genassym.c#7 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/genassym.c,v 1.9 2007/05/23 13:21:57 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/genassym.c,v 1.10 2007/08/08 09:27:52 cognet Exp $");
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/assym.h>
@@ -92,6 +92,7 @@
 ASSYM(TD_PROC, offsetof(struct thread, td_proc));
 ASSYM(TD_FRAME, offsetof(struct thread, td_frame));
 ASSYM(TD_MD, offsetof(struct thread, td_md));
+ASSYM(TD_LOCK, offsetof(struct thread, td_lock));
 ASSYM(MD_TP, offsetof(struct mdthread, md_tp));
 
 ASSYM(TF_R0, offsetof(struct trapframe, tf_r0));


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


More information about the p4-projects mailing list