PERFORCE change 101341 for review

John Birrell jb at FreeBSD.org
Wed Jul 12 08:46:22 UTC 2006


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

Change 101341 by jb at jb_freebsd2 on 2006/07/12 08:46:04

	IFC

Affected files ...

.. //depot/projects/dtrace/src/MAINTAINERS#9 integrate
.. //depot/projects/dtrace/src/UPDATING#4 integrate
.. //depot/projects/dtrace/src/bin/dd/Makefile#3 integrate
.. //depot/projects/dtrace/src/contrib/wpa_supplicant/Makefile#3 edit
.. //depot/projects/dtrace/src/etc/rc.d/dhclient#3 integrate
.. //depot/projects/dtrace/src/games/fortune/datfiles/Makefile#3 integrate
.. //depot/projects/dtrace/src/games/fortune/datfiles/fortunes#8 integrate
.. //depot/projects/dtrace/src/lib/libthr/sys/thr_error.c#4 integrate
.. //depot/projects/dtrace/src/sbin/ifconfig/ifclone.c#3 integrate
.. //depot/projects/dtrace/src/sbin/ifconfig/ifconfig.c#3 integrate
.. //depot/projects/dtrace/src/sbin/ifconfig/ifconfig.h#3 integrate
.. //depot/projects/dtrace/src/sbin/ifconfig/ifvlan.c#3 integrate
.. //depot/projects/dtrace/src/share/man/man9/mac.9#3 integrate
.. //depot/projects/dtrace/src/share/man/man9/mutex.9#3 integrate
.. //depot/projects/dtrace/src/sys/amd64/amd64/identcpu.c#4 integrate
.. //depot/projects/dtrace/src/sys/amd64/conf/GENERIC#10 integrate
.. //depot/projects/dtrace/src/sys/amd64/include/specialreg.h#4 integrate
.. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_proto.h#5 integrate
.. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_syscall.h#5 integrate
.. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_sysent.c#5 integrate
.. //depot/projects/dtrace/src/sys/amd64/linux32/syscalls.master#5 integrate
.. //depot/projects/dtrace/src/sys/arm/arm/pmap.c#8 integrate
.. //depot/projects/dtrace/src/sys/arm/at91/kb920x_machdep.c#5 integrate
.. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_misc.c#3 integrate
.. //depot/projects/dtrace/src/sys/compat/linux/linux_file.c#4 integrate
.. //depot/projects/dtrace/src/sys/compat/svr4/svr4_misc.c#3 integrate
.. //depot/projects/dtrace/src/sys/compat/svr4/svr4_proto.h#3 integrate
.. //depot/projects/dtrace/src/sys/compat/svr4/svr4_stream.c#3 integrate
.. //depot/projects/dtrace/src/sys/compat/svr4/svr4_syscall.h#3 integrate
.. //depot/projects/dtrace/src/sys/compat/svr4/svr4_syscallnames.c#3 integrate
.. //depot/projects/dtrace/src/sys/compat/svr4/svr4_sysent.c#3 integrate
.. //depot/projects/dtrace/src/sys/compat/svr4/svr4_util.h#3 integrate
.. //depot/projects/dtrace/src/sys/compat/svr4/syscalls.master#3 integrate
.. //depot/projects/dtrace/src/sys/conf/NOTES#11 integrate
.. //depot/projects/dtrace/src/sys/contrib/pf/net/if_pflog.c#3 integrate
.. //depot/projects/dtrace/src/sys/contrib/pf/net/if_pfsync.c#4 integrate
.. //depot/projects/dtrace/src/sys/dev/asr/MAINTAINER#3 delete
.. //depot/projects/dtrace/src/sys/dev/fdc/fdc.c#4 integrate
.. //depot/projects/dtrace/src/sys/dev/isp/isp_freebsd.c#5 integrate
.. //depot/projects/dtrace/src/sys/dev/isp/isp_freebsd.h#6 integrate
.. //depot/projects/dtrace/src/sys/dev/isp/isp_pci.c#6 integrate
.. //depot/projects/dtrace/src/sys/dev/isp/isp_sbus.c#4 integrate
.. //depot/projects/dtrace/src/sys/dev/isp/isp_target.c#4 integrate
.. //depot/projects/dtrace/src/sys/dev/ispfw/asm_1040.h#3 integrate
.. //depot/projects/dtrace/src/sys/dev/ispfw/asm_1080.h#3 integrate
.. //depot/projects/dtrace/src/sys/dev/ispfw/asm_12160.h#3 integrate
.. //depot/projects/dtrace/src/sys/dev/ispfw/ispfw.c#4 integrate
.. //depot/projects/dtrace/src/sys/dev/sound/midi/sequencer.c#3 integrate
.. //depot/projects/dtrace/src/sys/geom/mirror/g_mirror.c#6 integrate
.. //depot/projects/dtrace/src/sys/geom/raid3/g_raid3.c#9 integrate
.. //depot/projects/dtrace/src/sys/i386/conf/GENERIC#12 integrate
.. //depot/projects/dtrace/src/sys/i386/conf/PAE#4 integrate
.. //depot/projects/dtrace/src/sys/i386/i386/identcpu.c#4 integrate
.. //depot/projects/dtrace/src/sys/i386/ibcs2/ibcs2_misc.c#4 integrate
.. //depot/projects/dtrace/src/sys/i386/ibcs2/ibcs2_proto.h#4 integrate
.. //depot/projects/dtrace/src/sys/i386/ibcs2/ibcs2_syscall.h#4 integrate
.. //depot/projects/dtrace/src/sys/i386/ibcs2/ibcs2_sysent.c#4 integrate
.. //depot/projects/dtrace/src/sys/i386/ibcs2/ibcs2_util.h#3 integrate
.. //depot/projects/dtrace/src/sys/i386/ibcs2/ibcs2_xenix.c#4 integrate
.. //depot/projects/dtrace/src/sys/i386/ibcs2/imgact_coff.c#3 integrate
.. //depot/projects/dtrace/src/sys/i386/ibcs2/syscalls.master#4 integrate
.. //depot/projects/dtrace/src/sys/i386/include/i4b_ioctl.h#3 integrate
.. //depot/projects/dtrace/src/sys/i386/include/specialreg.h#4 integrate
.. //depot/projects/dtrace/src/sys/i386/linux/linux_proto.h#5 integrate
.. //depot/projects/dtrace/src/sys/i386/linux/linux_syscall.h#5 integrate
.. //depot/projects/dtrace/src/sys/i386/linux/linux_sysent.c#5 integrate
.. //depot/projects/dtrace/src/sys/i386/linux/syscalls.master#5 integrate
.. //depot/projects/dtrace/src/sys/i4b/layer4/i4b_l4mgmt.c#3 integrate
.. //depot/projects/dtrace/src/sys/ia64/conf/GENERIC#4 integrate
.. //depot/projects/dtrace/src/sys/kern/init_sysent.c#6 integrate
.. //depot/projects/dtrace/src/sys/kern/kern_environment.c#4 integrate
.. //depot/projects/dtrace/src/sys/kern/kern_linker.c#16 integrate
.. //depot/projects/dtrace/src/sys/kern/kern_thr.c#4 integrate
.. //depot/projects/dtrace/src/sys/kern/subr_hints.c#3 integrate
.. //depot/projects/dtrace/src/sys/kern/syscalls.c#5 integrate
.. //depot/projects/dtrace/src/sys/kern/syscalls.master#5 integrate
.. //depot/projects/dtrace/src/sys/kern/uipc_domain.c#4 integrate
.. //depot/projects/dtrace/src/sys/kern/uipc_socket.c#5 integrate
.. //depot/projects/dtrace/src/sys/kern/uipc_socket2.c#5 integrate
.. //depot/projects/dtrace/src/sys/kern/uipc_syscalls.c#5 integrate
.. //depot/projects/dtrace/src/sys/kern/uipc_usrreq.c#6 integrate
.. //depot/projects/dtrace/src/sys/kern/vfs_syscalls.c#4 integrate
.. //depot/projects/dtrace/src/sys/modules/ispfw/Makefile#3 integrate
.. //depot/projects/dtrace/src/sys/modules/ispfw/isp_1000/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/modules/ispfw/isp_1040/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/modules/ispfw/isp_1040_it/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/modules/ispfw/isp_1080/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/modules/ispfw/isp_1080_it/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/modules/ispfw/isp_12160/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/modules/ispfw/isp_12160_it/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/modules/ispfw/isp_2100/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/modules/ispfw/isp_2200/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/modules/ispfw/isp_2300/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/modules/ispfw/isp_2322/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/modules/ispfw/ispfw/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/net/if.c#4 integrate
.. //depot/projects/dtrace/src/sys/net/if_bridge.c#7 integrate
.. //depot/projects/dtrace/src/sys/net/if_clone.c#3 integrate
.. //depot/projects/dtrace/src/sys/net/if_clone.h#3 integrate
.. //depot/projects/dtrace/src/sys/net/if_disc.c#3 integrate
.. //depot/projects/dtrace/src/sys/net/if_enc.c#3 integrate
.. //depot/projects/dtrace/src/sys/net/if_faith.c#3 integrate
.. //depot/projects/dtrace/src/sys/net/if_gif.c#4 integrate
.. //depot/projects/dtrace/src/sys/net/if_gre.c#4 integrate
.. //depot/projects/dtrace/src/sys/net/if_loop.c#4 integrate
.. //depot/projects/dtrace/src/sys/net/if_ppp.c#3 integrate
.. //depot/projects/dtrace/src/sys/net/if_stf.c#4 integrate
.. //depot/projects/dtrace/src/sys/net/if_vlan.c#3 integrate
.. //depot/projects/dtrace/src/sys/netinet/ip_carp.c#4 integrate
.. //depot/projects/dtrace/src/sys/pc98/conf/GENERIC#5 integrate
.. //depot/projects/dtrace/src/sys/posix4/ksched.c#6 integrate
.. //depot/projects/dtrace/src/sys/posix4/p1003_1b.c#4 integrate
.. //depot/projects/dtrace/src/sys/posix4/posix4.h#3 integrate
.. //depot/projects/dtrace/src/sys/powerpc/powerpc/mmu_oea.c#4 integrate
.. //depot/projects/dtrace/src/sys/security/mac_biba/mac_biba.c#3 integrate
.. //depot/projects/dtrace/src/sys/sparc64/conf/GENERIC#6 integrate
.. //depot/projects/dtrace/src/sys/sys/protosw.h#4 integrate
.. //depot/projects/dtrace/src/sys/sys/sockio.h#3 integrate
.. //depot/projects/dtrace/src/sys/sys/syscall.h#5 integrate
.. //depot/projects/dtrace/src/sys/sys/syscall.mk#5 integrate
.. //depot/projects/dtrace/src/sys/sys/syscallsubr.h#4 integrate
.. //depot/projects/dtrace/src/sys/sys/sysproto.h#5 integrate
.. //depot/projects/dtrace/src/sys/sys/systm.h#5 integrate
.. //depot/projects/dtrace/src/sys/sys/thr.h#3 integrate
.. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_vfsops.c#8 integrate
.. //depot/projects/dtrace/src/sys/ufs/ufs/ufs_lookup.c#3 integrate
.. //depot/projects/dtrace/src/sys/vm/vm_meter.c#5 integrate
.. //depot/projects/dtrace/src/tools/regression/fifo/fifo_create/Makefile#3 integrate
.. //depot/projects/dtrace/src/tools/regression/fifo/fifo_io/Makefile#3 integrate
.. //depot/projects/dtrace/src/tools/regression/fifo/fifo_misc/Makefile#3 integrate
.. //depot/projects/dtrace/src/tools/regression/fifo/fifo_open/Makefile#3 integrate
.. //depot/projects/dtrace/src/tools/regression/file/ftruncate/Makefile#1 branch
.. //depot/projects/dtrace/src/tools/regression/file/ftruncate/ftruncate.c#1 branch
.. //depot/projects/dtrace/src/tools/regression/lib/libc/resolv/Makefile#3 edit
.. //depot/projects/dtrace/src/tools/regression/netinet/msocket_ifnet_remove/Makefile#3 integrate
.. //depot/projects/dtrace/src/tools/regression/netinet/tcpdrop/Makefile#2 integrate
.. //depot/projects/dtrace/src/tools/regression/netinet/tcpsockclosebeforeaccept/Makefile#2 integrate
.. //depot/projects/dtrace/src/tools/regression/netinet/tcpsocktimewait/Makefile#2 integrate
.. //depot/projects/dtrace/src/tools/regression/netipx/ipxdgramloopback/Makefile#2 integrate
.. //depot/projects/dtrace/src/tools/regression/netipx/spxabort/Makefile#2 integrate
.. //depot/projects/dtrace/src/tools/regression/netipx/spxloopback/Makefile#2 integrate
.. //depot/projects/dtrace/src/tools/regression/sockets/listen_backlog/Makefile#3 integrate
.. //depot/projects/dtrace/src/tools/regression/sockets/rtsocket/Makefile#2 integrate
.. //depot/projects/dtrace/src/tools/regression/sockets/sendfile/Makefile#2 integrate
.. //depot/projects/dtrace/src/tools/regression/sockets/socketpair/Makefile#3 integrate
.. //depot/projects/dtrace/src/tools/regression/sockets/unix_bindconnect/Makefile#3 integrate
.. //depot/projects/dtrace/src/tools/regression/sockets/unix_passfd/Makefile#3 integrate
.. //depot/projects/dtrace/src/tools/regression/sockets/unix_socket/Makefile#2 integrate
.. //depot/projects/dtrace/src/tools/regression/ufs/uprintf/Makefile#3 integrate
.. //depot/projects/dtrace/src/usr.bin/csup/Makefile#2 edit
.. //depot/projects/dtrace/src/usr.sbin/i4b/isdnd/controller.c#4 integrate
.. //depot/projects/dtrace/src/usr.sbin/i4b/isdnd/main.c#4 integrate
.. //depot/projects/dtrace/src/usr.sbin/i4b/isdndebug/main.c#3 integrate
.. //depot/projects/dtrace/src/usr.sbin/i4b/isdnmonitor/main.c#3 integrate
.. //depot/projects/dtrace/src/usr.sbin/i4b/isdnphone/main.c#3 integrate
.. //depot/projects/dtrace/src/usr.sbin/i4b/isdntelctl/main.c#3 integrate
.. //depot/projects/dtrace/src/usr.sbin/i4b/isdntest/main.c#4 integrate

Differences ...

==== //depot/projects/dtrace/src/MAINTAINERS#9 (text+ko) ====

@@ -1,4 +1,4 @@
-$FreeBSD: src/MAINTAINERS,v 1.137 2006/07/04 02:01:48 brooks Exp $
+$FreeBSD: src/MAINTAINERS,v 1.139 2006/07/11 06:09:54 mjacob Exp $
 
 Please note that the content of this file is strictly advisory.
 No locks listed here are valid.  The only strict review requirements
@@ -51,7 +51,6 @@
 pass(4)		ken	Pre-commit review requested.
 ch(4)		ken	Pre-commit review requested.
 isp(4)		mjacob	Pre-commit review requested.
-mpt(4)		mjacob	Pre-commit review requested.
 em(4)		tackerman	Pre-commit review requested.
 tdfx(4)		cokane  Just keep me informed of changes, try not to break it.
 sendmail	gshapiro	Pre-commit review requested.
@@ -135,11 +134,7 @@
 List below generated with:
 $ cd /usr/src; find */* -type f|xargs egrep 'MAINTAINER[ <tab>]*='
 
-bin/dd/Makefile:MAINTAINER=	green at FreeBSD.org
-games/fortune/datfiles/Makefile:MAINTAINER=	jkh
-gnu/usr.bin/man/apropos/Makefile:MAINTAINER= wosch
 sys/modules/3dfx/Makefile:MAINTAINER=	cokane at FreeBSD.org
 sys/modules/urio/Makefile:MAINTAINER=	Iwasa Kazmi <kzmi at ca2.so-net.ne.jp>
 tools/tools/sysdoc/Makefile:MAINTAINER=	trhodes at FreeBSD.org
-usr.bin/locate/Makefile:MAINTAINER= wosch
 usr.sbin/zic/Makefile:MAINTAINER=	wollman at FreeBSD.org

==== //depot/projects/dtrace/src/UPDATING#4 (text+ko) ====

@@ -21,6 +21,12 @@
 	developers choose to disable these features on build machines
 	to maximize performance.
 
+20060709:
+ 	The interface version of the i4b kernel part has changed. So
+ 	after updating the kernel sources and compiling a new kernel,
+ 	the i4b user space tools in "/usr/src/usr.sbin/i4b" must also
+ 	be rebuilt, and vice versa.
+ 
 20060627:
 	The XBOX kernel now defaults to the nfe(4) driver instead of
 	the nve(4) driver. Please update your configuration
@@ -585,4 +591,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.450 2006/06/27 20:22:32 rink Exp $
+$FreeBSD: src/UPDATING,v 1.451 2006/07/09 21:16:06 twinterg Exp $

==== //depot/projects/dtrace/src/bin/dd/Makefile#3 (text+ko) ====

@@ -1,7 +1,5 @@
 #	@(#)Makefile	8.1 (Berkeley) 5/31/93
-# $FreeBSD: src/bin/dd/Makefile,v 1.18 2004/04/09 07:13:27 njl Exp $
-
-MAINTAINER=	green at FreeBSD.org
+# $FreeBSD: src/bin/dd/Makefile,v 1.19 2006/07/09 21:47:37 markm Exp $
 
 PROG=	dd
 SRCS=	args.c conv.c conv_tab.c dd.c misc.c position.c

==== //depot/projects/dtrace/src/contrib/wpa_supplicant/Makefile#3 (text+ko) ====

@@ -281,8 +281,7 @@
 # PC/SC interface for smartcards (USIM, GSM SIM)
 CFLAGS += -DPCSC_FUNCS -I/usr/include/PCSC
 OBJS += pcsc_funcs.o
-# -lpthread may not be needed depending on how pcsc-lite was configured
-LIBS += -lpcsclite -lpthread
+LIBS += -lpcsclite
 endif
 
 ifndef CONFIG_TLS

==== //depot/projects/dtrace/src/etc/rc.d/dhclient#3 (text+ko) ====

@@ -1,7 +1,7 @@
 #!/bin/sh
 #
 # $NetBSD: dhclient,v 1.8 2002/03/22 04:33:58 thorpej Exp $
-# $FreeBSD: src/etc/rc.d/dhclient,v 1.21 2005/07/26 00:37:19 brooks Exp $
+# $FreeBSD: src/etc/rc.d/dhclient,v 1.22 2006/07/09 06:54:24 stefanf Exp $
 #
 
 # PROVIDE: dhclient
@@ -18,7 +18,7 @@
 
 dhclient_start()
 {
-	# prevent unnecessicary restarts
+	# prevent unnecessary restarts
 	# XXX: should use a pidfile
 	if [ -x /usr/bin/pgrep ]; then
 		pids=`/usr/bin/pgrep -f "dhclient: $ifn(\$| .*)"`

==== //depot/projects/dtrace/src/games/fortune/datfiles/Makefile#3 (text+ko) ====

@@ -1,15 +1,10 @@
 #	@(#)Makefile	8.2 (Berkeley) 4/19/94
-# $FreeBSD: src/games/fortune/datfiles/Makefile,v 1.33 2005/02/03 00:20:36 ru Exp $
+# $FreeBSD: src/games/fortune/datfiles/Makefile,v 1.34 2006/07/09 20:26:36 markm Exp $
 
 FILES=	fortunes freebsd-tips murphy startrek zippy
 BLDS=	fortunes.dat murphy.dat startrek.dat zippy.dat \
 	fortunes-o fortunes-o.dat freebsd-tips.dat
 
-# Pass all new entries by ${MAINTAINER} to preserve some semblance of
-# humor in the fortune files.  What's funny to you on 6 beers may not
-# be funny to anyone else.
-MAINTAINER=	jkh
-
 # TO AVOID INSTALLING THE POTENTIALLY OFFENSIVE FORTUNES, COMMENT OUT THE
 # THREE LINES AND UNCOMMENT THE FOURTH LINE.
 

==== //depot/projects/dtrace/src/games/fortune/datfiles/fortunes#8 (text+ko) ====

@@ -1,5 +1,5 @@
 This fortune brought to you by:
-$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.221 2006/06/20 08:34:36 phk Exp $
+$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.223 2006/07/10 16:53:32 phk Exp $
 
 %
 =======================================================================
@@ -29705,6 +29705,10 @@
 remember.
 		-- Eugene McCarthy
 %
+It is difficult to get a man to understand something when his salary
+depends upon his not understanding it.
+		-- Upton Sinclair
+%
 It is difficult to legislate morality in the absence of moral legislators.
 %
 It is difficult to produce a television documentary that is both

==== //depot/projects/dtrace/src/lib/libthr/sys/thr_error.c#4 (text+ko) ====

@@ -31,7 +31,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/sys/thr_error.c,v 1.2 2005/04/02 01:20:00 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/sys/thr_error.c,v 1.3 2006/07/12 03:44:05 davidxu Exp $
  */
 
 #include <pthread.h>
@@ -52,5 +52,6 @@
 		if (curthread != NULL && curthread != _thr_initial)
 			return (&curthread->error);
 	} else
-		return (&errno);
+	}
+	return (&errno);
 }

==== //depot/projects/dtrace/src/sbin/ifconfig/ifclone.c#3 (text+ko) ====

@@ -29,7 +29,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-  "$FreeBSD: src/sbin/ifconfig/ifclone.c,v 1.1 2004/12/08 19:18:07 sam Exp $";
+  "$FreeBSD: src/sbin/ifconfig/ifclone.c,v 1.2 2006/07/09 06:10:23 sam Exp $";
 #endif /* not lint */
 
 #include <sys/types.h>
@@ -88,48 +88,62 @@
 	free(buf);
 }
 
+static clone_callback_func *clone_cb = NULL;
+
 void
-clone_create(void)
+clone_setcallback(clone_callback_func *p)
 {
-	int s;
+	if (clone_cb != NULL && clone_cb != p)
+		errx(1, "conflicting device create parameters");
+	clone_cb = p;
+}
 
-	s = socket(AF_INET, SOCK_DGRAM, 0);
-	if (s == -1)
-		err(1, "socket(AF_INET,SOCK_DGRAM)");
+/*
+ * Do the actual clone operation.  Any parameters must have been
+ * setup by now.  If a callback has been setup to do the work
+ * then defer to it; otherwise do a simple create operation with
+ * no parameters.
+ */
+static void
+ifclonecreate(int s, void *arg)
+{
+	struct ifreq ifr;
 
 	memset(&ifr, 0, sizeof(ifr));
 	(void) strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
-	if (ioctl(s, SIOCIFCREATE, &ifr) < 0)
-		err(1, "SIOCIFCREATE");
+	if (clone_cb == NULL) {
+		/* NB: no parameters */
+		if (ioctl(s, SIOCIFCREATE2, &ifr) < 0)
+			err(1, "SIOCIFCREATE2");
+	} else {
+		clone_cb(s, &ifr);
+	}
 
 	/*
-	 * If we get a different name back then we put in, we probably
-	 * want to print it out, but we might change our mind later so
-	 * we just signal our intrest and leave the printout for later.
+	 * If we get a different name back than we put in, print it.
 	 */
-	if (strcmp(name, ifr.ifr_name) != 0) {
-		printname = 1;
+	if (strncmp(name, ifr.ifr_name, sizeof(name)) != 0) {
 		strlcpy(name, ifr.ifr_name, sizeof(name));
+		printf("%s\n", name);
 	}
+}
 
-	close(s);
+static
+DECL_CMD_FUNC(clone_create, arg, d)
+{
+	callback_register(ifclonecreate, NULL);
 }
 
-static void
-clone_destroy(const char *val, int d, int s, const struct afswtch *rafp)
+static
+DECL_CMD_FUNC(clone_destroy, arg, d)
 {
-
 	(void) strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
 	if (ioctl(s, SIOCIFDESTROY, &ifr) < 0)
 		err(1, "SIOCIFDESTROY");
-	/*
-	 * If we create and destroy an interface in the same command,
-	 * there isn't any reason to print it's name.
-	 */
-	printname = 0;
 }
 
 static struct cmd clone_cmds[] = {
+	DEF_CMD("create",	0,	clone_create),
 	DEF_CMD("destroy",	0,	clone_destroy),
 	DEF_CMD("unplumb",	0,	clone_destroy),
 };

==== //depot/projects/dtrace/src/sbin/ifconfig/ifconfig.c#3 (text+ko) ====

@@ -38,7 +38,7 @@
 static char sccsid[] = "@(#)ifconfig.c	8.2 (Berkeley) 2/16/94";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.119 2006/03/12 14:00:15 glebius Exp $";
+  "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.120 2006/07/09 06:10:23 sam Exp $";
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -92,7 +92,6 @@
 
 int	supmedia = 0;
 int	printkeys = 0;		/* Print keying material for interfaces. */
-int	printname = 0;		/* Print the name of the created interface. */
 
 static	int ifconfig(int argc, char *const *argv, const struct afswtch *afp);
 static	void status(const struct afswtch *afp, int addrcount,
@@ -234,21 +233,20 @@
 		/* check and maybe load support for this interface */
 		ifmaybeload(name);
 
-		/*
-		 * NOTE:  We must special-case the `create' command right
-		 * here as we would otherwise fail when trying to find
-		 * the interface.
-		 */
-		if (argc > 0 && (strcmp(argv[0], "create") == 0 ||
-		    strcmp(argv[0], "plumb") == 0)) {
-			clone_create();
-			argc--, argv++;
-			if (argc == 0)
-				goto end;
-		}
 		ifindex = if_nametoindex(name);
-		if (ifindex == 0)
+		if (ifindex == 0) {
+			/*
+			 * NOTE:  We must special-case the `create' command
+			 * right here as we would otherwise fail when trying
+			 * to find the interface.
+			 */
+			if (argc > 0 && (strcmp(argv[0], "create") == 0 ||
+			    strcmp(argv[0], "plumb") == 0)) {
+				ifconfig(argc, argv, NULL);
+				exit(0);
+			}
 			errx(1, "interface %s does not exist", name);
+		}
 	}
 
 	/* Check for address family */
@@ -356,9 +354,6 @@
 
 	if (namesonly && need_nl > 0)
 		putchar('\n');
-end:
-	if (printname)
-		printf("%s\n", name);
 
 	exit (0);
 }
@@ -782,12 +777,6 @@
 	}
 	strlcpy(name, newname, sizeof(name));
 	free(newname);
-
-	/*
-	 * Even if we just created the interface, we don't need to print
-	 * its name because we just nailed it down separately.
-	 */
-	printname = 0;
 }
 
 /*

==== //depot/projects/dtrace/src/sbin/ifconfig/ifconfig.h#3 (text+ko) ====

@@ -31,7 +31,7 @@
  *
  * so there!
  *
- * $FreeBSD: src/sbin/ifconfig/ifconfig.h,v 1.17 2005/07/14 18:33:21 rwatson Exp $
+ * $FreeBSD: src/sbin/ifconfig/ifconfig.h,v 1.18 2006/07/09 06:10:23 sam Exp $
  */
 
 #define	__constructor	__attribute__((constructor))
@@ -127,7 +127,6 @@
 extern	int allmedia;
 extern	int supmedia;
 extern	int printkeys;
-extern	int printname;
 extern	int flags;
 extern	int newaddr;
 extern	int verbose;
@@ -140,4 +139,5 @@
 
 void	ifmaybeload(char *name);
 
-void	clone_create(void);
+typedef void clone_callback_func(int, struct ifreq *);
+void	clone_setcallback(clone_callback_func *);

==== //depot/projects/dtrace/src/sbin/ifconfig/ifvlan.c#3 (text+ko) ====

@@ -56,95 +56,119 @@
 
 #ifndef lint
 static const char rcsid[] =
-  "$FreeBSD: src/sbin/ifconfig/ifvlan.c,v 1.11 2006/03/09 14:58:09 yar Exp $";
+  "$FreeBSD: src/sbin/ifconfig/ifvlan.c,v 1.12 2006/07/09 06:10:23 sam Exp $";
 #endif
-static struct vlanreq		__vreq;
-static int			__have_dev = 0;
-static int			__have_tag = 0;
+
+#define	NOTAG	((u_short) -1)
+
+static 	struct vlanreq params = {
+	.vlr_tag	= NOTAG,
+};
+
+static int
+getvlan(int s, struct ifreq *ifr, struct vlanreq *vreq)
+{
+	bzero((char *)vreq, sizeof(*vreq));
+	ifr->ifr_data = (caddr_t)vreq;
 
-static void			vlan_set(int);
+	return ioctl(s, SIOCGETVLAN, (caddr_t)ifr);
+}
 
 static void
 vlan_status(int s)
 {
 	struct vlanreq		vreq;
 
-	bzero((char *)&vreq, sizeof(vreq));
-	ifr.ifr_data = (caddr_t)&vreq;
+	if (getvlan(s, &ifr, &vreq) != -1)
+		printf("\tvlan: %d parent interface: %s\n",
+		    vreq.vlr_tag, vreq.vlr_parent[0] == '\0' ?
+		    "<none>" : vreq.vlr_parent);
+}
 
-	if (ioctl(s, SIOCGETVLAN, (caddr_t)&ifr) == -1)
-		return;
+static void
+vlan_create(int s, struct ifreq *ifr)
+{
+	if (params.vlr_tag != NOTAG || params.vlr_parent[0] != '\0') {
+		/*
+		 * One or both parameters were specified, make sure both.
+		 */
+		if (params.vlr_tag == NOTAG)
+			errx(1, "must specify a tag for vlan create");
+		if (params.vlr_parent[0] == '\0')
+			errx(1, "must specify a parent device for vlan create");
+		ifr->ifr_data = (caddr_t) &params;
+	}
+	if (ioctl(s, SIOCIFCREATE2, ifr) < 0)
+		err(1, "SIOCIFCREATE2");
+}
 
-	printf("\tvlan: %d parent interface: %s\n",
-	    vreq.vlr_tag, vreq.vlr_parent[0] == '\0' ?
-	    "<none>" : vreq.vlr_parent);
+static void
+vlan_cb(int s, void *arg)
+{
+	if ((params.vlr_tag != NOTAG) ^ (params.vlr_parent[0] != '\0'))
+		errx(1, "both vlan and vlandev must be specified");
 }
 
 static void
-setvlantag(const char *val, int d, int s, const struct afswtch	*afp)
+vlan_set(int s, struct ifreq *ifr)
+{
+	if (params.vlr_tag != NOTAG && params.vlr_parent[0] != '\0') {
+		ifr->ifr_data = (caddr_t) &params;
+		if (ioctl(s, SIOCSETVLAN, (caddr_t)ifr) == -1)
+			err(1, "SIOCSETVLAN");
+	}
+}
+
+static
+DECL_CMD_FUNC(setvlantag, val, d)
 {
-	char			*endp;
-	u_long			ul;
+	struct vlanreq vreq;
+	u_long ul;
+	char *endp;
 
 	ul = strtoul(val, &endp, 0);
 	if (*endp != '\0')
 		errx(1, "invalid value for vlan");
-	__vreq.vlr_tag = ul;
+	params.vlr_tag = ul;
 	/* check if the value can be represented in vlr_tag */
-	if (__vreq.vlr_tag != ul)
+	if (params.vlr_tag != ul)
 		errx(1, "value for vlan out of range");
-	/* the kernel will do more specific checks on vlr_tag */
-	__have_tag = 1;
-	vlan_set(s);	/* try setting vlan params in kernel */
+
+	if (getvlan(s, &ifr, &vreq) != -1)
+		vlan_set(s, &ifr);
+	else
+		clone_setcallback(vlan_create);
 }
 
-static void
-setvlandev(const char *val, int d, int s, const struct afswtch	*afp)
+static
+DECL_CMD_FUNC(setvlandev, val, d)
 {
+	struct vlanreq vreq;
+
+	strlcpy(params.vlr_parent, val, sizeof(params.vlr_parent));
 
-	strncpy(__vreq.vlr_parent, val, sizeof(__vreq.vlr_parent));
-	__have_dev = 1;
-	vlan_set(s);	/* try setting vlan params in kernel */
+	if (getvlan(s, &ifr, &vreq) != -1)
+		vlan_set(s, &ifr);
+	else
+		clone_setcallback(vlan_create);
 }
 
-static void
-unsetvlandev(const char *val, int d, int s, const struct afswtch *afp)
+static
+DECL_CMD_FUNC(unsetvlandev, val, d)
 {
+	struct vlanreq		vreq;
 
-	if (val != NULL)
-		warnx("argument to -vlandev is useless and hence deprecated");
+	bzero((char *)&vreq, sizeof(struct vlanreq));
+	ifr.ifr_data = (caddr_t)&vreq;
 
-	bzero((char *)&__vreq, sizeof(__vreq));
-	ifr.ifr_data = (caddr_t)&__vreq;
-#if 0	/* this code will be of use when we can alter vlan or vlandev only */
 	if (ioctl(s, SIOCGETVLAN, (caddr_t)&ifr) == -1)
 		err(1, "SIOCGETVLAN");
 
-	bzero((char *)&__vreq.vlr_parent, sizeof(__vreq.vlr_parent));
-	__vreq.vlr_tag = 0; /* XXX clear parent only (no kernel support now) */
-#endif
+	bzero((char *)&vreq.vlr_parent, sizeof(vreq.vlr_parent));
+	vreq.vlr_tag = 0;
+
 	if (ioctl(s, SIOCSETVLAN, (caddr_t)&ifr) == -1)
 		err(1, "SIOCSETVLAN");
-	__have_dev = __have_tag = 0;
-}
-
-static void
-vlan_cb(int s, void *arg)
-{
-
-	if (__have_tag ^ __have_dev)
-		errx(1, "both vlan and vlandev must be specified");
-}
-
-static void
-vlan_set(int s)
-{
-
-	if (__have_tag && __have_dev) {
-		ifr.ifr_data = (caddr_t)&__vreq;
-		if (ioctl(s, SIOCSETVLAN, (caddr_t)&ifr) == -1)
-			err(1, "SIOCSETVLAN");
-	}
 }
 
 static struct cmd vlan_cmds[] = {

==== //depot/projects/dtrace/src/share/man/man9/mac.9#3 (text+ko) ====

@@ -31,9 +31,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/mac.9,v 1.15 2005/06/28 20:15:18 hmp Exp $
+.\" $FreeBSD: src/share/man/man9/mac.9,v 1.17 2006/07/11 16:26:40 joel Exp $
 .\"
-.Dd February 16, 2002
+.Dd July 10, 2006
 .Dt MAC 9
 .Os
 .Sh NAME
@@ -152,7 +152,7 @@
 policies.
 .Sh ENTRY POINTS
 System service and module authors should reference the
-.%T "FreeBSD Developer's Handbook"
+.%T "FreeBSD Architecture Handbook"
 for information on the MAC Framework APIs.
 .Sh SEE ALSO
 .Xr acl 3 ,
@@ -172,8 +172,8 @@
 .Xr vaccess_acl_posix1e 9 ,
 .Xr VFS 9
 .Rs
-.%T "The FreeBSD Developers' Handbook"
-.%O "http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/developers-handbook/"
+.%T "The FreeBSD Architecture Handbook"
+.%O "http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/arch-handbook/"
 .Re
 .Sh HISTORY
 The

==== //depot/projects/dtrace/src/share/man/man9/mutex.9#3 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	from BSDI $Id: mutex.4,v 1.1.2.3 1998/04/27 22:53:13 ewv Exp $
-.\" $FreeBSD: src/share/man/man9/mutex.9,v 1.49 2006/02/01 20:30:55 glebius Exp $
+.\" $FreeBSD: src/share/man/man9/mutex.9,v 1.50 2006/07/09 09:46:43 maxim Exp $
 .\"
 .Dd February 1, 2006
 .Dt MUTEX 9
@@ -91,7 +91,7 @@
 .Ft void
 .Fn mtx_assert "struct mtx *mutex" "int what"
 .In sys/kernel.h
-.Fn MTX_SYSINIT "name" "struct mutex *mtx" "const char *description" "int opts"
+.Fn MTX_SYSINIT "name" "struct mtx *mtx" "const char *description" "int opts"
 .Sh DESCRIPTION
 Mutexes are the most basic and primary method of thread synchronization.
 The major design considerations for mutexes are:

==== //depot/projects/dtrace/src/sys/amd64/amd64/identcpu.c#4 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.146 2006/04/24 22:56:57 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.147 2006/07/12 06:04:11 jkim Exp $");
 
 #include "opt_cpu.h"
 
@@ -306,8 +306,8 @@
 				"\020"
 				"\001LAHF"	/* LAHF/SAHF in long mode */
 				"\002CMP"	/* CMP legacy */
-				"\003<b2>"
-				"\004<b3>"
+				"\003SVM"	/* Secure Virtual Mode */
+				"\004ExtAPIC"	/* Extended APIC register */
 				"\005CR8"	/* CR8 in legacy mode */
 				"\006<b5>"
 				"\007<b6>"

==== //depot/projects/dtrace/src/sys/amd64/conf/GENERIC#10 (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.463 2006/07/05 02:32:55 davidxu Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.464 2006/07/09 16:39:21 mjacob Exp $
 
 cpu		HAMMER
 ident		GENERIC
@@ -251,6 +251,7 @@
 device		md		# Memory "disks"
 device		gif		# IPv6 and IPv4 tunneling
 device		faith		# IPv6-to-IPv4 relaying (translation)
+device		firmware	# firmware assist module
 
 # The `bpf' device enables the Berkeley Packet Filter.
 # Be aware of the administrative consequences of enabling this!

==== //depot/projects/dtrace/src/sys/amd64/include/specialreg.h#4 (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.33 2006/05/01 22:07:00 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.34 2006/07/12 06:04:11 jkim Exp $
  */
 
 #ifndef _MACHINE_SPECIALREG_H_
@@ -135,6 +135,8 @@
 
 #define AMDID2_LAHF	0x00000001
 #define AMDID2_CMP	0x00000002
+#define AMDID2_SVM	0x00000004
+#define AMDID2_EXT_APIC	0x00000008
 #define AMDID2_CR8	0x00000010
 
 /*

==== //depot/projects/dtrace/src/sys/amd64/linux32/linux32_proto.h#5 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.17 2006/07/06 21:43:14 jhb Exp $
- * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.15 2006/07/06 21:42:35 jhb Exp 
+ * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.18 2006/07/11 20:55:22 jhb Exp $
+ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.16 2006/07/11 20:52:07 jhb Exp 
  */
 
 #ifndef _LINUX_SYSPROTO_H_

==== //depot/projects/dtrace/src/sys/amd64/linux32/linux32_syscall.h#5 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.17 2006/07/06 21:43:14 jhb Exp $
- * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.15 2006/07/06 21:42:35 jhb Exp 
+ * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.18 2006/07/11 20:55:22 jhb Exp $
+ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.16 2006/07/11 20:52:07 jhb Exp 
  */
 
 #define	LINUX_SYS_exit	1

==== //depot/projects/dtrace/src/sys/amd64/linux32/linux32_sysent.c#5 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.17 2006/07/06 21:43:14 jhb Exp $
- * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.15 2006/07/06 21:42:35 jhb Exp 
+ * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.18 2006/07/11 20:55:22 jhb Exp $
+ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.16 2006/07/11 20:52:07 jhb Exp 
  */
 
 #include <bsm/audit_kevents.h>
@@ -109,7 +109,7 @@
 	{ 0, (sy_call_t *)nosys, AUE_NULL },			/* 86 = linux_uselib */
 	{ SYF_MPSAFE | AS(swapon_args), (sy_call_t *)swapon, AUE_SWAPON },	/* 87 = swapon */
 	{ SYF_MPSAFE | AS(linux_reboot_args), (sy_call_t *)linux_reboot, AUE_REBOOT },	/* 88 = linux_reboot */
-	{ AS(linux_readdir_args), (sy_call_t *)linux_readdir, AUE_O_GETDENTS },	/* 89 = linux_readdir */
+	{ SYF_MPSAFE | AS(linux_readdir_args), (sy_call_t *)linux_readdir, AUE_O_GETDENTS },	/* 89 = linux_readdir */
 	{ SYF_MPSAFE | AS(linux_mmap_args), (sy_call_t *)linux_mmap, AUE_MMAP },	/* 90 = linux_mmap */
 	{ SYF_MPSAFE | AS(munmap_args), (sy_call_t *)munmap, AUE_MUNMAP },	/* 91 = munmap */
 	{ SYF_MPSAFE | AS(linux_truncate_args), (sy_call_t *)linux_truncate, AUE_TRUNCATE },	/* 92 = linux_truncate */
@@ -161,7 +161,7 @@
 	{ SYF_MPSAFE | AS(linux_setfsuid16_args), (sy_call_t *)linux_setfsuid16, AUE_SETFSUID },	/* 138 = linux_setfsuid16 */
 	{ SYF_MPSAFE | AS(linux_setfsgid16_args), (sy_call_t *)linux_setfsgid16, AUE_SETFSGID },	/* 139 = linux_setfsgid16 */
 	{ SYF_MPSAFE | AS(linux_llseek_args), (sy_call_t *)linux_llseek, AUE_LSEEK },	/* 140 = linux_llseek */
-	{ AS(linux_getdents_args), (sy_call_t *)linux_getdents, AUE_O_GETDENTS },	/* 141 = linux_getdents */
+	{ SYF_MPSAFE | AS(linux_getdents_args), (sy_call_t *)linux_getdents, AUE_O_GETDENTS },	/* 141 = linux_getdents */
 	{ SYF_MPSAFE | AS(linux_select_args), (sy_call_t *)linux_select, AUE_SELECT },	/* 142 = linux_select */
 	{ SYF_MPSAFE | AS(flock_args), (sy_call_t *)flock, AUE_FLOCK },	/* 143 = flock */
 	{ SYF_MPSAFE | AS(linux_msync_args), (sy_call_t *)linux_msync, AUE_MSYNC },	/* 144 = linux_msync */
@@ -240,7 +240,7 @@
 	{ SYF_MPSAFE | AS(linux_pivot_root_args), (sy_call_t *)linux_pivot_root, AUE_PIVOT_ROOT },	/* 217 = linux_pivot_root */
 	{ SYF_MPSAFE | AS(linux_mincore_args), (sy_call_t *)linux_mincore, AUE_MINCORE },	/* 218 = linux_mincore */
 	{ SYF_MPSAFE | AS(madvise_args), (sy_call_t *)madvise, AUE_MADVISE },	/* 219 = madvise */
-	{ AS(linux_getdents64_args), (sy_call_t *)linux_getdents64, AUE_O_GETDENTS },	/* 220 = linux_getdents64 */
+	{ SYF_MPSAFE | AS(linux_getdents64_args), (sy_call_t *)linux_getdents64, AUE_O_GETDENTS },	/* 220 = linux_getdents64 */
 	{ SYF_MPSAFE | AS(linux_fcntl64_args), (sy_call_t *)linux_fcntl64, AUE_FCNTL },	/* 221 = linux_fcntl64 */
 	{ 0, (sy_call_t *)nosys, AUE_NULL },			/* 222 =  */
 	{ 0, (sy_call_t *)nosys, AUE_NULL },			/* 223 =  */

==== //depot/projects/dtrace/src/sys/amd64/linux32/syscalls.master#5 (text+ko) ====

@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.15 2006/07/06 21:42:35 jhb Exp $
+ $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.16 2006/07/11 20:52:07 jhb Exp $
 
 ;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
 ; System call name/number master file (or rather, slave, from LINUX).
@@ -169,7 +169,7 @@
 87	AUE_SWAPON	MNOPROTO	{ int swapon(char *name); }
 88	AUE_REBOOT	MSTD	{ int linux_reboot(l_int magic1, \
 				    l_int magic2, l_uint cmd, void *arg); }
-89	AUE_O_GETDENTS	STD	{ int linux_readdir(l_uint fd, \
+89	AUE_O_GETDENTS	MSTD	{ int linux_readdir(l_uint fd, \
 				    struct l_dirent *dent, l_uint count); }
 90	AUE_MMAP	MSTD	{ int linux_mmap(struct l_mmap_argv *ptr); }
 91	AUE_MUNMAP	MNOPROTO	{ int munmap(caddr_t addr, int len); }
@@ -246,7 +246,7 @@
 140	AUE_LSEEK	MSTD	{ int linux_llseek(l_int fd, l_ulong ohigh, \
 				    l_ulong olow, l_loff_t *res, \
 				    l_uint whence); }
-141	AUE_O_GETDENTS	STD	{ int linux_getdents(l_uint fd, void *dent, \
+141	AUE_O_GETDENTS	MSTD	{ int linux_getdents(l_uint fd, void *dent, \
 				    l_uint count); }
 142	AUE_SELECT	MSTD	{ int linux_select(l_int nfds, \
 				    l_fd_set *readfds, l_fd_set *writefds, \
@@ -381,7 +381,7 @@
 				    l_size_t len, u_char *vec); }
 219	AUE_MADVISE	MNOPROTO { int madvise(void *addr, size_t len, \
 				    int behav); }
-220	AUE_O_GETDENTS	STD	{ int linux_getdents64(l_uint fd, \
+220	AUE_O_GETDENTS	MSTD	{ int linux_getdents64(l_uint fd, \
 				    void *dirent, l_uint count); }
 221	AUE_FCNTL	MSTD	{ int linux_fcntl64(l_uint fd, l_uint cmd, \
 				    uintptr_t arg); }

==== //depot/projects/dtrace/src/sys/arm/arm/pmap.c#8 (text+ko) ====

@@ -147,7 +147,7 @@
 #include "opt_vm.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.64 2006/06/15 01:01:05 ups Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.65 2006/07/11 11:22:06 cognet Exp $");
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
@@ -199,7 +199,7 @@
 static pv_entry_t pmap_get_pv_entry(void);
 
 static void		pmap_enter_locked(pmap_t, vm_offset_t, vm_page_t,
-    vm_prot_t, boolean_t);
+    vm_prot_t, boolean_t, int);
 static void		pmap_vac_me_harder(struct vm_page *, pmap_t,
     vm_offset_t);
 static void		pmap_vac_me_kpmap(struct vm_page *, pmap_t, 
@@ -373,7 +373,7 @@
  * L2 allocation.
  */
 #define	pmap_alloc_l2_dtable()		\
-		(void*)uma_zalloc(l2table_zone, M_NOWAIT)
+		(void*)uma_zalloc(l2table_zone, M_NOWAIT|M_USE_RESERVE)
 #define	pmap_free_l2_dtable(l2)		\
 		uma_zfree(l2table_zone, l2)
 
@@ -952,7 +952,7 @@
 again_ptep:
 		PMAP_UNLOCK(pm);
 		vm_page_unlock_queues();
-		ptep = (void*)uma_zalloc(l2zone, M_NOWAIT);
+		ptep = (void*)uma_zalloc(l2zone, M_NOWAIT|M_USE_RESERVE);
 		vm_page_lock_queues();
 		PMAP_LOCK(pm);
 		if (l2b->l2b_kva != 0) {
@@ -3306,7 +3306,7 @@
 
 	vm_page_lock_queues();
 	PMAP_LOCK(pmap);
-	pmap_enter_locked(pmap, va, m, prot, wired);
+	pmap_enter_locked(pmap, va, m, prot, wired, M_WAITOK);
 	vm_page_unlock_queues();
  	PMAP_UNLOCK(pmap);
 }
@@ -3316,7 +3316,7 @@
  */
 static void
 pmap_enter_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,
-    boolean_t wired)
+    boolean_t wired, int flags)
 {
 	struct l2_bucket *l2b = NULL;
 	struct vm_page *opg;
@@ -3347,10 +3347,22 @@
 		l2b = pmap_get_l2_bucket(pmap, va);
 		if (l2b == NULL)
 			l2b = pmap_grow_l2_bucket(pmap, va);
-	} else
+	} else {
+do_l2b_alloc:
 		l2b = pmap_alloc_l2_bucket(pmap, va);
-		KASSERT(l2b != NULL,
-		    ("pmap_enter: failed to allocate l2 bucket"));
+		if (l2b == NULL) {
+			if (flags & M_WAITOK) {
+				PMAP_UNLOCK(pmap);
+				vm_page_unlock_queues();
+				VM_WAIT;
+				vm_page_lock_queues();
+				PMAP_LOCK(pmap);

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


More information about the p4-projects mailing list