From owner-svn-src-user@FreeBSD.ORG  Sun Apr 28 01:59:24 2013
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115])
 by hub.freebsd.org (Postfix) with ESMTP id 6C1947AF;
 Sun, 28 Apr 2013 01:59:24 +0000 (UTC)
 (envelope-from adrian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 by mx1.freebsd.org (Postfix) with ESMTP id 5B1D712F0;
 Sun, 28 Apr 2013 01:59:24 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3S1xOi0066567;
 Sun, 28 Apr 2013 01:59:24 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3S1xLVu066546;
 Sun, 28 Apr 2013 01:59:21 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201304280159.r3S1xLVu066546@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Sun, 28 Apr 2013 01:59:21 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r250010 - in user/adrian/net80211_tx: . bin/mkdir bin/rm
 bin/sh contrib/libc++ contrib/libc++/include contrib/libc++/include/ext
 contrib/libc++/src contrib/libcxxrt include lib/libc/gen...
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 28 Apr 2013 01:59:24 -0000

Author: adrian
Date: Sun Apr 28 01:59:20 2013
New Revision: 250010
URL: http://svnweb.freebsd.org/changeset/base/250010

Log:
  MFH

Added:
  user/adrian/net80211_tx/share/man/man4/man4.arm/devcfg.4
     - copied unchanged from r250009, head/share/man/man4/man4.arm/devcfg.4
  user/adrian/net80211_tx/sys/arm/conf/ZEDBOARD
     - copied unchanged from r250009, head/sys/arm/conf/ZEDBOARD
  user/adrian/net80211_tx/sys/arm/xilinx/
     - copied from r250009, head/sys/arm/xilinx/
  user/adrian/net80211_tx/sys/boot/fdt/dts/zedboard.dts
     - copied unchanged from r250009, head/sys/boot/fdt/dts/zedboard.dts
  user/adrian/net80211_tx/sys/contrib/dev/ath/
     - copied from r250009, head/sys/contrib/dev/ath/
  user/adrian/net80211_tx/sys/dev/cadence/
     - copied from r250009, head/sys/dev/cadence/
  user/adrian/net80211_tx/sys/dev/sdhci/sdhci_fdt.c
     - copied unchanged from r250009, head/sys/dev/sdhci/sdhci_fdt.c
Deleted:
  user/adrian/net80211_tx/tools/build/options/WITH_IDEA
Modified:
  user/adrian/net80211_tx/UPDATING
  user/adrian/net80211_tx/bin/mkdir/mkdir.c
  user/adrian/net80211_tx/bin/rm/rm.1
  user/adrian/net80211_tx/bin/rm/rm.c
  user/adrian/net80211_tx/bin/sh/jobs.c
  user/adrian/net80211_tx/contrib/libc++/CREDITS.TXT
  user/adrian/net80211_tx/contrib/libc++/LICENSE.TXT
  user/adrian/net80211_tx/contrib/libc++/include/__bit_reference
  user/adrian/net80211_tx/contrib/libc++/include/__config
  user/adrian/net80211_tx/contrib/libc++/include/__debug
  user/adrian/net80211_tx/contrib/libc++/include/__functional_03
  user/adrian/net80211_tx/contrib/libc++/include/__functional_base
  user/adrian/net80211_tx/contrib/libc++/include/__functional_base_03
  user/adrian/net80211_tx/contrib/libc++/include/__hash_table
  user/adrian/net80211_tx/contrib/libc++/include/__locale
  user/adrian/net80211_tx/contrib/libc++/include/__mutex_base
  user/adrian/net80211_tx/contrib/libc++/include/__std_stream
  user/adrian/net80211_tx/contrib/libc++/include/__tree
  user/adrian/net80211_tx/contrib/libc++/include/__tuple
  user/adrian/net80211_tx/contrib/libc++/include/__tuple_03
  user/adrian/net80211_tx/contrib/libc++/include/algorithm
  user/adrian/net80211_tx/contrib/libc++/include/array
  user/adrian/net80211_tx/contrib/libc++/include/bitset
  user/adrian/net80211_tx/contrib/libc++/include/chrono
  user/adrian/net80211_tx/contrib/libc++/include/codecvt
  user/adrian/net80211_tx/contrib/libc++/include/complex
  user/adrian/net80211_tx/contrib/libc++/include/condition_variable
  user/adrian/net80211_tx/contrib/libc++/include/cstddef
  user/adrian/net80211_tx/contrib/libc++/include/cstring
  user/adrian/net80211_tx/contrib/libc++/include/cwchar
  user/adrian/net80211_tx/contrib/libc++/include/deque
  user/adrian/net80211_tx/contrib/libc++/include/exception
  user/adrian/net80211_tx/contrib/libc++/include/ext/__hash
  user/adrian/net80211_tx/contrib/libc++/include/ext/hash_map
  user/adrian/net80211_tx/contrib/libc++/include/ext/hash_set
  user/adrian/net80211_tx/contrib/libc++/include/forward_list
  user/adrian/net80211_tx/contrib/libc++/include/fstream
  user/adrian/net80211_tx/contrib/libc++/include/functional
  user/adrian/net80211_tx/contrib/libc++/include/future
  user/adrian/net80211_tx/contrib/libc++/include/initializer_list
  user/adrian/net80211_tx/contrib/libc++/include/ios
  user/adrian/net80211_tx/contrib/libc++/include/iosfwd
  user/adrian/net80211_tx/contrib/libc++/include/iostream
  user/adrian/net80211_tx/contrib/libc++/include/istream
  user/adrian/net80211_tx/contrib/libc++/include/iterator
  user/adrian/net80211_tx/contrib/libc++/include/limits
  user/adrian/net80211_tx/contrib/libc++/include/list
  user/adrian/net80211_tx/contrib/libc++/include/locale
  user/adrian/net80211_tx/contrib/libc++/include/map
  user/adrian/net80211_tx/contrib/libc++/include/memory
  user/adrian/net80211_tx/contrib/libc++/include/mutex
  user/adrian/net80211_tx/contrib/libc++/include/new
  user/adrian/net80211_tx/contrib/libc++/include/ostream
  user/adrian/net80211_tx/contrib/libc++/include/queue
  user/adrian/net80211_tx/contrib/libc++/include/random
  user/adrian/net80211_tx/contrib/libc++/include/ratio
  user/adrian/net80211_tx/contrib/libc++/include/regex
  user/adrian/net80211_tx/contrib/libc++/include/scoped_allocator
  user/adrian/net80211_tx/contrib/libc++/include/set
  user/adrian/net80211_tx/contrib/libc++/include/sstream
  user/adrian/net80211_tx/contrib/libc++/include/stack
  user/adrian/net80211_tx/contrib/libc++/include/streambuf
  user/adrian/net80211_tx/contrib/libc++/include/string
  user/adrian/net80211_tx/contrib/libc++/include/strstream
  user/adrian/net80211_tx/contrib/libc++/include/system_error
  user/adrian/net80211_tx/contrib/libc++/include/thread
  user/adrian/net80211_tx/contrib/libc++/include/tuple
  user/adrian/net80211_tx/contrib/libc++/include/type_traits
  user/adrian/net80211_tx/contrib/libc++/include/typeindex
  user/adrian/net80211_tx/contrib/libc++/include/unordered_map
  user/adrian/net80211_tx/contrib/libc++/include/unordered_set
  user/adrian/net80211_tx/contrib/libc++/include/utility
  user/adrian/net80211_tx/contrib/libc++/include/valarray
  user/adrian/net80211_tx/contrib/libc++/include/vector
  user/adrian/net80211_tx/contrib/libc++/src/chrono.cpp
  user/adrian/net80211_tx/contrib/libc++/src/debug.cpp
  user/adrian/net80211_tx/contrib/libc++/src/exception.cpp
  user/adrian/net80211_tx/contrib/libc++/src/hash.cpp
  user/adrian/net80211_tx/contrib/libc++/src/iostream.cpp
  user/adrian/net80211_tx/contrib/libc++/src/locale.cpp
  user/adrian/net80211_tx/contrib/libc++/src/memory.cpp
  user/adrian/net80211_tx/contrib/libc++/src/new.cpp
  user/adrian/net80211_tx/contrib/libc++/src/stdexcept.cpp
  user/adrian/net80211_tx/contrib/libc++/src/string.cpp
  user/adrian/net80211_tx/contrib/libc++/src/strstream.cpp
  user/adrian/net80211_tx/contrib/libc++/src/system_error.cpp
  user/adrian/net80211_tx/contrib/libc++/src/thread.cpp
  user/adrian/net80211_tx/contrib/libc++/src/typeinfo.cpp
  user/adrian/net80211_tx/contrib/libcxxrt/atomic.h
  user/adrian/net80211_tx/contrib/libcxxrt/exception.cc
  user/adrian/net80211_tx/include/tgmath.h
  user/adrian/net80211_tx/lib/libc/gen/sysconf.3
  user/adrian/net80211_tx/lib/libc/sys/intro.2
  user/adrian/net80211_tx/lib/libcompiler_rt/Makefile
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_add_4.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_add_8.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_and_4.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_and_8.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_op_n.h
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_or_4.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_or_8.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_sub_4.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_sub_8.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_xor_4.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_xor_8.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_lock_test_and_set_4.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_lock_test_and_set_8.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_val_compare_and_swap_4.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_val_compare_and_swap_8.c
  user/adrian/net80211_tx/lib/libcompiler_rt/__sync_val_compare_and_swap_n.h
  user/adrian/net80211_tx/lib/libthr/thread/thr_umtx.h
  user/adrian/net80211_tx/sbin/devd/devd.h
  user/adrian/net80211_tx/sbin/hastd/primary.c
  user/adrian/net80211_tx/sbin/hastd/refcnt.h
  user/adrian/net80211_tx/secure/Makefile.inc
  user/adrian/net80211_tx/secure/lib/libcrypto/Makefile
  user/adrian/net80211_tx/secure/lib/libcrypto/Makefile.inc
  user/adrian/net80211_tx/share/examples/etc/make.conf
  user/adrian/net80211_tx/share/man/man4/man4.arm/Makefile
  user/adrian/net80211_tx/share/man/man5/make.conf.5
  user/adrian/net80211_tx/share/mk/bsd.own.mk
  user/adrian/net80211_tx/sys/arm/arm/cpufunc.c
  user/adrian/net80211_tx/sys/arm/arm/identcpu.c
  user/adrian/net80211_tx/sys/arm/include/armreg.h
  user/adrian/net80211_tx/sys/boot/fdt/dts/am335x.dtsi
  user/adrian/net80211_tx/sys/boot/fdt/dts/beaglebone.dts
  user/adrian/net80211_tx/sys/cam/ata/ata_da.c
  user/adrian/net80211_tx/sys/cam/cam_periph.c
  user/adrian/net80211_tx/sys/cam/scsi/scsi_da.c
  user/adrian/net80211_tx/sys/dev/ath/if_ath.c
  user/adrian/net80211_tx/sys/dev/ciss/ciss.c
  user/adrian/net80211_tx/sys/dev/mmc/mmc.c
  user/adrian/net80211_tx/sys/dev/uart/uart.h
  user/adrian/net80211_tx/sys/dev/uart/uart_bus_fdt.c
  user/adrian/net80211_tx/sys/geom/raid/g_raid.c
  user/adrian/net80211_tx/sys/netinet/in.h
  user/adrian/net80211_tx/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c
  user/adrian/net80211_tx/sys/powerpc/wii/platform_wii.c
  user/adrian/net80211_tx/sys/powerpc/wii/wii_bus.c
  user/adrian/net80211_tx/sys/powerpc/wii/wii_fb.c
  user/adrian/net80211_tx/sys/vm/vm_radix.c
  user/adrian/net80211_tx/tools/build/mk/OptionalObsoleteFiles.inc
  user/adrian/net80211_tx/tools/build/options/WITHOUT_JAIL
  user/adrian/net80211_tx/tools/build/options/WITHOUT_LEGACY_CONSOLE
  user/adrian/net80211_tx/tools/tools/sysbuild/sysbuild.sh
  user/adrian/net80211_tx/usr.sbin/bhyve/pci_virtio_net.c
  user/adrian/net80211_tx/usr.sbin/bsdconfig/share/device.subr
  user/adrian/net80211_tx/usr.sbin/bsdconfig/share/media/tcpip.subr
  user/adrian/net80211_tx/usr.sbin/bsdconfig/startup/rcdelete
  user/adrian/net80211_tx/usr.sbin/syslogd/syslogd.c
Directory Properties:
  user/adrian/net80211_tx/   (props changed)
  user/adrian/net80211_tx/contrib/libc++/   (props changed)
  user/adrian/net80211_tx/contrib/libcxxrt/   (props changed)
  user/adrian/net80211_tx/lib/libc/   (props changed)
  user/adrian/net80211_tx/sbin/   (props changed)
  user/adrian/net80211_tx/share/man/man4/   (props changed)
  user/adrian/net80211_tx/sys/   (props changed)
  user/adrian/net80211_tx/sys/boot/   (props changed)
  user/adrian/net80211_tx/usr.sbin/bhyve/   (props changed)

Modified: user/adrian/net80211_tx/UPDATING
==============================================================================
--- user/adrian/net80211_tx/UPDATING	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/UPDATING	Sun Apr 28 01:59:20 2013	(r250010)
@@ -32,6 +32,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
 20130426:
+	The WITHOUT_IDEA option has been removed because
+	the IDEA patent expired.
+
+20130426:
 	The sysctl which controls TRIM support under ZFS has been renamed
 	from vfs.zfs.trim_disable -> vfs.zfs.trim.enabled and has been
 	enabled by default.

Modified: user/adrian/net80211_tx/bin/mkdir/mkdir.c
==============================================================================
--- user/adrian/net80211_tx/bin/mkdir/mkdir.c	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/bin/mkdir/mkdir.c	Sun Apr 28 01:59:20 2013	(r250010)
@@ -135,7 +135,7 @@ main(int argc, char *argv[])
  * Returns 1 if a directory has been created,
  * 2 if it already existed, and 0 on failure.
  */
-int
+static int
 build(char *path, mode_t omode)
 {
 	struct stat sb;
@@ -208,7 +208,7 @@ build(char *path, mode_t omode)
 	return (retval);
 }
 
-void
+static void
 usage(void)
 {
 

Modified: user/adrian/net80211_tx/bin/rm/rm.1
==============================================================================
--- user/adrian/net80211_tx/bin/rm/rm.1	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/bin/rm/rm.1	Sun Apr 28 01:59:20 2013	(r250010)
@@ -32,7 +32,7 @@
 .\"	@(#)rm.1	8.5 (Berkeley) 12/5/94
 .\" $FreeBSD$
 .\"
-.Dd March 15, 2013
+.Dd April 25, 2013
 .Dt RM 1
 .Os
 .Sh NAME
@@ -42,7 +42,7 @@
 .Sh SYNOPSIS
 .Nm
 .Op Fl f | i
-.Op Fl dIPRrvW
+.Op Fl dIPRrvWx
 .Ar
 .Nm unlink
 .Ar file
@@ -132,6 +132,8 @@ Attempt to undelete the named files.
 Currently, this option can only be used to recover
 files covered by whiteouts in a union file system (see
 .Xr undelete 2 ) .
+.It Fl x
+When removing a hierarchy, do not cross mount points.
 .El
 .Pp
 The

Modified: user/adrian/net80211_tx/bin/rm/rm.c
==============================================================================
--- user/adrian/net80211_tx/bin/rm/rm.c	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/bin/rm/rm.c	Sun Apr 28 01:59:20 2013	(r250010)
@@ -59,19 +59,19 @@ __FBSDID("$FreeBSD$");
 #include <unistd.h>
 
 static int dflag, eval, fflag, iflag, Pflag, vflag, Wflag, stdin_ok;
-static int rflag, Iflag;
+static int rflag, Iflag, xflag;
 static uid_t uid;
 static volatile sig_atomic_t info;
 
-int	check(char *, char *, struct stat *);
-int	check2(char **);
-void	checkdot(char **);
-void	checkslash(char **);
-void	rm_file(char **);
-int	rm_overwrite(char *, struct stat *);
-void	rm_tree(char **);
+static int	check(const char *, const char *, struct stat *);
+static int	check2(char **);
+static void	checkdot(char **);
+static void	checkslash(char **);
+static void	rm_file(char **);
+static int	rm_overwrite(const char *, struct stat *);
+static void	rm_tree(char **);
 static void siginfo(int __unused);
-void	usage(void);
+static void	usage(void);
 
 /*
  * rm --
@@ -106,8 +106,8 @@ main(int argc, char *argv[])
 		exit(eval);
 	}
 
-	Pflag = rflag = 0;
-	while ((ch = getopt(argc, argv, "dfiIPRrvW")) != -1)
+	Pflag = rflag = xflag = 0;
+	while ((ch = getopt(argc, argv, "dfiIPRrvWx")) != -1)
 		switch(ch) {
 		case 'd':
 			dflag = 1;
@@ -136,6 +136,9 @@ main(int argc, char *argv[])
 		case 'W':
 			Wflag = 1;
 			break;
+		case 'x':
+			xflag = 1;
+			break;
 		default:
 			usage();
 		}
@@ -170,7 +173,7 @@ main(int argc, char *argv[])
 	exit (eval);
 }
 
-void
+static void
 rm_tree(char **argv)
 {
 	FTS *fts;
@@ -196,6 +199,8 @@ rm_tree(char **argv)
 		flags |= FTS_NOSTAT;
 	if (Wflag)
 		flags |= FTS_WHITEOUT;
+	if (xflag)
+		flags |= FTS_XDEV;
 	if (!(fts = fts_open(argv, flags, NULL))) {
 		if (fflag && errno == ENOENT)
 			return;
@@ -335,7 +340,7 @@ err:
 	fts_close(fts);
 }
 
-void
+static void
 rm_file(char **argv)
 {
 	struct stat sb;
@@ -412,8 +417,8 @@ rm_file(char **argv)
  * System V file system).  In a logging or COW file system, you'll have to
  * have kernel support.
  */
-int
-rm_overwrite(char *file, struct stat *sbp)
+static int
+rm_overwrite(const char *file, struct stat *sbp)
 {
 	struct stat sb, sb2;
 	struct statfs fsb;
@@ -479,8 +484,8 @@ err:	eval = 1;
 }
 
 
-int
-check(char *path, char *name, struct stat *sp)
+static int
+check(const char *path, const char *name, struct stat *sp)
 {
 	int ch, first;
 	char modep[15], *flagsp;
@@ -491,7 +496,7 @@ check(char *path, char *name, struct sta
 	else {
 		/*
 		 * If it's not a symbolic link and it's unwritable and we're
-		 * talking to a terminal, ask.	Symbolic links are excluded
+		 * talking to a terminal, ask.  Symbolic links are excluded
 		 * because their permissions are meaningless.  Check stdin_ok
 		 * first because we may not have stat'ed the file.
 		 */
@@ -524,7 +529,7 @@ check(char *path, char *name, struct sta
 }
 
 #define ISSLASH(a)	((a)[0] == '/' && (a)[1] == '\0')
-void
+static void
 checkslash(char **argv)
 {
 	char **t, **u;
@@ -544,7 +549,7 @@ checkslash(char **argv)
 	}
 }
 
-int
+static int
 check2(char **argv)
 {
 	struct stat st;
@@ -595,7 +600,7 @@ check2(char **argv)
 }
 
 #define ISDOT(a)	((a)[0] == '.' && (!(a)[1] || ((a)[1] == '.' && !(a)[2])))
-void
+static void
 checkdot(char **argv)
 {
 	char *p, **save, **t;
@@ -619,12 +624,12 @@ checkdot(char **argv)
 	}
 }
 
-void
+static void
 usage(void)
 {
 
 	(void)fprintf(stderr, "%s\n%s\n",
-	    "usage: rm [-f | -i] [-dIPRrvW] file ...",
+	    "usage: rm [-f | -i] [-dIPRrvWx] file ...",
 	    "       unlink file");
 	exit(EX_USAGE);
 }

Modified: user/adrian/net80211_tx/bin/sh/jobs.c
==============================================================================
--- user/adrian/net80211_tx/bin/sh/jobs.c	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/bin/sh/jobs.c	Sun Apr 28 01:59:20 2013	(r250010)
@@ -417,13 +417,15 @@ showjobs(int change, int mode)
 		if (change && ! jp->changed)
 			continue;
 		showjob(jp, mode);
-		jp->changed = 0;
-		/* Hack: discard jobs for which $! has not been referenced
-		 * in interactive mode when they terminate.
-		 */
-		if (jp->state == JOBDONE && !jp->remembered &&
-				(iflag || jp != bgjob)) {
-			freejob(jp);
+		if (mode == SHOWJOBS_DEFAULT || mode == SHOWJOBS_VERBOSE) {
+			jp->changed = 0;
+			/* Hack: discard jobs for which $! has not been
+			 * referenced in interactive mode when they terminate.
+			 */
+			if (jp->state == JOBDONE && !jp->remembered &&
+					(iflag || jp != bgjob)) {
+				freejob(jp);
+			}
 		}
 	}
 }

Modified: user/adrian/net80211_tx/contrib/libc++/CREDITS.TXT
==============================================================================
--- user/adrian/net80211_tx/contrib/libc++/CREDITS.TXT	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/contrib/libc++/CREDITS.TXT	Sun Apr 28 01:59:20 2013	(r250010)
@@ -8,69 +8,88 @@ beautification by scripts.  The fields a
 (W), PGP key ID and fingerprint (P), description (D), and snail-mail address
 (S).
 
-N: Howard Hinnant
-E: hhinnant@apple.com
-D: Architect and primary author of libc++
+N: Saleem Abdulrasool
+E: compnerd@compnerd.org
+D: Minor patches and Linux fixes.
+
+N: Dimitry Andric
+E: dimitry@andric.com
+D: Visibility fixes, minor FreeBSD portability patches.
+
+N: Holger Arnold
+E: holgerar@gmail.com
+D: Minor fix.
+
+N: Ruben Van Boxem
+E: vanboxem dot ruben at gmail dot com
+D: Initial Windows patches.
+
+N: David Chisnall
+E: theraven at theravensnest dot org
+D: FreeBSD and Solaris ports, libcxxrt support, some atomics work.
 
 N: Marshall Clow
 E: mclow.lists@gmail.com
 E: marshall@idio.com
 D: Minor patches and bug fixes.
 
-N: Bjorn Reese
-E: breese@users.sourceforge.net
-D: Initial regex prototype
+N: Google Inc.
+D: Copyright owner and contributor of the CityHash algorithm
 
-N: David Chisnall
-E: theraven at theravensnest dot org
-D: FreeBSD and Solaris ports, libcxxrt support, some atomics work.
+N: Howard Hinnant
+E: hhinnant@apple.com
+D: Architect and primary author of libc++
 
-N: Ruben Van Boxem
-E: vanboxem dot ruben at gmail dot com
-D: Initial Windows patches.
+N: Hyeon-bin Jeong
+E: tuhertz@gmail.com
+D: Minor patches and bug fixes.
+
+N: Argyrios Kyrtzidis
+E: kyrtzidis@apple.com
+D: Bug fixes.
+
+N: Michel Morin
+E: mimomorin@gmail.com
+D: Minor patches to is_convertible.
+
+N: Andrew Morrow
+E: andrew.c.morrow@gmail.com
+D: Minor patches and Linux fixes.
 
 N: Arvid Picciani
 E: aep at exys dot org
 D: Minor patches and musl port.
 
-N: Craig Silverstein
-E: csilvers@google.com
-D: Implemented Cityhash as the string hash function on 64-bit machines
-
-N: Google Inc.
-D: Copyright owner and contributor of the CityHash algorithm
-
-N: Jeffrey Yasskin
-E: jyasskin@gmail.com
-E: jyasskin@google.com
-D: Linux fixes.
+N: Bjorn Reese
+E: breese@users.sourceforge.net
+D: Initial regex prototype
 
 N: Jonathan Sauer
 D: Minor patches, mostly related to constexpr
 
+N: Craig Silverstein
+E: csilvers@google.com
+D: Implemented Cityhash as the string hash function on 64-bit machines
+
 N: Richard Smith
 D: Minor patches.
 
-N: Andrew Morrow
-E: andrew.c.morrow@gmail.com
-D: Minor patches and Linux fixes.
+N: Michael van der Westhuizen
+E: r1mikey at gmail dot com
 
-N: Hyeon-bin Jeong
-E: tuhertz@gmail.com
-D: Minor patches and bug fixes.
+N: Klaas de Vries
+E: klaas at klaasgaaf dot nl
+D: Minor bug fix.
 
-N: Michel Morin
-E: mimomorin@gmail.com
-D: Minor patches to is_convertible.
-
-N: Dimitry Andric
-E: dimitry@andric.com
-D: Visibility fixes, minor FreeBSD portability patches.
+N: Zhang Xiongpang
+E: zhangxiongpang@gmail.com
+D: Minor patches and bug fixes.
 
-N: Holger Arnold
-E: holgerar@gmail.com
-D: Minor fix.
+N: Jeffrey Yasskin
+E: jyasskin@gmail.com
+E: jyasskin@google.com
+D: Linux fixes.
 
-N: Argyrios Kyrtzidis
-E: kyrtzidis@apple.com
-D: Bug fixes.
+N: Bruce Mitchener, Jr.
+E: bruce.mitchener@gmail.com
+D: Emscripten-related changes.

Modified: user/adrian/net80211_tx/contrib/libc++/LICENSE.TXT
==============================================================================
--- user/adrian/net80211_tx/contrib/libc++/LICENSE.TXT	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/contrib/libc++/LICENSE.TXT	Sun Apr 28 01:59:20 2013	(r250010)
@@ -14,7 +14,7 @@ Full text of the relevant licenses is in
 University of Illinois/NCSA
 Open Source License
 
-Copyright (c) 2009-2012 by the contributors listed in CREDITS.TXT
+Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT
 
 All rights reserved.
 
@@ -55,7 +55,7 @@ SOFTWARE.
 
 ==============================================================================
 
-Copyright (c) 2009-2012 by the contributors listed in CREDITS.TXT
+Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

Modified: user/adrian/net80211_tx/contrib/libc++/include/__bit_reference
==============================================================================
--- user/adrian/net80211_tx/contrib/libc++/include/__bit_reference	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/contrib/libc++/include/__bit_reference	Sun Apr 28 01:59:20 2013	(r250010)
@@ -81,6 +81,16 @@ class __bit_reference<_Cp, false>
 {
 };
 
+template <class _Cp>
+_LIBCPP_INLINE_VISIBILITY inline
+void
+swap(__bit_reference<_Cp> __x, __bit_reference<_Cp> __y) _NOEXCEPT
+{
+    bool __t = __x;
+    __x = __y;
+    __y = __t;
+}
+
 template <class _Cp, class _Dp>
 _LIBCPP_INLINE_VISIBILITY inline
 void

Modified: user/adrian/net80211_tx/contrib/libc++/include/__config
==============================================================================
--- user/adrian/net80211_tx/contrib/libc++/include/__config	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/contrib/libc++/include/__config	Sun Apr 28 01:59:20 2013	(r250010)
@@ -11,7 +11,7 @@
 #ifndef _LIBCPP_CONFIG
 #define _LIBCPP_CONFIG
 
-#if !_MSC_VER // explicit macro necessary because it is only defined below in this file
+#ifndef _MSC_VER // explicit macro necessary because it is only defined below in this file
 #pragma GCC system_header
 #endif
 
@@ -96,24 +96,27 @@
 # endif
 #endif  // !defined(_LIBCPP_LITTLE_ENDIAN) || !defined(_LIBCPP_BIG_ENDIAN)
 
-#if _WIN32
+#ifdef _WIN32
 
 // only really useful for a DLL
 #ifdef _LIBCPP_DLL // this should be a compiler builtin define ideally...
 # ifdef cxx_EXPORTS
 #  define _LIBCPP_HIDDEN
-#  define _LIBCPP_VISIBLE __declspec(dllexport)
+#  define _LIBCPP_FUNC_VIS __declspec(dllexport)
+#  define _LIBCPP_TYPE_VIS __declspec(dllexport)
 # else
 #  define _LIBCPP_HIDDEN
-#  define _LIBCPP_VISIBLE __declspec(dllimport)
+#  define _LIBCPP_FUNC_VIS __declspec(dllimport)
+#  define _LIBCPP_TYPE_VIS __declspec(dllimport)
 # endif
 #else
 # define _LIBCPP_HIDDEN
-# define _LIBCPP_VISIBLE
+# define _LIBCPP_FUNC_VIS
+# define _LIBCPP_TYPE_VIS
 #endif
 
 #ifndef _LIBCPP_INLINE_VISIBILITY
-# if _MSC_VER
+# ifdef _MSC_VER
 #  define _LIBCPP_INLINE_VISIBILITY __forceinline
 # else // MinGW GCC and Clang
 #  define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__always_inline__))
@@ -121,11 +124,11 @@
 #endif
 
 #ifndef _LIBCPP_EXCEPTION_ABI
-#define _LIBCPP_EXCEPTION_ABI _LIBCPP_VISIBLE
+#define _LIBCPP_EXCEPTION_ABI _LIBCPP_TYPE_VIS
 #endif
 
 #ifndef _LIBCPP_ALWAYS_INLINE
-# if _MSC_VER
+# ifdef _MSC_VER
 #  define _LIBCPP_ALWAYS_INLINE __forceinline
 # endif
 #endif
@@ -136,8 +139,16 @@
 #define _LIBCPP_HIDDEN __attribute__ ((__visibility__("hidden")))
 #endif
 
-#ifndef _LIBCPP_VISIBLE
-#define _LIBCPP_VISIBLE __attribute__ ((__visibility__("default")))
+#ifndef _LIBCPP_FUNC_VIS
+#define _LIBCPP_FUNC_VIS __attribute__ ((__visibility__("default")))
+#endif
+
+#ifndef _LIBCPP_TYPE_VIS
+#  if __has_attribute(type_visibility)
+#    define _LIBCPP_TYPE_VIS __attribute__ ((__type_visibility__("default")))
+#  else
+#    define _LIBCPP_TYPE_VIS __attribute__ ((__visibility__("default")))
+#  endif
 #endif
 
 #ifndef _LIBCPP_INLINE_VISIBILITY
@@ -145,7 +156,7 @@
 #endif
 
 #ifndef _LIBCPP_EXCEPTION_ABI
-#define _LIBCPP_EXCEPTION_ABI __attribute__ ((__visibility__("default")))
+#define _LIBCPP_EXCEPTION_ABI _LIBCPP_TYPE_VIS
 #endif
 
 #ifndef _LIBCPP_CANTTHROW
@@ -261,7 +272,7 @@ typedef __char32_t char32_t;
 #define _LIBCPP_HAS_NO_CONSTEXPR
 #endif
 
-#if __FreeBSD__ && (__ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L)
+#if defined(__FreeBSD__) && (__ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L)
 #define _LIBCPP_HAS_QUICK_EXIT
 #define _LIBCPP_HAS_C11_FEATURES
 #endif
@@ -424,7 +435,7 @@ template <unsigned> struct __static_asse
 #endif
 
 #ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
-#define _LIBCPP_DECLARE_STRONG_ENUM(x) struct _LIBCPP_VISIBLE x { enum __lx
+#define _LIBCPP_DECLARE_STRONG_ENUM(x) struct _LIBCPP_TYPE_VIS x { enum __lx
 #define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) \
     __lx __v_; \
     _LIBCPP_ALWAYS_INLINE x(__lx __v) : __v_(__v) {} \
@@ -432,7 +443,7 @@ template <unsigned> struct __static_asse
     _LIBCPP_ALWAYS_INLINE operator int() const {return __v_;} \
     };
 #else  // _LIBCPP_HAS_NO_STRONG_ENUMS
-#define _LIBCPP_DECLARE_STRONG_ENUM(x) enum class _LIBCPP_VISIBLE x
+#define _LIBCPP_DECLARE_STRONG_ENUM(x) enum class _LIBCPP_TYPE_VIS x
 #define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x)
 #endif  // _LIBCPP_HAS_NO_STRONG_ENUMS
 
@@ -440,18 +451,18 @@ template <unsigned> struct __static_asse
 #define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
 #endif
 
-#if __APPLE__ || __FreeBSD__ || _WIN32 || __sun__
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(_WIN32) || defined(__sun__)
 #define _LIBCPP_LOCALE__L_EXTENSIONS 1
 #endif
-#if __FreeBSD__
+#ifdef __FreeBSD__
 #define _DECLARE_C99_LDBL_MATH 1
 #endif
 
-#if __APPLE__ || __FreeBSD__
+#if defined(__APPLE__) || defined(__FreeBSD__)
 #define _LIBCPP_HAS_DEFAULTRUNELOCALE
 #endif
 
-#if __APPLE__ || __FreeBSD__ || __sun__
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun__)
 #define _LIBCPP_WCTYPE_IS_MASK
 #endif
 

Modified: user/adrian/net80211_tx/contrib/libc++/include/__debug
==============================================================================
--- user/adrian/net80211_tx/contrib/libc++/include/__debug	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/contrib/libc++/include/__debug	Sun Apr 28 01:59:20 2013	(r250010)
@@ -16,7 +16,9 @@
 #   include <cstdlib>
 #   include <cstdio>
 #   include <cstddef>
-#   define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : (_VSTD::printf("%s\n", m), _VSTD::abort()))
+#   ifndef _LIBCPP_ASSERT
+#      define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : (_VSTD::printf("%s\n", m), _VSTD::abort()))
+#   endif
 
 #endif
 
@@ -24,9 +26,9 @@
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
-struct _LIBCPP_VISIBLE __c_node;
+struct _LIBCPP_TYPE_VIS __c_node;
 
-struct _LIBCPP_VISIBLE __i_node
+struct _LIBCPP_TYPE_VIS __i_node
 {
     void* __i_;
     __i_node* __next_;
@@ -40,7 +42,7 @@ struct _LIBCPP_VISIBLE __i_node
     ~__i_node();
 };
 
-struct _LIBCPP_VISIBLE __c_node
+struct _LIBCPP_TYPE_VIS __c_node
 {
     void* __c_;
     __c_node* __next_;
@@ -117,7 +119,7 @@ _C_node<_Cont>::__subscriptable(const vo
     return _Cp->__subscriptable(__j, __n);
 }
 
-class _LIBCPP_VISIBLE __libcpp_db
+class _LIBCPP_TYPE_VIS __libcpp_db
 {
     __c_node** __cbeg_;
     __c_node** __cend_;
@@ -176,11 +178,11 @@ private:
     _LIBCPP_HIDDEN
     __i_node* __find_iterator(const void* __i) const;
 
-    friend _LIBCPP_VISIBLE __libcpp_db* __get_db();
+    friend _LIBCPP_FUNC_VIS __libcpp_db* __get_db();
 };
 
-_LIBCPP_VISIBLE __libcpp_db* __get_db();
-_LIBCPP_VISIBLE const __libcpp_db* __get_const_db();
+_LIBCPP_FUNC_VIS __libcpp_db* __get_db();
+_LIBCPP_FUNC_VIS const __libcpp_db* __get_const_db();
 
 
 _LIBCPP_END_NAMESPACE_STD

Modified: user/adrian/net80211_tx/contrib/libc++/include/__functional_03
==============================================================================
--- user/adrian/net80211_tx/contrib/libc++/include/__functional_03	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/contrib/libc++/include/__functional_03	Sun Apr 28 01:59:20 2013	(r250010)
@@ -203,7 +203,7 @@ class _LIBCPP_EXCEPTION_ABI bad_function
 {
 };
 
-template<class _Fp> class _LIBCPP_VISIBLE function; // undefined
+template<class _Fp> class _LIBCPP_TYPE_VIS function; // undefined
 
 namespace __function
 {
@@ -644,7 +644,7 @@ __func<_Fp, _Alloc, _Rp(_A0, _A1, _A2)>:
 }  // __function
 
 template<class _Rp>
-class _LIBCPP_VISIBLE function<_Rp()>
+class _LIBCPP_TYPE_VIS function<_Rp()>
 {
     typedef __function::__base<_Rp()> __base;
     aligned_storage<3*sizeof(void*)>::type __buf_;
@@ -928,7 +928,7 @@ function<_Rp()>::target() const
 #endif  // _LIBCPP_NO_RTTI
 
 template<class _Rp, class _A0>
-class _LIBCPP_VISIBLE function<_Rp(_A0)>
+class _LIBCPP_TYPE_VIS function<_Rp(_A0)>
     : public unary_function<_A0, _Rp>
 {
     typedef __function::__base<_Rp(_A0)> __base;
@@ -1230,7 +1230,7 @@ function<_Rp(_A0)>::target() const
 #endif  // _LIBCPP_NO_RTTI
 
 template<class _Rp, class _A0, class _A1>
-class _LIBCPP_VISIBLE function<_Rp(_A0, _A1)>
+class _LIBCPP_TYPE_VIS function<_Rp(_A0, _A1)>
     : public binary_function<_A0, _A1, _Rp>
 {
     typedef __function::__base<_Rp(_A0, _A1)> __base;
@@ -1532,7 +1532,7 @@ function<_Rp(_A0, _A1)>::target() const
 #endif  // _LIBCPP_NO_RTTI
 
 template<class _Rp, class _A0, class _A1, class _A2>
-class _LIBCPP_VISIBLE function<_Rp(_A0, _A1, _A2)>
+class _LIBCPP_TYPE_VIS function<_Rp(_A0, _A1, _A2)>
 {
     typedef __function::__base<_Rp(_A0, _A1, _A2)> __base;
     aligned_storage<3*sizeof(void*)>::type __buf_;
@@ -1860,11 +1860,11 @@ swap(function<_Fp>& __x, function<_Fp>& 
 {return __x.swap(__y);}
 
 template<class _Tp> struct __is_bind_expression : public false_type {};
-template<class _Tp> struct _LIBCPP_VISIBLE is_bind_expression
+template<class _Tp> struct _LIBCPP_TYPE_VIS is_bind_expression
     : public __is_bind_expression<typename remove_cv<_Tp>::type> {};
 
 template<class _Tp> struct __is_placeholder : public integral_constant<int, 0> {};
-template<class _Tp> struct _LIBCPP_VISIBLE is_placeholder
+template<class _Tp> struct _LIBCPP_TYPE_VIS is_placeholder
     : public __is_placeholder<typename remove_cv<_Tp>::type> {};
 
 namespace placeholders

Modified: user/adrian/net80211_tx/contrib/libc++/include/__functional_base
==============================================================================
--- user/adrian/net80211_tx/contrib/libc++/include/__functional_base	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/contrib/libc++/include/__functional_base	Sun Apr 28 01:59:20 2013	(r250010)
@@ -23,21 +23,21 @@
 _LIBCPP_BEGIN_NAMESPACE_STD
 
 template <class _Arg, class _Result>
-struct _LIBCPP_VISIBLE unary_function
+struct _LIBCPP_TYPE_VIS unary_function
 {
     typedef _Arg    argument_type;
     typedef _Result result_type;
 };
 
 template <class _Arg1, class _Arg2, class _Result>
-struct _LIBCPP_VISIBLE binary_function
+struct _LIBCPP_TYPE_VIS binary_function
 {
     typedef _Arg1   first_argument_type;
     typedef _Arg2   second_argument_type;
     typedef _Result result_type;
 };
 
-template <class _Tp> struct _LIBCPP_VISIBLE hash;
+template <class _Tp> struct _LIBCPP_TYPE_VIS hash;
 
 template <class _Tp>
 struct __has_result_type
@@ -51,7 +51,7 @@ public:
 };
 
 template <class _Tp>
-struct _LIBCPP_VISIBLE less : binary_function<_Tp, _Tp, bool>
+struct _LIBCPP_TYPE_VIS less : binary_function<_Tp, _Tp, bool>
 {
     _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Tp& __y) const
         {return __x < __y;}
@@ -348,7 +348,7 @@ struct __invoke_return
 };
 
 template <class _Tp>
-class _LIBCPP_VISIBLE reference_wrapper
+class _LIBCPP_TYPE_VIS reference_wrapper
     : public __weak_result_type<_Tp>
 {
 public:

Modified: user/adrian/net80211_tx/contrib/libc++/include/__functional_base_03
==============================================================================
--- user/adrian/net80211_tx/contrib/libc++/include/__functional_base_03	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/contrib/libc++/include/__functional_base_03	Sun Apr 28 01:59:20 2013	(r250010)
@@ -996,7 +996,7 @@ struct __invoke_return2
 };
 
 template <class _Tp>
-class _LIBCPP_VISIBLE reference_wrapper
+class _LIBCPP_TYPE_VIS reference_wrapper
     : public __weak_result_type<_Tp>
 {
 public:

Modified: user/adrian/net80211_tx/contrib/libc++/include/__hash_table
==============================================================================
--- user/adrian/net80211_tx/contrib/libc++/include/__hash_table	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/contrib/libc++/include/__hash_table	Sun Apr 28 01:59:20 2013	(r250010)
@@ -26,7 +26,7 @@
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
-_LIBCPP_VISIBLE
+_LIBCPP_FUNC_VIS
 size_t __next_prime(size_t __n);
 
 template <class _NodePtr>
@@ -80,14 +80,14 @@ __next_pow2(size_t __n)
 }
 
 template <class _Tp, class _Hash, class _Equal, class _Alloc> class __hash_table;
-template <class _ConstNodePtr> class _LIBCPP_VISIBLE __hash_const_iterator;
-template <class _HashIterator> class _LIBCPP_VISIBLE __hash_map_iterator;
-template <class _HashIterator> class _LIBCPP_VISIBLE __hash_map_const_iterator;
+template <class _ConstNodePtr> class _LIBCPP_TYPE_VIS __hash_const_iterator;
+template <class _HashIterator> class _LIBCPP_TYPE_VIS __hash_map_iterator;
+template <class _HashIterator> class _LIBCPP_TYPE_VIS __hash_map_const_iterator;
 template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-    class _LIBCPP_VISIBLE unordered_map;
+    class _LIBCPP_TYPE_VIS unordered_map;
 
 template <class _NodePtr>
-class _LIBCPP_VISIBLE __hash_iterator
+class _LIBCPP_TYPE_VIS __hash_iterator
 {
     typedef _NodePtr __node_pointer;
 
@@ -142,14 +142,14 @@ private:
         {}
 
     template <class, class, class, class> friend class __hash_table;
-    template <class> friend class _LIBCPP_VISIBLE __hash_const_iterator;
-    template <class> friend class _LIBCPP_VISIBLE __hash_map_iterator;
-    template <class, class, class, class, class> friend class _LIBCPP_VISIBLE unordered_map;
-    template <class, class, class, class, class> friend class _LIBCPP_VISIBLE unordered_multimap;
+    template <class> friend class _LIBCPP_TYPE_VIS __hash_const_iterator;
+    template <class> friend class _LIBCPP_TYPE_VIS __hash_map_iterator;
+    template <class, class, class, class, class> friend class _LIBCPP_TYPE_VIS unordered_map;
+    template <class, class, class, class, class> friend class _LIBCPP_TYPE_VIS unordered_multimap;
 };
 
 template <class _ConstNodePtr>
-class _LIBCPP_VISIBLE __hash_const_iterator
+class _LIBCPP_TYPE_VIS __hash_const_iterator
 {
     typedef _ConstNodePtr __node_pointer;
 
@@ -220,15 +220,15 @@ private:
         {}
 
     template <class, class, class, class> friend class __hash_table;
-    template <class> friend class _LIBCPP_VISIBLE __hash_map_const_iterator;
-    template <class, class, class, class, class> friend class _LIBCPP_VISIBLE unordered_map;
-    template <class, class, class, class, class> friend class _LIBCPP_VISIBLE unordered_multimap;
+    template <class> friend class _LIBCPP_TYPE_VIS __hash_map_const_iterator;
+    template <class, class, class, class, class> friend class _LIBCPP_TYPE_VIS unordered_map;
+    template <class, class, class, class, class> friend class _LIBCPP_TYPE_VIS unordered_multimap;
 };
 
-template <class _ConstNodePtr> class _LIBCPP_VISIBLE __hash_const_local_iterator;
+template <class _ConstNodePtr> class _LIBCPP_TYPE_VIS __hash_const_local_iterator;
 
 template <class _NodePtr>
-class _LIBCPP_VISIBLE __hash_local_iterator
+class _LIBCPP_TYPE_VIS __hash_local_iterator
 {
     typedef _NodePtr __node_pointer;
 
@@ -294,12 +294,12 @@ private:
         }
 
     template <class, class, class, class> friend class __hash_table;
-    template <class> friend class _LIBCPP_VISIBLE __hash_const_local_iterator;
-    template <class> friend class _LIBCPP_VISIBLE __hash_map_iterator;
+    template <class> friend class _LIBCPP_TYPE_VIS __hash_const_local_iterator;
+    template <class> friend class _LIBCPP_TYPE_VIS __hash_map_iterator;
 };
 
 template <class _ConstNodePtr>
-class _LIBCPP_VISIBLE __hash_const_local_iterator
+class _LIBCPP_TYPE_VIS __hash_const_local_iterator
 {
     typedef _ConstNodePtr __node_pointer;
 
@@ -384,7 +384,7 @@ private:
         }
 
     template <class, class, class, class> friend class __hash_table;
-    template <class> friend class _LIBCPP_VISIBLE __hash_map_const_iterator;
+    template <class> friend class _LIBCPP_TYPE_VIS __hash_map_const_iterator;
 };
 
 template <class _Alloc>

Modified: user/adrian/net80211_tx/contrib/libc++/include/__locale
==============================================================================
--- user/adrian/net80211_tx/contrib/libc++/include/__locale	Sun Apr 28 01:02:59 2013	(r250009)
+++ user/adrian/net80211_tx/contrib/libc++/include/__locale	Sun Apr 28 01:59:20 2013	(r250010)
@@ -19,11 +19,11 @@
 #include <cstdint>
 #include <cctype>
 #include <locale.h>
-#if _WIN32
+#ifdef _WIN32
 # include <support/win32/locale_win32.h>
-#elif (__GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__)
+#elif (defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun__)) || defined(EMSCRIPTEN)
 # include <xlocale.h>
-#endif  // _WIN32 || __GLIBC__ || __APPLE__ || __FreeBSD_
+#endif  // _WIN32 || __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__ || EMSCRIPTEN
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
@@ -31,7 +31,7 @@
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
-class _LIBCPP_VISIBLE locale;
+class _LIBCPP_TYPE_VIS locale;
 
 template <class _Facet>
 _LIBCPP_INLINE_VISIBILITY
@@ -43,12 +43,12 @@ _LIBCPP_INLINE_VISIBILITY
 const _Facet&
 use_facet(const locale&);
 
-class _LIBCPP_VISIBLE locale
+class _LIBCPP_TYPE_VIS locale
 {
 public:
     // types:
-    class _LIBCPP_VISIBLE facet;
-    class _LIBCPP_VISIBLE id;
+    class _LIBCPP_TYPE_VIS facet;
+    class _LIBCPP_TYPE_VIS id;
 
     typedef int category;
     static const category // values assigned here are for exposition only
@@ -103,7 +103,7 @@ private:
     template <class _Facet> friend const _Facet& use_facet(const locale&);
 };
 
-class _LIBCPP_VISIBLE locale::facet
+class _LIBCPP_TYPE_VIS locale::facet
     : public __shared_count
 {
 protected:
@@ -119,7 +119,7 @@ private:
     virtual void __on_zero_shared() _NOEXCEPT;
 };
 
-class _LIBCPP_VISIBLE locale::id
+class _LIBCPP_TYPE_VIS locale::id
 {
     once_flag      __flag_;
     int32_t        __id_;
@@ -175,7 +175,7 @@ use_facet(const locale& __l)
 // template <class _CharT> class collate;
 
 template <class _CharT>
-class _LIBCPP_VISIBLE collate
+class _LIBCPP_TYPE_VIS collate
     : public locale::facet
 {
 public:
@@ -254,15 +254,15 @@ collate<_CharT>::do_hash(const char_type
     return static_cast<long>(__h);
 }
 
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_VISIBLE collate<char>)
-_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_VISIBLE collate<wchar_t>)
+_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_TYPE_VIS collate<char>)
+_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_TYPE_VIS collate<wchar_t>)
 
 // template <class CharT> class collate_byname;
 
-template <class _CharT> class _LIBCPP_VISIBLE collate_byname;
+template <class _CharT> class _LIBCPP_TYPE_VIS collate_byname;
 
 template <>
-class _LIBCPP_VISIBLE collate_byname<char>
+class _LIBCPP_TYPE_VIS collate_byname<char>
     : public collate<char>
 {
     locale_t __l;
@@ -281,7 +281,7 @@ protected:
 };
 
 template <>
-class _LIBCPP_VISIBLE collate_byname<wchar_t>
+class _LIBCPP_TYPE_VIS collate_byname<wchar_t>
     : public collate<wchar_t>
 {
     locale_t __l;
@@ -312,10 +312,10 @@ locale::operator()(const basic_string<_C
 
 // template <class charT> class ctype
 
-class _LIBCPP_VISIBLE ctype_base
+class _LIBCPP_TYPE_VIS ctype_base
 {
 public:
-#if __GLIBC__
+#ifdef __GLIBC__
     typedef unsigned short mask;
     static const mask space  = _ISspace;
     static const mask print  = _ISprint;
@@ -327,7 +327,7 @@ public:
     static const mask punct  = _ISpunct;
     static const mask xdigit = _ISxdigit;
     static const mask blank  = _ISblank;
-#elif _WIN32
+#elif defined(_WIN32)
     typedef unsigned short mask;
     static const mask space  = _SPACE;
     static const mask print  = _BLANK|_PUNCT|_ALPHA|_DIGIT;
@@ -339,11 +339,13 @@ public:
     static const mask punct  = _PUNCT;
     static const mask xdigit = _HEX;
     static const mask blank  = _BLANK;
-#elif (__APPLE__ || __FreeBSD__)
-#if __APPLE__
+#elif (defined(__APPLE__) || defined(__FreeBSD__)) || defined(EMSCRIPTEN)
+#ifdef __APPLE__
     typedef __uint32_t mask;
-#elif __FreeBSD__
+#elif defined(__FreeBSD__)
     typedef unsigned long mask;
+#elif defined(EMSCRIPTEN)
+    typedef unsigned short mask;
 #endif
     static const mask space  = _CTYPE_S;
     static const mask print  = _CTYPE_R;
@@ -355,7 +357,7 @@ public:
     static const mask punct  = _CTYPE_P;
     static const mask xdigit = _CTYPE_X;
     static const mask blank  = _CTYPE_B;
-#elif __sun__
+#elif defined(__sun__)
     typedef unsigned int mask;
     static const mask space  = _ISSPACE;
     static const mask print  = _ISPRINT;
@@ -367,7 +369,7 @@ public:
     static const mask punct  = _ISPUNCT;
     static const mask xdigit = _ISXDIGIT;
     static const mask blank  = _ISBLANK;
-#else  // __GLIBC__ || _WIN32 || __APPLE__ || __FreeBSD__ || __sun__
+#else  // __GLIBC__ || _WIN32 || __APPLE__ || __FreeBSD__ || EMSCRIPTEN || __sun__
     typedef unsigned long mask;
     static const mask space  = 1<<0;
     static const mask print  = 1<<1;
@@ -386,10 +388,10 @@ public:
     _LIBCPP_ALWAYS_INLINE ctype_base() {}
 };
 
-template <class _CharT> class _LIBCPP_VISIBLE ctype;
+template <class _CharT> class _LIBCPP_TYPE_VIS ctype;
 
 template <>
-class _LIBCPP_VISIBLE ctype<wchar_t>
+class _LIBCPP_TYPE_VIS ctype<wchar_t>
     : public locale::facet,
       public ctype_base
 {
@@ -491,7 +493,7 @@ protected:
 };
 
 template <>
-class _LIBCPP_VISIBLE ctype<char>
+class _LIBCPP_TYPE_VIS ctype<char>
     : public locale::facet, public ctype_base
 {
     const mask* __tab_;
@@ -590,7 +592,7 @@ public:
 #endif
     _LIBCPP_ALWAYS_INLINE const mask* table() const  _NOEXCEPT {return __tab_;}
     static const mask* classic_table()  _NOEXCEPT;

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-user@FreeBSD.ORG  Sun Apr 28 02:04:34 2013
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115])
 by hub.freebsd.org (Postfix) with ESMTP id A54FAAB3;
 Sun, 28 Apr 2013 02:04:34 +0000 (UTC)
 (envelope-from adrian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 by mx1.freebsd.org (Postfix) with ESMTP id 7DBCD131F;
 Sun, 28 Apr 2013 02:04:34 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3S24XJF069470;
 Sun, 28 Apr 2013 02:04:33 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3S24XsS069469;
 Sun, 28 Apr 2013 02:04:33 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201304280204.r3S24XsS069469@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Sun, 28 Apr 2013 02:04:33 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r250011 - user/adrian/net80211_tx/sys/modules/ath
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 28 Apr 2013 02:04:34 -0000

Author: adrian
Date: Sun Apr 28 02:04:33 2013
New Revision: 250011
URL: http://svnweb.freebsd.org/changeset/base/250011

Log:
  * Flip on ar9300 HAL building by default.
  * Update the directory locations to point to where it is now living
    in -HEAD.

Modified:
  user/adrian/net80211_tx/sys/modules/ath/Makefile

Modified: user/adrian/net80211_tx/sys/modules/ath/Makefile
==============================================================================
--- user/adrian/net80211_tx/sys/modules/ath/Makefile	Sun Apr 28 01:59:20 2013	(r250010)
+++ user/adrian/net80211_tx/sys/modules/ath/Makefile	Sun Apr 28 02:04:33 2013	(r250011)
@@ -124,13 +124,13 @@ SRCS+=  ah_eeprom_9287.c
 SRCS+=  ar9287.c ar9287_reset.c ar9287_attach.c ar9287_cal.c ar9287_olc.c
 
 # + AR9300 HAL
-# .PATH:  ${.CURDIR}/../../contrib/sys/dev/ath/ath_hal/ar9300
-#SRCS+= ar9300_interrupts.c ar9300_radar.c ar9300_ani.c ar9300_keycache.c
-#SRCS+= ar9300_radio.c ar9300_xmit.c ar9300_attach.c ar9300_mci.c ar9300_stub.c
-#SRCS+= ar9300_xmit_ds.c ar9300_beacon.c ar9300_misc.c ar9300_recv.c
-#SRCS+= ar9300_stub_funcs.c ar9300_eeprom.c ar9300_paprd.c ar9300_recv_ds.c
-#SRCS+= ar9300_freebsd.c ar9300_phy.c ar9300_reset.c ar9300_gpio.c
-#SRCS+= ar9300_power.c ar9300_timer.c
+.PATH:  ${.CURDIR}/../../contrib/dev/ath/ath_hal/ar9300
+SRCS+= ar9300_interrupts.c ar9300_radar.c ar9300_ani.c ar9300_keycache.c
+SRCS+= ar9300_radio.c ar9300_xmit.c ar9300_attach.c ar9300_mci.c ar9300_stub.c
+SRCS+= ar9300_xmit_ds.c ar9300_beacon.c ar9300_misc.c ar9300_recv.c
+SRCS+= ar9300_stub_funcs.c ar9300_eeprom.c ar9300_paprd.c ar9300_recv_ds.c
+SRCS+= ar9300_freebsd.c ar9300_phy.c ar9300_reset.c ar9300_gpio.c
+SRCS+= ar9300_power.c ar9300_timer.c
 
 # NB: rate control is bound to the driver by symbol names so only pick one
 .if ${ATH_RATE} == "sample"
@@ -149,7 +149,7 @@ SRCS+=	amrr.c
 SRCS+=	dfs_null.c
 
 CFLAGS+=  -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal
-# CFLAGS+=  -I. -I${.CURDIR}/../../contrib/sys/dev/ath/ath_hal/
+CFLAGS+=  -I. -I${.CURDIR}/../../contrib/dev/ath/ath_hal/
 
 .if !defined(KERNBUILDDIR)
 opt_ah.h:
@@ -164,5 +164,5 @@ CWARNFLAGS.if_ath.c=		${NO_WSOMETIMES_UN
 CWARNFLAGS+=			${CWARNFLAGS.${.IMPSRC:T}}
 
 # AR9300 HAL build overrides, as there's still some code to tidy up
-#CWARNFLAGS.ar9300_eeprom.c=	${NO_WCONSTANT_CONVERSION}
-#CWARNFLAGS.ar9300_reset.c=	${NO_WSOMETIMES_UNINITIALIZED}
+CWARNFLAGS.ar9300_eeprom.c=	${NO_WCONSTANT_CONVERSION}
+CWARNFLAGS.ar9300_reset.c=	${NO_WSOMETIMES_UNINITIALIZED}

From owner-svn-src-user@FreeBSD.ORG  Mon Apr 29 08:21:38 2013
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by hub.freebsd.org (Postfix) with ESMTP id 2C090E47;
 Mon, 29 Apr 2013 08:21:38 +0000 (UTC)
 (envelope-from adrian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 by mx1.freebsd.org (Postfix) with ESMTP id 1339F1E18;
 Mon, 29 Apr 2013 08:21:38 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3T8Lcqf009187;
 Mon, 29 Apr 2013 08:21:38 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3T8LWHj009151;
 Mon, 29 Apr 2013 08:21:32 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201304290821.r3T8LWHj009151@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Mon, 29 Apr 2013 08:21:32 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r250042 - in user/adrian/net80211_tx: bin/hostname
 bin/kill lib/libstand lib/libstand/mips lib/libthr/thread
 share/examples/BSD_daemon share/man/man4/man4.arm sys/arm/xilinx
 sys/cam/ata...
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 29 Apr 2013 08:21:38 -0000

Author: adrian
Date: Mon Apr 29 08:21:32 2013
New Revision: 250042
URL: http://svnweb.freebsd.org/changeset/base/250042

Log:
  MFH

Added:
  user/adrian/net80211_tx/share/examples/BSD_daemon/beastie2.eps
     - copied unchanged from r250041, head/share/examples/BSD_daemon/beastie2.eps
Modified:
  user/adrian/net80211_tx/bin/hostname/hostname.c
  user/adrian/net80211_tx/bin/kill/kill.c
  user/adrian/net80211_tx/lib/libstand/Makefile
  user/adrian/net80211_tx/lib/libstand/mips/_setjmp.S
  user/adrian/net80211_tx/lib/libthr/thread/thr_sig.c
  user/adrian/net80211_tx/share/examples/BSD_daemon/README
  user/adrian/net80211_tx/share/man/man4/man4.arm/devcfg.4
  user/adrian/net80211_tx/sys/arm/xilinx/zy7_devcfg.c
  user/adrian/net80211_tx/sys/arm/xilinx/zy7_ehci.c
  user/adrian/net80211_tx/sys/arm/xilinx/zy7_gpio.c
  user/adrian/net80211_tx/sys/arm/xilinx/zy7_l2cache.c
  user/adrian/net80211_tx/sys/arm/xilinx/zy7_machdep.c
  user/adrian/net80211_tx/sys/arm/xilinx/zy7_reg.h
  user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.c
  user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.h
  user/adrian/net80211_tx/sys/cam/ata/ata_da.c
  user/adrian/net80211_tx/sys/cam/scsi/scsi_da.c
  user/adrian/net80211_tx/sys/cam/scsi/scsi_xpt.c
  user/adrian/net80211_tx/sys/dev/ath/if_ath.c
  user/adrian/net80211_tx/sys/dev/cadence/if_cgem.c
  user/adrian/net80211_tx/sys/dev/cadence/if_cgem_hw.h
  user/adrian/net80211_tx/sys/dev/ciss/ciss.c
  user/adrian/net80211_tx/sys/dev/hptrr/hptrr_osm_bsd.c
  user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_subr.c
  user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_vnops.c
  user/adrian/net80211_tx/sys/kern/uipc_syscalls.c
  user/adrian/net80211_tx/sys/netpfil/ipfw/ip_dummynet.c
  user/adrian/net80211_tx/sys/vm/vm_mmap.c
  user/adrian/net80211_tx/sys/vm/vm_object.c
  user/adrian/net80211_tx/sys/vm/vm_object.h
  user/adrian/net80211_tx/sys/vm/vm_radix.c
  user/adrian/net80211_tx/sys/vm/vnode_pager.c
  user/adrian/net80211_tx/tools/build/mk/OptionalObsoleteFiles.inc
  user/adrian/net80211_tx/tools/tools/nanobsd/nanobsd.sh
  user/adrian/net80211_tx/usr.bin/Makefile
  user/adrian/net80211_tx/usr.bin/biff/biff.1
Directory Properties:
  user/adrian/net80211_tx/   (props changed)
  user/adrian/net80211_tx/share/man/man4/   (props changed)
  user/adrian/net80211_tx/sys/   (props changed)

Modified: user/adrian/net80211_tx/bin/hostname/hostname.c
==============================================================================
--- user/adrian/net80211_tx/bin/hostname/hostname.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/bin/hostname/hostname.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$");
 #include <string.h>
 #include <unistd.h>
 
-static void usage(void);
+static void usage(void) __dead2;
 
 int
 main(int argc, char *argv[])

Modified: user/adrian/net80211_tx/bin/kill/kill.c
==============================================================================
--- user/adrian/net80211_tx/bin/kill/kill.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/bin/kill/kill.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -156,7 +156,7 @@ signame_to_signum(const char *sig)
 {
 	int n;
 
-	if (!strncasecmp(sig, "SIG", (size_t)3))
+	if (strncasecmp(sig, "SIG", 3) == 0)
 		sig += 3;
 	for (n = 1; n < sys_nsig; n++) {
 		if (!strcasecmp(sys_signame[n], sig))

Modified: user/adrian/net80211_tx/lib/libstand/Makefile
==============================================================================
--- user/adrian/net80211_tx/lib/libstand/Makefile	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/lib/libstand/Makefile	Mon Apr 29 08:21:32 2013	(r250042)
@@ -54,9 +54,7 @@ SRCS+= ntoh.c
 
 # string functions from libc
 .PATH: ${.CURDIR}/../libc/string
-.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "powerpc" || \
-	${MACHINE_CPUARCH} == "sparc64" || ${MACHINE_CPUARCH} == "amd64" || \
-	${MACHINE_CPUARCH} == "arm"
+.if ${MACHINE_CPUARCH} != "ia64"
 SRCS+=	bcmp.c bcopy.c bzero.c ffs.c memccpy.c memchr.c memcmp.c memcpy.c \
 	memmove.c memset.c qdivrem.c strcat.c strchr.c strcmp.c strcpy.c \
 	strcspn.c strlen.c strncat.c strncmp.c strncpy.c strpbrk.c \

Modified: user/adrian/net80211_tx/lib/libstand/mips/_setjmp.S
==============================================================================
--- user/adrian/net80211_tx/lib/libstand/mips/_setjmp.S	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/lib/libstand/mips/_setjmp.S	Mon Apr 29 08:21:32 2013	(r250042)
@@ -72,7 +72,6 @@ LEAF(_setjmp)
 	REG_S	s7, ((S7 + 3) * SZREG)(a0)
 	REG_S	sp, ((SP + 3) * SZREG)(a0)
 	REG_S	s8, ((S8 + 3) * SZREG)(a0)
-	REG_S	v0, ((32 + 38) * SZREG)(a0)
 	j	ra
 	move	v0, zero
 END(_setjmp)
@@ -96,7 +95,6 @@ LEAF(_longjmp)
 	REG_L	s5, ((S5 + 3) * SZREG)(a0)
 	REG_L	s6, ((S6 + 3) * SZREG)(a0)
 	REG_L	s7, ((S7 + 3) * SZREG)(a0)
-	REG_L	v0, ((32 + 38) * SZREG)(a0)	# get fpu status
 	REG_L	sp, ((SP + 3) * SZREG)(a0)
 	REG_L	s8, ((S8 + 3) * SZREG)(a0)
 

Modified: user/adrian/net80211_tx/lib/libthr/thread/thr_sig.c
==============================================================================
--- user/adrian/net80211_tx/lib/libthr/thread/thr_sig.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/lib/libthr/thread/thr_sig.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -336,13 +336,6 @@ check_deferred_signal(struct pthread *cu
 		memcpy(&info, &curthread->deferred_siginfo, sizeof(siginfo_t));
 		/* remove signal */
 		curthread->deferred_siginfo.si_signo = 0;
-		if (act.sa_flags & SA_RESETHAND) {
-			struct sigaction tact;
-
-			tact = act;
-			tact.sa_handler = SIG_DFL;
-			_sigaction(info.si_signo, &tact, NULL);
-		}
 		handle_signal(&act, info.si_signo, &info, uc);
 	}
 }

Modified: user/adrian/net80211_tx/share/examples/BSD_daemon/README
==============================================================================
--- user/adrian/net80211_tx/share/examples/BSD_daemon/README	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/share/examples/BSD_daemon/README	Mon Apr 29 08:21:32 2013	(r250042)
@@ -35,6 +35,10 @@ beastie.eps
 	Before committing this, clean out the comment brought
 	over from the .fig file to avoid Dollar-FreeBSD-Dollar junk
 
+beastie2.eps
+	Written by Rahul Siddharthan beaste2.eps is a
+	smaller, simpler version of the beastie eps graphic.
+
 eps.patch
 	Add some comments about tweakables in the .eps file and set
 	the linecaps to round to improve visual appearance.

Copied: user/adrian/net80211_tx/share/examples/BSD_daemon/beastie2.eps (from r250041, head/share/examples/BSD_daemon/beastie2.eps)
==============================================================================
Binary file (source and/or target). No diff available.

Modified: user/adrian/net80211_tx/share/man/man4/man4.arm/devcfg.4
==============================================================================
--- user/adrian/net80211_tx/share/man/man4/man4.arm/devcfg.4	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/share/man/man4/man4.arm/devcfg.4	Mon Apr 29 08:21:32 2013	(r250042)
@@ -37,7 +37,9 @@ The special file
 .Pa /dev/devcfg
 can be used to configure the PL (FPGA) section of the Xilinx Zynq-7000.
 .Pp
-On the first write to the character device at file offset 0, the devcfg driver
+On the first write to the character device at file offset 0, the
+.Nm
+driver
 asserts the top-level PL reset signals, disables the PS-PL level shifters,
 and clears the PL configuration.
 Write data is sent to the PCAP (processor configuration access port).
@@ -54,16 +56,18 @@ The file should not be confused with the
 design tools.
 It is the binary form of the configuration bitstream.
 The Xilinx
-.Pa promgen
+.Ic promgen
 tool can do the conversion:
 .Bd -literal -offset indent
 promgen -b -w -p bin -data_width 32 -u 0 design.bit -o design.bit.bin
 .Ed
 .Sh SYSCTL VARIABLES
-The devcfg driver provides the following
+The
+.Nm
+driver provides the following
 .Xr sysctl 8
 variables:
-.Bl -tag -width 12
+.Bl -tag -width 4n
 .It Va hw.fpga.pl_done
 .Pp
 This variable always reflects the status of the PL's DONE signal.
@@ -73,15 +77,19 @@ A 1 means the PL section has been proper
 This variable controls if the PS-PL level shifters are enabled after the
 PL section has been reconfigured.
 This variable is 1 by default but setting it to 0 allows the PL section to be
-programmed with configurations that don't interface to the PS section of the
+programmed with configurations that do not interface to the PS section of the
 part.
 Changing this value has no effect on the level shifters until the next device
 reconfiguration.
+.El
 .Sh FILES
-/dev/devcfg Character device for
+.Bl -tag -width 12n
+.It Pa /dev/devcfg
+Character device for the
 .Nm
 driver.
-.Sh AUTHORS
-Thomas Skibo
+.El
 .Sh SEE ALSO
 Zynq-7000 SoC Technical Reference Manual (Xilinx doc UG585)
+.Sh AUTHORS
+Thomas Skibo

Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_devcfg.c
==============================================================================
--- user/adrian/net80211_tx/sys/arm/xilinx/zy7_devcfg.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_devcfg.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -1,32 +1,33 @@
 /*-
- * Copyright (C) 2013, Thomas Skibo.
+ * Copyright (c) 2013 Thomas Skibo
  * All rights reserved.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * * The names of contributors may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL AUTHORS OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
  *
+ * $FreeBSD$
  */
 
-/* Zynq-7000 Devcfg driver.  This allows programming the PL (FPGA) section
+/* 
+ * Zynq-7000 Devcfg driver.  This allows programming the PL (FPGA) section
  * of Zynq.
  *
  * Reference: Zynq-7000 All Programmable SoC Technical Reference Manual.

Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_ehci.c
==============================================================================
--- user/adrian/net80211_tx/sys/arm/xilinx/zy7_ehci.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_ehci.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -1,31 +1,33 @@
 /*-
- * Copyright (C) 2012-2013, Thomas Skibo.
+ * Copyright (c) 2012-2013 Thomas Skibo
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * * The names of contributors may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL AUTHORS OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (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$
  */
 
-/* A host-controller driver for Zynq-7000's USB OTG controller.
+/*
+ * A host-controller driver for Zynq-7000's USB OTG controller.
  *
  * Reference: Zynq-7000 All Programmable SoC Technical Reference Manual.
  * (v1.4) November 16, 2012.  Xilinx doc UG585.  Ch. 15 covers the USB

Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_gpio.c
==============================================================================
--- user/adrian/net80211_tx/sys/arm/xilinx/zy7_gpio.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_gpio.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -1,32 +1,33 @@
 /*-
- * Copyright (C) 2013, Thomas Skibo.
+ * Copyright (c) 2013 Thomas Skibo
  * All rights reserved.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * * The names of contributors may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL AUTHORS OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
  *
+ * $FreeBSD$
  */
 
-/* A GPIO driver for Xilinx Zynq-7000.
+/*
+ * A GPIO driver for Xilinx Zynq-7000.
  *
  * The GPIO peripheral on Zynq allows controlling 114 general purpose I/Os.
  *

Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_l2cache.c
==============================================================================
--- user/adrian/net80211_tx/sys/arm/xilinx/zy7_l2cache.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_l2cache.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (C) 2013, Thomas Skibo.
+ * Copyright (c) 2013 Thomas Skibo
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -11,20 +11,24 @@
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
  *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (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$
  */
 
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
+
 #include <sys/types.h>
 #include <sys/param.h>
 #include <sys/systm.h>

Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_machdep.c
==============================================================================
--- user/adrian/net80211_tx/sys/arm/xilinx/zy7_machdep.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_machdep.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -1,32 +1,33 @@
 /*-
- * Copyright (C) 2012-2013, Thomas Skibo.
+ * Copyright (c) 2013 Thomas Skibo
  * All rights reserved.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * * The names of contributors may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL AUTHORS OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
  *
+ * $FreeBSD$
  */
 
-/* Machine dependent code for Xilinx Zynq-7000 Soc.
+/*
+ * Machine dependent code for Xilinx Zynq-7000 Soc.
  *
  * Reference: Zynq-7000 All Programmable SoC Technical Reference Manual.
  * (v1.4) November 16, 2012.  Xilinx doc UG585.

Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_reg.h
==============================================================================
--- user/adrian/net80211_tx/sys/arm/xilinx/zy7_reg.h	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_reg.h	Mon Apr 29 08:21:32 2013	(r250042)
@@ -1,33 +1,33 @@
 /*-
- * Copyright (C) 2012-2013, Thomas Skibo.
+ * Copyright (c) 2012-2013 Thomas Skibo
  * All rights reserved.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * * The names of contributors may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL Thomas Skibo OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (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$
  */
 
-/* $FreeBSD$ */
-
-/* Address regions of Zynq-7000.  
+/*
+ * Address regions of Zynq-7000.  
  * Reference: Zynq-7000 All Programmable SoC Technical Reference Manual.
  * (v1.4) November 16, 2012.  Xilinx doc UG585.
  */

Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.c
==============================================================================
--- user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -1,32 +1,33 @@
 /*-
- * Copyright (C) 2013, Thomas Skibo.
+ * Copyright (c) 2013 Thomas Skibo
  * All rights reserved.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * * The names of contributors may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL AUTHORS OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
  *
+ * $FreeBSD$
  */
 
-/* Zynq-700 SLCR driver.  Provides hooks for cpu_reset and PL control stuff.
+/*
+ * Zynq-700 SLCR driver.  Provides hooks for cpu_reset and PL control stuff.
  * In the future, maybe MIO control, clock control, etc. could go here.
  *
  * Reference: Zynq-7000 All Programmable SoC Technical Reference Manual.

Modified: user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.h
==============================================================================
--- user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.h	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/arm/xilinx/zy7_slcr.h	Mon Apr 29 08:21:32 2013	(r250042)
@@ -1,34 +1,33 @@
 /*-
- * Copyright (C) 2013, Thomas Skibo.
+ * Copyright (c) 2013 Thomas Skibo
  * All rights reserved.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * * The names of contributors may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL AUTHORS OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
  *
+ * $FreeBSD$
  */
 
-/* $FreeBSD$ */
-
-/* Defines for Zynq-7000 SLCR registers.
+/*
+ * Defines for Zynq-7000 SLCR registers.
  *
  * Most of these registers are initialized by the First Stage Boot
  * Loader and are not modified by the kernel.

Modified: user/adrian/net80211_tx/sys/cam/ata/ata_da.c
==============================================================================
--- user/adrian/net80211_tx/sys/cam/ata/ata_da.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/cam/ata/ata_da.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -1147,7 +1147,7 @@ adaregister(struct cam_periph *periph, v
 	snprintf(announce_buf, sizeof(announce_buf),
 	    "kern.cam.ada.%d.write_cache", periph->unit_number);
 	TUNABLE_INT_FETCH(announce_buf, &softc->write_cache);
-	/* Disable queue sorting for non-rotatational media by default */
+	/* Disable queue sorting for non-rotational media by default. */
 	if (cgd->ident_data.media_rotation_rate == 1)
 		softc->sort_io_queue = 0;
 	else

Modified: user/adrian/net80211_tx/sys/cam/scsi/scsi_da.c
==============================================================================
--- user/adrian/net80211_tx/sys/cam/scsi/scsi_da.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/cam/scsi/scsi_da.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -3058,6 +3058,10 @@ dadone(struct cam_periph *periph, union 
 		bdc = (struct scsi_vpd_block_characteristics *)csio->data_ptr;
 
 		if ((csio->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) {
+			/*
+			 * Disable queue sorting for non-rotational media
+			 * by default.
+			 */
 			if (scsi_2btoul(bdc->medium_rotation_rate) ==
 			    SVPD_BDC_RATE_NONE_ROTATING)
 				softc->sort_io_queue = 0;
@@ -3106,8 +3110,8 @@ dadone(struct cam_periph *periph, union 
 					  ATA_DSM_BLK_RANGES);
 			}
 			/*
-			 * Disable queue sorting for non-rotatational media
-			 * by default
+			 * Disable queue sorting for non-rotational media
+			 * by default.
 			 */
 			if (ata_params->media_rotation_rate == 1)
 				softc->sort_io_queue = 0;

Modified: user/adrian/net80211_tx/sys/cam/scsi/scsi_xpt.c
==============================================================================
--- user/adrian/net80211_tx/sys/cam/scsi/scsi_xpt.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/cam/scsi/scsi_xpt.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -883,6 +883,7 @@ again:
 		 * routine finish up for us.
 		 */
 		start_ccb->csio.data_ptr = NULL;
+		cam_freeze_devq(periph->path);
 		probedone(periph, start_ccb);
 		return;
 	}
@@ -913,6 +914,7 @@ again:
 		 * routine finish up for us.
 		 */
 		start_ccb->csio.data_ptr = NULL;
+		cam_freeze_devq(periph->path);
 		probedone(periph, start_ccb);
 		return;
 	}
@@ -952,6 +954,7 @@ again:
 		 * routine finish up for us.
 		 */
 		start_ccb->csio.data_ptr = NULL;
+		cam_freeze_devq(periph->path);
 		probedone(periph, start_ccb);
 		return;
 	}

Modified: user/adrian/net80211_tx/sys/dev/ath/if_ath.c
==============================================================================
--- user/adrian/net80211_tx/sys/dev/ath/if_ath.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/dev/ath/if_ath.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -4519,10 +4519,12 @@ ath_tx_stopdma(struct ath_softc *sc, str
 	struct ath_hal *ah = sc->sc_ah;
 
 	DPRINTF(sc, ATH_DEBUG_RESET,
-	    "%s: tx queue [%u] %p, flags 0x%08x, link %p\n",
+	    "%s: tx queue [%u] %p, active=%d, hwpending=%d, flags 0x%08x, link %p\n",
 	    __func__,
 	    txq->axq_qnum,
 	    (caddr_t)(uintptr_t) ath_hal_gettxbuf(ah, txq->axq_qnum),
+	    (int) (!! ath_hal_txqenabled(ah, txq->axq_qnum)),
+	    (int) ath_hal_numtxpending(ah, txq->axq_qnum),
 	    txq->axq_flags,
 	    txq->axq_link);
 	(void) ath_hal_stoptxdma(ah, txq->axq_qnum);
@@ -4564,8 +4566,6 @@ ath_tx_dump(struct ath_softc *sc, struct
 	if (! (sc->sc_debug & ATH_DEBUG_RESET))
 		return;
 
-	ATH_TX_LOCK_ASSERT(sc);
-
 	device_printf(sc->sc_dev, "%s: Q%d: begin\n",
 	    __func__, txq->axq_qnum);
 	TAILQ_FOREACH(bf, &txq->axq_q, bf_list) {

Modified: user/adrian/net80211_tx/sys/dev/cadence/if_cgem.c
==============================================================================
--- user/adrian/net80211_tx/sys/dev/cadence/if_cgem.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/dev/cadence/if_cgem.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2012-2013 Thomas Skibo.
+ * Copyright (c) 2012-2013 Thomas Skibo
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -24,7 +24,8 @@
  * SUCH DAMAGE.
  */
 
-/* A network interface driver for Cadence GEM Gigabit Ethernet
+/*
+ * A network interface driver for Cadence GEM Gigabit Ethernet
  * interface such as the one used in Xilinx Zynq-7000 SoC.
  *
  * Reference: Zynq-7000 All Programmable SoC Technical Reference Manual.

Modified: user/adrian/net80211_tx/sys/dev/cadence/if_cgem_hw.h
==============================================================================
--- user/adrian/net80211_tx/sys/dev/cadence/if_cgem_hw.h	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/dev/cadence/if_cgem_hw.h	Mon Apr 29 08:21:32 2013	(r250042)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2012-2013 Thomas Skibo.
+ * Copyright (c) 2012-2013 Thomas Skibo
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -22,10 +22,10 @@
  * LIABILITY, OR TORT (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$
  */
 
-/* $FreeBSD$ */
-
 /*
  * Hardware and register defines for Cadence GEM Gigabit Ethernet
  * controller such as the one used in Zynq-7000 SoC.

Modified: user/adrian/net80211_tx/sys/dev/ciss/ciss.c
==============================================================================
--- user/adrian/net80211_tx/sys/dev/ciss/ciss.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/dev/ciss/ciss.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -2487,6 +2487,7 @@ ciss_preen_command(struct ciss_request *
     cc->header.sg_total = 0;
     cc->header.host_tag = cr->cr_tag << 2;
     cc->header.host_tag_zeroes = 0;
+    bzero(&(cc->sg[0]), CISS_COMMAND_ALLOC_SIZE - sizeof(struct ciss_command));
     cmdphys = cr->cr_ccphys;
     cc->error_info.error_info_address = cmdphys + sizeof(struct ciss_command);
     cc->error_info.error_info_length = CISS_COMMAND_ALLOC_SIZE - sizeof(struct ciss_command);
@@ -3007,7 +3008,7 @@ ciss_cam_action(struct cam_sim *sim, uni
 	cpi->protocol = PROTO_SCSI;
 	cpi->protocol_version = SCSI_REV_2;
 	if (sc->ciss_cfg->max_sg_length == 0) {
-		sg_length = 16;
+		sg_length = 17;
 	} else {
 	/* XXX Fix for ZMR cards that advertise max_sg_length == 32
 	 * Confusing bit here. max_sg_length is usually a power of 2. We always
@@ -3375,7 +3376,7 @@ ciss_cam_complete_fixup(struct ciss_soft
 
 	cl = &sc->ciss_logical[bus][target];
 
-	padstr(inq->vendor, "COMPAQ",
+	padstr(inq->vendor, "HP",
 	       SID_VENDOR_SIZE);
 	padstr(inq->product,
 	       ciss_name_ldrive_org(cl->cl_ldrive->fault_tolerance),

Modified: user/adrian/net80211_tx/sys/dev/hptrr/hptrr_osm_bsd.c
==============================================================================
--- user/adrian/net80211_tx/sys/dev/hptrr/hptrr_osm_bsd.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/dev/hptrr/hptrr_osm_bsd.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -175,7 +175,8 @@ static int hpt_alloc_mem(PVBUS_EXT vbus_
 
 		HPT_ASSERT((f->size & (f->alignment-1))==0);
 
-		for (order=0, size=PAGE_SIZE; size<f->size; order++, size<<=1) ;
+		for (order=0, size=PAGE_SIZE; size<f->size; order++, size<<=1)
+			;
 
 		KdPrint(("%s: %d*%d=%d bytes, order %d",
 			f->tag, f->count, f->size, f->count*f->size, order));

Modified: user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_subr.c
==============================================================================
--- user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_subr.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_subr.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -166,6 +166,7 @@ tmpfs_alloc_node(struct tmpfs_mount *tmp
     char *target, dev_t rdev, struct tmpfs_node **node)
 {
 	struct tmpfs_node *nnode;
+	vm_object_t obj;
 
 	/* If the root directory of the 'tmp' file system is not yet
 	 * allocated, this must be the request to do it. */
@@ -227,9 +228,14 @@ tmpfs_alloc_node(struct tmpfs_mount *tmp
 		break;
 
 	case VREG:
-		nnode->tn_reg.tn_aobj =
+		obj = nnode->tn_reg.tn_aobj =
 		    vm_pager_allocate(OBJT_SWAP, NULL, 0, VM_PROT_DEFAULT, 0,
 			NULL /* XXXKIB - tmpfs needs swap reservation */);
+		VM_OBJECT_WLOCK(obj);
+		/* OBJ_TMPFS is set together with the setting of vp->v_object */
+		vm_object_set_flag(obj, OBJ_NOSPLIT);
+		vm_object_clear_flag(obj, OBJ_ONEMAPPING);
+		VM_OBJECT_WUNLOCK(obj);
 		break;
 
 	default:
@@ -434,9 +440,11 @@ int
 tmpfs_alloc_vp(struct mount *mp, struct tmpfs_node *node, int lkflag,
     struct vnode **vpp)
 {
-	int error = 0;
 	struct vnode *vp;
+	vm_object_t object;
+	int error;
 
+	error = 0;
 loop:
 	TMPFS_NODE_LOCK(node);
 	if ((vp = node->tn_vnode) != NULL) {
@@ -506,13 +514,22 @@ loop:
 		/* FALLTHROUGH */
 	case VLNK:
 		/* FALLTHROUGH */
-	case VREG:
-		/* FALLTHROUGH */
 	case VSOCK:
 		break;
 	case VFIFO:
 		vp->v_op = &tmpfs_fifoop_entries;
 		break;
+	case VREG:
+		object = node->tn_reg.tn_aobj;
+		VM_OBJECT_WLOCK(object);
+		VI_LOCK(vp);
+		KASSERT(vp->v_object == NULL, ("Not NULL v_object in tmpfs"));
+		vp->v_object = object;
+		object->un_pager.swp.swp_tmpfs = vp;
+		vm_object_set_flag(object, OBJ_TMPFS);
+		VI_UNLOCK(vp);
+		VM_OBJECT_WUNLOCK(object);
+		break;
 	case VDIR:
 		MPASS(node->tn_dir.tn_parent != NULL);
 		if (node->tn_dir.tn_parent == node)
@@ -523,7 +540,6 @@ loop:
 		panic("tmpfs_alloc_vp: type %p %d", node, (int)node->tn_type);
 	}
 
-	vnode_pager_setsize(vp, node->tn_size);
 	error = insmntque(vp, mp);
 	if (error)
 		vp = NULL;
@@ -1343,7 +1359,6 @@ retry:
 	TMPFS_UNLOCK(tmp);
 
 	node->tn_size = newsize;
-	vnode_pager_setsize(vp, newsize);
 	return (0);
 }
 

Modified: user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_vnops.c
==============================================================================
--- user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_vnops.c	Mon Apr 29 07:28:29 2013	(r250041)
+++ user/adrian/net80211_tx/sys/fs/tmpfs/tmpfs_vnops.c	Mon Apr 29 08:21:32 2013	(r250042)
@@ -278,8 +278,6 @@ tmpfs_close(struct vop_close_args *v)
 {
 	struct vnode *vp = v->a_vp;
 
-	MPASS(VOP_ISLOCKED(vp));
-
 	/* Update node times. */
 	tmpfs_update(vp);
 
@@ -439,7 +437,6 @@ tmpfs_setattr(struct vop_setattr_args *v
 	return error;
 }
 
-/* --------------------------------------------------------------------- */
 static int
 tmpfs_nocacheread(vm_object_t tobj, vm_pindex_t idx,
     vm_offset_t offset, size_t tlen, struct uio *uio)
@@ -448,12 +445,35 @@ tmpfs_nocacheread(vm_object_t tobj, vm_p
 	int		error, rv;
 
 	VM_OBJECT_WLOCK(tobj);
-	m = vm_page_grab(tobj, idx, VM_ALLOC_WIRED |
-	    VM_ALLOC_NORMAL | VM_ALLOC_RETRY);
+
+	/*
+	 * The kern_sendfile() code calls vn_rdwr() with the page
+	 * soft-busied.  Ignore the soft-busy state here. Parallel
+	 * reads of the page content from disk are prevented by
+	 * VPO_BUSY.
+	 *
+	 * Although the tmpfs vnode lock is held here, it is
+	 * nonetheless safe to sleep waiting for a free page.  The
+	 * pageout daemon does not need to acquire the tmpfs vnode
+	 * lock to page out tobj's pages because tobj is a OBJT_SWAP
+	 * type object.
+	 */
+	m = vm_page_grab(tobj, idx, VM_ALLOC_NORMAL | VM_ALLOC_RETRY |
+	    VM_ALLOC_IGN_SBUSY);
 	if (m->valid != VM_PAGE_BITS_ALL) {
 		if (vm_pager_has_page(tobj, idx, NULL, NULL)) {
 			rv = vm_pager_get_pages(tobj, &m, 1, 0);
+			m = vm_page_lookup(tobj, idx);
+			if (m == NULL) {
+				printf(
+		    "tmpfs: vm_obj %p idx %jd null lookup rv %d\n",
+				    tobj, idx, rv);
+				return (EIO);
+			}
 			if (rv != VM_PAGER_OK) {
+				printf(
+		    "tmpfs: vm_obj %p idx %jd valid %x pager error %d\n",
+				    tobj, idx, m->valid, rv);
 				vm_page_lock(m);
 				vm_page_free(m);
 				vm_page_unlock(m);
@@ -463,127 +483,38 @@ tmpfs_nocacheread(vm_object_t tobj, vm_p
 		} else
 			vm_page_zero_invalid(m, TRUE);
 	}
+	vm_page_lock(m);
+	vm_page_hold(m);
+	vm_page_wakeup(m);
+	vm_page_unlock(m);
 	VM_OBJECT_WUNLOCK(tobj);
 	error = uiomove_fromphys(&m, offset, tlen, uio);
 	VM_OBJECT_WLOCK(tobj);
 	vm_page_lock(m);
-	vm_page_unwire(m, TRUE);
+	vm_page_unhold(m);
+	vm_page_deactivate(m);
+	/* Requeue to maintain LRU ordering. */
+	vm_page_requeue(m);
 	vm_page_unlock(m);
-	vm_page_wakeup(m);
 	VM_OBJECT_WUNLOCK(tobj);
 
 	return (error);
 }
 
-static __inline int
-tmpfs_nocacheread_buf(vm_object_t tobj, vm_pindex_t idx,
-    vm_offset_t offset, size_t tlen, void *buf)
-{
-	struct uio uio;
-	struct iovec iov;
-
-	uio.uio_iovcnt = 1;
-	uio.uio_iov = &iov;
-	iov.iov_base = buf;
-	iov.iov_len = tlen;
-
-	uio.uio_offset = 0;
-	uio.uio_resid = tlen;
-	uio.uio_rw = UIO_READ;
-	uio.uio_segflg = UIO_SYSSPACE;
-	uio.uio_td = curthread;
-
-	return (tmpfs_nocacheread(tobj, idx, offset, tlen, &uio));
-}
-
-static int
-tmpfs_mappedread(vm_object_t vobj, vm_object_t tobj, size_t len, struct uio *uio)
-{
-	struct sf_buf	*sf;
-	vm_pindex_t	idx;
-	vm_page_t	m;
-	vm_offset_t	offset;
-	off_t		addr;
-	size_t		tlen;
-	char		*ma;
-	int		error;
-
-	addr = uio->uio_offset;
-	idx = OFF_TO_IDX(addr);
-	offset = addr & PAGE_MASK;
-	tlen = MIN(PAGE_SIZE - offset, len);
-
-	VM_OBJECT_WLOCK(vobj);
-lookupvpg:
-	if (((m = vm_page_lookup(vobj, idx)) != NULL) &&
-	    vm_page_is_valid(m, offset, tlen)) {
-		if ((m->oflags & VPO_BUSY) != 0) {
-			/*
-			 * Reference the page before unlocking and sleeping so
-			 * that the page daemon is less likely to reclaim it.  
-			 */
-			vm_page_reference(m);
-			vm_page_sleep(m, "tmfsmr");
-			goto lookupvpg;
-		}
-		vm_page_busy(m);
-		VM_OBJECT_WUNLOCK(vobj);
-		error = uiomove_fromphys(&m, offset, tlen, uio);
-		VM_OBJECT_WLOCK(vobj);
-		vm_page_wakeup(m);
-		VM_OBJECT_WUNLOCK(vobj);
-		return	(error);
-	} else if (m != NULL && uio->uio_segflg == UIO_NOCOPY) {
-		KASSERT(offset == 0,
-		    ("unexpected offset in tmpfs_mappedread for sendfile"));
-		if ((m->oflags & VPO_BUSY) != 0) {
-			/*
-			 * Reference the page before unlocking and sleeping so
-			 * that the page daemon is less likely to reclaim it.  
-			 */
-			vm_page_reference(m);
-			vm_page_sleep(m, "tmfsmr");
-			goto lookupvpg;
-		}
-		vm_page_busy(m);
-		VM_OBJECT_WUNLOCK(vobj);
-		sched_pin();
-		sf = sf_buf_alloc(m, SFB_CPUPRIVATE);
-		ma = (char *)sf_buf_kva(sf);
-		error = tmpfs_nocacheread_buf(tobj, idx, 0, tlen, ma);
-		if (error == 0) {
-			if (tlen != PAGE_SIZE)
-				bzero(ma + tlen, PAGE_SIZE - tlen);
-			uio->uio_offset += tlen;
-			uio->uio_resid -= tlen;
-		}
-		sf_buf_free(sf);
-		sched_unpin();
-		VM_OBJECT_WLOCK(vobj);

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-user@FreeBSD.ORG  Mon Apr 29 22:54:27 2013
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115])
 by hub.freebsd.org (Postfix) with ESMTP id 3C92BBEC;
 Mon, 29 Apr 2013 22:54:27 +0000 (UTC)
 (envelope-from cperciva@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 by mx1.freebsd.org (Postfix) with ESMTP id 2FADD1D30;
 Mon, 29 Apr 2013 22:54:27 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3TMsRLd029680;
 Mon, 29 Apr 2013 22:54:27 GMT
 (envelope-from cperciva@svn.freebsd.org)
Received: (from cperciva@localhost)
 by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3TMsRkS029679;
 Mon, 29 Apr 2013 22:54:27 GMT
 (envelope-from cperciva@svn.freebsd.org)
Message-Id: <201304292254.r3TMsRkS029679@svn.freebsd.org>
From: Colin Percival <cperciva@FreeBSD.org>
Date: Mon, 29 Apr 2013 22:54:27 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r250080 - user/cperciva/portsnap-mirror
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 29 Apr 2013 22:54:27 -0000

Author: cperciva
Date: Mon Apr 29 22:54:26 2013
New Revision: 250080
URL: http://svnweb.freebsd.org/changeset/base/250080

Log:
  Fix typo.
  
  Submitted by:	zi

Modified:
  user/cperciva/portsnap-mirror/pmirror.sh

Modified: user/cperciva/portsnap-mirror/pmirror.sh
==============================================================================
--- user/cperciva/portsnap-mirror/pmirror.sh	Mon Apr 29 22:48:53 2013	(r250079)
+++ user/cperciva/portsnap-mirror/pmirror.sh	Mon Apr 29 22:54:26 2013	(r250080)
@@ -142,7 +142,7 @@ comm -13 f.present f.wanted | lam -s 'f/
 echo "`date`: Removing corrupt files"
 comm -13 f.present f.wanted | tr -d '.gz' | while read F; do
 	if [ -f ${PUBDIR}/f/${F}.gz ] &&
-	    ! [ `gunzip < ${PUBDIR}/f/${F}.gz` | sha256` = $F ]; then
+	    ! [ `gunzip < ${PUBDIR}/f/${F}.gz | sha256` = $F ]; then
 		echo "Deleting f/$F.gz"
 		rm ${PUBDIR}/f/${F}.gz
 	fi

From owner-svn-src-user@FreeBSD.ORG  Tue Apr 30 05:30:10 2013
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by hub.freebsd.org (Postfix) with ESMTP id 284AB8A0;
 Tue, 30 Apr 2013 05:30:10 +0000 (UTC)
 (envelope-from delphij@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 by mx1.freebsd.org (Postfix) with ESMTP id 02E6F1C04;
 Tue, 30 Apr 2013 05:30:10 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3U5U9FZ070154;
 Tue, 30 Apr 2013 05:30:09 GMT (envelope-from delphij@svn.freebsd.org)
Received: (from delphij@localhost)
 by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3U5U9TU070153;
 Tue, 30 Apr 2013 05:30:09 GMT (envelope-from delphij@svn.freebsd.org)
Message-Id: <201304300530.r3U5U9TU070153@svn.freebsd.org>
From: Xin LI <delphij@FreeBSD.org>
Date: Tue, 30 Apr 2013 05:30:09 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r250089 - user/delphij/zfs-lz4
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 30 Apr 2013 05:30:10 -0000

Author: delphij
Date: Tue Apr 30 05:30:09 2013
New Revision: 250089
URL: http://svnweb.freebsd.org/changeset/base/250089

Log:
  Copy -HEAD to create a scratch space for LZ4 compression work.

Added:
     - copied from r250088, head/
Directory Properties:
  user/delphij/zfs-lz4/   (props changed)

From owner-svn-src-user@FreeBSD.ORG  Tue Apr 30 21:36:53 2013
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115])
 by hub.freebsd.org (Postfix) with ESMTP id 550BE5BF;
 Tue, 30 Apr 2013 21:36:53 +0000 (UTC)
 (envelope-from crees@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 by mx1.freebsd.org (Postfix) with ESMTP id 484BF1A6F;
 Tue, 30 Apr 2013 21:36:53 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3ULaqZD015210;
 Tue, 30 Apr 2013 21:36:52 GMT (envelope-from crees@svn.freebsd.org)
Received: (from crees@localhost)
 by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3ULaqWx015209;
 Tue, 30 Apr 2013 21:36:52 GMT (envelope-from crees@svn.freebsd.org)
Message-Id: <201304302136.r3ULaqWx015209@svn.freebsd.org>
From: Chris Rees <crees@FreeBSD.org>
Date: Tue, 30 Apr 2013 21:36:52 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r250120 - user/crees/rclint
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 30 Apr 2013 21:36:53 -0000

Author: crees (ports committer)
Date: Tue Apr 30 21:36:52 2013
New Revision: 250120
URL: http://svnweb.freebsd.org/changeset/base/250120

Log:
  Add configfile to recommended 'clobberers'.
  
  Don't complain about quoting if %% substitution is used; there may be spaces in
  the substitution.

Modified:
  user/crees/rclint/rclint.py

Modified: user/crees/rclint/rclint.py
==============================================================================
--- user/crees/rclint/rclint.py	Tue Apr 30 20:53:28 2013	(r250119)
+++ user/crees/rclint/rclint.py	Tue Apr 30 21:36:52 2013	(r250120)
@@ -113,7 +113,7 @@ class Statement:
         if not self.quoted():
             return False
         for char in self.value[1:-1]:
-            if char in ' \t|&;<>()$`\\\"\'':
+            if char in ' \t|%&;<>()$`\\\"\'':
                 return False
         return True
 
@@ -270,7 +270,8 @@ def do_ports_checking(lineobj, filename)
     logging.debug('Checking for defaults clobbering blank values')
     for var in lineobj['Variable']:
         if var.type in ('longhand', 'shorthand'):
-            if var.name.split('_')[-1] not in ('enable', 'user', 'group') and var.clobber:
+            if var.name.split('_')[-1] not in ('enable', 'user', 'group',
+                                                'configfile') and var.clobber:
                 error.give('variables_defaults_non_mandatory_colon', var.line)
             elif not var.clobber and var.name.split('_')[-1] in ('enable'):
                 error.give('variables_defaults_mandatory_colon', var.line)

From owner-svn-src-user@FreeBSD.ORG  Tue Apr 30 22:59:11 2013
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by hub.freebsd.org (Postfix) with ESMTP id 52F8E659;
 Tue, 30 Apr 2013 22:59:11 +0000 (UTC)
 (envelope-from delphij@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 by mx1.freebsd.org (Postfix) with ESMTP id 452001E0B;
 Tue, 30 Apr 2013 22:59:11 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3UMxACM043213;
 Tue, 30 Apr 2013 22:59:10 GMT (envelope-from delphij@svn.freebsd.org)
Received: (from delphij@localhost)
 by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3UMxAef043209;
 Tue, 30 Apr 2013 22:59:10 GMT (envelope-from delphij@svn.freebsd.org)
Message-Id: <201304302259.r3UMxAef043209@svn.freebsd.org>
From: Xin LI <delphij@FreeBSD.org>
Date: Tue, 30 Apr 2013 22:59:10 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r250122 - in
 user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 30 Apr 2013 22:59:11 -0000

Author: delphij
Date: Tue Apr 30 22:59:09 2013
New Revision: 250122
URL: http://svnweb.freebsd.org/changeset/base/250122

Log:
  Initial draft making LZ4 the default compression method.  Now,
  compression=on means use LZ4 as compression method if the pool
  have LZ4 activated, and LZJB if pool is using old format.  Also,
  metadata is now using LZ4 as compression method by default.
  
  Notes to my self based on talk with mm@:
  
   - Need to check how the LZ4 feature flag is activated.  E.g. what
     happens if a new pool is created, do we need to explicitly do
     the feature activation?
  
   - Do we need a sysctl variable for this?  Do we want to make it
     possible for users to tweak the method themselves?

Modified:
  user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
  user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
  user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h
  user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c

Modified: user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
==============================================================================
--- user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c	Tue Apr 30 22:13:55 2013	(r250121)
+++ user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c	Tue Apr 30 22:59:09 2013	(r250122)
@@ -1596,7 +1596,8 @@ dmu_write_policy(objset_t *os, dnode_t *
 		 * that specializes in arrays of bps.
 		 */
 		compress = zfs_mdcomp_disable ? ZIO_COMPRESS_EMPTY :
-		    ZIO_COMPRESS_LZJB;
+		    zio_compress_select(dmu_objset_spa(os),
+			ZIO_COMPRESS_ON, ZIO_COMPRESS_LZJB);
 
 		/*
 		 * Metadata always gets checksummed.  If the data
@@ -1621,7 +1622,8 @@ dmu_write_policy(objset_t *os, dnode_t *
 		compress = ZIO_COMPRESS_OFF;
 		checksum = ZIO_CHECKSUM_OFF;
 	} else {
-		compress = zio_compress_select(dn->dn_compress, compress);
+		compress = zio_compress_select(dmu_objset_spa(os),
+		    dn->dn_compress, compress);
 
 		checksum = (dedup_checksum == ZIO_CHECKSUM_OFF) ?
 		    zio_checksum_select(dn->dn_checksum, checksum) :

Modified: user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
==============================================================================
--- user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c	Tue Apr 30 22:13:55 2013	(r250121)
+++ user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c	Tue Apr 30 22:59:09 2013	(r250122)
@@ -148,7 +148,8 @@ compression_changed_cb(void *arg, uint64
 	 */
 	ASSERT(newval != ZIO_COMPRESS_INHERIT);
 
-	os->os_compress = zio_compress_select(newval, ZIO_COMPRESS_ON_VALUE);
+	os->os_compress = zio_compress_select(dmu_objset_spa(os),
+	    newval, ZIO_COMPRESS_ON_VALUE);
 }
 
 static void

Modified: user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h
==============================================================================
--- user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h	Tue Apr 30 22:13:55 2013	(r250121)
+++ user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h	Tue Apr 30 22:59:09 2013	(r250122)
@@ -112,14 +112,14 @@ enum zio_compress {
 };
 
 /* N.B. when altering this value, also change BOOTFS_COMPRESS_VALID below */
-#define	ZIO_COMPRESS_ON_VALUE	ZIO_COMPRESS_LZJB
+#define	ZIO_COMPRESS_ON_VALUE	ZIO_COMPRESS_LZ4
 #define	ZIO_COMPRESS_DEFAULT	ZIO_COMPRESS_OFF
 
 #define	BOOTFS_COMPRESS_VALID(compress)			\
 	((compress) == ZIO_COMPRESS_LZJB ||		\
 	(compress) == ZIO_COMPRESS_LZ4 ||		\
 	((compress) == ZIO_COMPRESS_ON &&		\
-	ZIO_COMPRESS_ON_VALUE == ZIO_COMPRESS_LZJB) ||	\
+	ZIO_COMPRESS_ON_VALUE == ZIO_COMPRESS_LZ4) ||	\
 	(compress) == ZIO_COMPRESS_OFF)
 
 #define	ZIO_FAILURE_MODE_WAIT		0
@@ -569,8 +569,8 @@ extern enum zio_checksum zio_checksum_se
     enum zio_checksum parent);
 extern enum zio_checksum zio_checksum_dedup_select(spa_t *spa,
     enum zio_checksum child, enum zio_checksum parent);
-extern enum zio_compress zio_compress_select(enum zio_compress child,
-    enum zio_compress parent);
+extern enum zio_compress zio_compress_select(spa_t *spa,
+    enum zio_compress child, enum zio_compress parent);
 
 extern void zio_suspend(spa_t *spa, zio_t *zio);
 extern int zio_resume(spa_t *spa);

Modified: user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c
==============================================================================
--- user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c	Tue Apr 30 22:13:55 2013	(r250121)
+++ user/delphij/zfs-lz4/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c	Tue Apr 30 22:59:09 2013	(r250122)
@@ -34,6 +34,7 @@
 #include <sys/zfs_context.h>
 #include <sys/compress.h>
 #include <sys/spa.h>
+#include <sys/zfeature.h>
 #include <sys/zio.h>
 #include <sys/zio_compress.h>
 
@@ -61,7 +62,7 @@ zio_compress_info_t zio_compress_table[Z
 };
 
 enum zio_compress
-zio_compress_select(enum zio_compress child, enum zio_compress parent)
+zio_compress_select(spa_t *spa, enum zio_compress child, enum zio_compress parent)
 {
 	ASSERT(child < ZIO_COMPRESS_FUNCTIONS);
 	ASSERT(parent < ZIO_COMPRESS_FUNCTIONS);
@@ -70,8 +71,13 @@ zio_compress_select(enum zio_compress ch
 	if (child == ZIO_COMPRESS_INHERIT)
 		return (parent);
 
-	if (child == ZIO_COMPRESS_ON)
-		return (ZIO_COMPRESS_ON_VALUE);
+	if (child == ZIO_COMPRESS_ON) {
+		if (spa == NULL || !spa_feature_is_active(spa,
+		    &spa_feature_table[SPA_FEATURE_LZ4_COMPRESS]))
+			return (ZIO_COMPRESS_LZJB);
+		else
+			return (ZIO_COMPRESS_ON_VALUE);
+	}
 
 	return (child);
 }

From owner-svn-src-user@FreeBSD.ORG  Thu May  2 07:20:32 2013
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by hub.freebsd.org (Postfix) with ESMTP id 043B9ADA;
 Thu,  2 May 2013 07:20:32 +0000 (UTC)
 (envelope-from adrian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 by mx1.freebsd.org (Postfix) with ESMTP id E86981A5C;
 Thu,  2 May 2013 07:20:31 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r427KVMP030366;
 Thu, 2 May 2013 07:20:31 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.6/8.14.5/Submit) id r427KQT7030325;
 Thu, 2 May 2013 07:20:26 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201305020720.r427KQT7030325@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Thu, 2 May 2013 07:20:26 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r250174 - in user/adrian/net80211_tx: . contrib/bmake etc
 include lib lib/libc/sys lib/libprocstat lib/libthr lib/libthr/thread
 libexec/rtld-elf release/picobsd/floppy.tree/etc release/...
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 02 May 2013 07:20:32 -0000

Author: adrian
Date: Thu May  2 07:20:26 2013
New Revision: 250174
URL: http://svnweb.freebsd.org/changeset/base/250174

Log:
  Merge from HEAD.

Added:
  user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/ssh/
     - copied from r250173, head/release/picobsd/floppy.tree/etc/ssh/
  user/adrian/net80211_tx/share/man/man4/ntb.4
     - copied unchanged from r250173, head/share/man/man4/ntb.4
  user/adrian/net80211_tx/sys/dev/ntb/
     - copied from r250173, head/sys/dev/ntb/
  user/adrian/net80211_tx/sys/modules/ntb/
     - copied from r250173, head/sys/modules/ntb/
Deleted:
  user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/sshd_config
Modified:
  user/adrian/net80211_tx/MAINTAINERS   (contents, props changed)
  user/adrian/net80211_tx/Makefile.inc1
  user/adrian/net80211_tx/UPDATING
  user/adrian/net80211_tx/contrib/bmake/var.c
  user/adrian/net80211_tx/etc/Makefile
  user/adrian/net80211_tx/include/unistd.h
  user/adrian/net80211_tx/lib/Makefile
  user/adrian/net80211_tx/lib/libc/sys/Makefile.inc
  user/adrian/net80211_tx/lib/libc/sys/Symbol.map
  user/adrian/net80211_tx/lib/libc/sys/accept.2
  user/adrian/net80211_tx/lib/libc/sys/pipe.2
  user/adrian/net80211_tx/lib/libprocstat/libprocstat.c
  user/adrian/net80211_tx/lib/libthr/pthread.map
  user/adrian/net80211_tx/lib/libthr/thread/thr_syscalls.c
  user/adrian/net80211_tx/libexec/rtld-elf/rtld.c
  user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/master.passwd
  user/adrian/net80211_tx/sbin/dumpon/dumpon.8
  user/adrian/net80211_tx/sbin/fsck_ffs/fsck.h
  user/adrian/net80211_tx/sbin/fsck_ffs/fsck_ffs.8
  user/adrian/net80211_tx/sbin/fsck_ffs/fsutil.c
  user/adrian/net80211_tx/sbin/fsck_ffs/main.c
  user/adrian/net80211_tx/sbin/fsck_ffs/pass5.c
  user/adrian/net80211_tx/share/man/man4/Makefile
  user/adrian/net80211_tx/share/man/man4/em.4
  user/adrian/net80211_tx/share/man/man4/igb.4
  user/adrian/net80211_tx/share/man/man4/ixgb.4
  user/adrian/net80211_tx/share/man/man4/ixgbe.4
  user/adrian/net80211_tx/share/misc/bsd-family-tree
  user/adrian/net80211_tx/sys/amd64/amd64/fpu.c
  user/adrian/net80211_tx/sys/amd64/conf/NOTES
  user/adrian/net80211_tx/sys/arm/broadcom/bcm2835/bcm2835_dma.c
  user/adrian/net80211_tx/sys/cam/ctl/ctl_frontend_internal.c
  user/adrian/net80211_tx/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
  user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_proto.h
  user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_syscall.h
  user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_syscalls.c
  user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_sysent.c
  user/adrian/net80211_tx/sys/compat/freebsd32/freebsd32_systrace_args.c
  user/adrian/net80211_tx/sys/compat/freebsd32/syscalls.master
  user/adrian/net80211_tx/sys/conf/files
  user/adrian/net80211_tx/sys/conf/files.amd64
  user/adrian/net80211_tx/sys/conf/files.powerpc
  user/adrian/net80211_tx/sys/conf/kern.pre.mk
  user/adrian/net80211_tx/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_ani.c
  user/adrian/net80211_tx/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c
  user/adrian/net80211_tx/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_misc.c
  user/adrian/net80211_tx/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_radio.c
  user/adrian/net80211_tx/sys/contrib/octeon-sdk/cvmx-usbd.c
  user/adrian/net80211_tx/sys/dev/acpi_support/acpi_hp.c
  user/adrian/net80211_tx/sys/dev/altera/jtag_uart/altera_jtag_uart.h
  user/adrian/net80211_tx/sys/dev/ath/ath_hal/ah.c
  user/adrian/net80211_tx/sys/dev/ath/ath_hal/ah_devid.h
  user/adrian/net80211_tx/sys/dev/ath/ath_hal/ar9003/ar9300_devid.h
  user/adrian/net80211_tx/sys/dev/bktr/msp34xx.c
  user/adrian/net80211_tx/sys/dev/cfi/cfi_bus_fdt.c
  user/adrian/net80211_tx/sys/dev/cfi/cfi_core.c
  user/adrian/net80211_tx/sys/dev/cxgbe/adapter.h
  user/adrian/net80211_tx/sys/dev/cxgbe/common/common.h
  user/adrian/net80211_tx/sys/dev/cxgbe/common/t4_hw.c
  user/adrian/net80211_tx/sys/dev/cxgbe/firmware/t4fw_interface.h
  user/adrian/net80211_tx/sys/dev/cxgbe/osdep.h
  user/adrian/net80211_tx/sys/dev/cxgbe/t4_main.c
  user/adrian/net80211_tx/sys/dev/cxgbe/tom/t4_ddp.c
  user/adrian/net80211_tx/sys/dev/e1000/README
  user/adrian/net80211_tx/sys/dev/e1000/if_em.c
  user/adrian/net80211_tx/sys/dev/e1000/if_igb.c
  user/adrian/net80211_tx/sys/dev/e1000/if_lem.c
  user/adrian/net80211_tx/sys/dev/hptiop/hptiop.c
  user/adrian/net80211_tx/sys/dev/hptiop/hptiop.h
  user/adrian/net80211_tx/sys/dev/hwpmc/hwpmc_core.c
  user/adrian/net80211_tx/sys/dev/hwpmc/hwpmc_intel.c
  user/adrian/net80211_tx/sys/dev/hwpmc/hwpmc_mod.c
  user/adrian/net80211_tx/sys/dev/hwpmc/hwpmc_soft.c
  user/adrian/net80211_tx/sys/dev/hwpmc/pmc_events.h
  user/adrian/net80211_tx/sys/dev/ixgb/README
  user/adrian/net80211_tx/sys/dev/ixgbe/ixgbe.c
  user/adrian/net80211_tx/sys/dev/netmap/if_em_netmap.h
  user/adrian/net80211_tx/sys/dev/netmap/if_igb_netmap.h
  user/adrian/net80211_tx/sys/dev/netmap/if_lem_netmap.h
  user/adrian/net80211_tx/sys/dev/netmap/if_re_netmap.h
  user/adrian/net80211_tx/sys/dev/netmap/ixgbe_netmap.h
  user/adrian/net80211_tx/sys/dev/netmap/netmap.c
  user/adrian/net80211_tx/sys/dev/netmap/netmap_kern.h
  user/adrian/net80211_tx/sys/dev/netmap/netmap_mem2.c
  user/adrian/net80211_tx/sys/dev/re/if_re.c
  user/adrian/net80211_tx/sys/fs/nfsserver/nfs_nfsdport.c
  user/adrian/net80211_tx/sys/kern/capabilities.conf
  user/adrian/net80211_tx/sys/kern/imgact_elf.c
  user/adrian/net80211_tx/sys/kern/init_sysent.c
  user/adrian/net80211_tx/sys/kern/sys_pipe.c
  user/adrian/net80211_tx/sys/kern/syscalls.c
  user/adrian/net80211_tx/sys/kern/syscalls.master
  user/adrian/net80211_tx/sys/kern/systrace_args.c
  user/adrian/net80211_tx/sys/kern/uipc_socket.c
  user/adrian/net80211_tx/sys/kern/uipc_syscalls.c
  user/adrian/net80211_tx/sys/kgssapi/krb5/krb5_mech.c
  user/adrian/net80211_tx/sys/mips/atheros/ar71xx_gpio.c
  user/adrian/net80211_tx/sys/mips/include/asm.h
  user/adrian/net80211_tx/sys/mips/include/regdef.h
  user/adrian/net80211_tx/sys/mips/mips/db_interface.c
  user/adrian/net80211_tx/sys/mips/mips/trap.c
  user/adrian/net80211_tx/sys/mips/mips/vm_machdep.c
  user/adrian/net80211_tx/sys/modules/Makefile
  user/adrian/net80211_tx/sys/net/if_spppsubr.c
  user/adrian/net80211_tx/sys/net/netmap.h
  user/adrian/net80211_tx/sys/net/netmap_user.h
  user/adrian/net80211_tx/sys/netpfil/ipfw/ip_dummynet.c
  user/adrian/net80211_tx/sys/sys/param.h
  user/adrian/net80211_tx/sys/sys/socket.h
  user/adrian/net80211_tx/sys/sys/syscall.h
  user/adrian/net80211_tx/sys/sys/syscall.mk
  user/adrian/net80211_tx/sys/sys/syscallsubr.h
  user/adrian/net80211_tx/sys/sys/sysproto.h
  user/adrian/net80211_tx/sys/xen/xenstore/xenstore.c
  user/adrian/net80211_tx/tools/tools/netmap/README
  user/adrian/net80211_tx/usr.bin/nfsstat/nfsstat.1
  user/adrian/net80211_tx/usr.sbin/bhyve/pci_virtio_net.c
  user/adrian/net80211_tx/usr.sbin/config/main.c
  user/adrian/net80211_tx/usr.sbin/nfsd/nfsv4.4
Directory Properties:
  user/adrian/net80211_tx/   (props changed)
  user/adrian/net80211_tx/contrib/bmake/   (props changed)
  user/adrian/net80211_tx/lib/libc/   (props changed)
  user/adrian/net80211_tx/sbin/   (props changed)
  user/adrian/net80211_tx/sbin/dumpon/   (props changed)
  user/adrian/net80211_tx/share/man/man4/   (props changed)
  user/adrian/net80211_tx/sys/   (props changed)
  user/adrian/net80211_tx/sys/cddl/contrib/opensolaris/   (props changed)
  user/adrian/net80211_tx/sys/conf/   (props changed)
  user/adrian/net80211_tx/sys/contrib/octeon-sdk/   (props changed)
  user/adrian/net80211_tx/usr.sbin/bhyve/   (props changed)

Modified: user/adrian/net80211_tx/MAINTAINERS
==============================================================================
--- user/adrian/net80211_tx/MAINTAINERS	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/MAINTAINERS	Thu May  2 07:20:26 2013	(r250174)
@@ -64,7 +64,6 @@ linprocfs	des	Pre-commit review requeste
 lpr		gad	Pre-commit review requested, particularly for
 			lpd/recvjob.c and lpd/printjob.c.
 newsyslog(8)	gad	Heads-up appreciated.  I'm going thru the PR's for it.
-cvs		peter	Heads-up appreciated, try not to break it.
 nvi		peter	Try not to break it.
 libz		peter	Try not to break it.
 groff		ru	Recommends pre-commit review.

Modified: user/adrian/net80211_tx/Makefile.inc1
==============================================================================
--- user/adrian/net80211_tx/Makefile.inc1	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/Makefile.inc1	Thu May  2 07:20:26 2013	(r250174)
@@ -41,13 +41,6 @@
 # /usr/share/mk.  These include:
 #		obj depend all install clean cleandepend cleanobj
 
-# You are supposed to define both of these when calling Makefile.inc1
-# directly.  However, some old scripts don't.  Cope for the moment, but
-# issue a new warning for a transition period.
-.if defined(TARGET) && !defined(TARGET_ARCH)
-.warning "You must pass both TARGET and TARGET_ARCH to Makefile.inc1.  Setting TARGET_ARCH=${TARGET}."
-TARGET_ARCH=${TARGET}
-.endif
 .if !defined(TARGET) || !defined(TARGET_ARCH)
 .error "Both TARGET and TARGET_ARCH must be defined."
 .endif
@@ -65,6 +58,9 @@ TARGET_ARCH=${TARGET}
 # use that new version.  And the new (dynamically-linked) /bin/sh
 # will expect to find appropriate libraries in /lib and /libexec.
 #
+.if defined(SUBDIR_OVERRIDE)
+SUBDIR=	${SUBDIR_OVERRIDE}
+.else
 SUBDIR=	share/info lib libexec
 SUBDIR+=bin
 .if ${MK_GAMES} != "no"
@@ -103,9 +99,6 @@ SUBDIR+=etc
 SUBDIR+= ${_DIR}
 .endif
 .endfor
-
-.if defined(SUBDIR_OVERRIDE)
-SUBDIR=		${SUBDIR_OVERRIDE}
 .endif
 
 .if defined(NOCLEAN)

Modified: user/adrian/net80211_tx/UPDATING
==============================================================================
--- user/adrian/net80211_tx/UPDATING	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/UPDATING	Thu May  2 07:20:26 2013	(r250174)
@@ -31,6 +31,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20130429:
+        Fix a bug that allows NFS clients to issue READDIR on files.
+
 20130426:
 	The WITHOUT_IDEA option has been removed because
 	the IDEA patent expired.
@@ -101,6 +104,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10
 	while having the GNU version installed as gnupatch, rebuild
 	and install world with the WITH_BSD_PATCH knob set.
 
+20130121:
+	Due to the use of the new -l option to install(1) during build
+	and install, you must take care not to directly set the INSTALL
+	make variable in your /etc/make.conf, /etc/src.conf, or on the
+	command line.  If you with to use the -C flag for all installs
+	you may be able to add INSTALL+=-C to /etc/make.conf or
+	/etc/src.conf.
+
 20130118:
 	The install(1) option -M has changed meaning and now takes an
 	argument that is a file or path to append logs to.  In the
@@ -280,7 +291,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10
 	is now spelled mips64.  mipsn32eb is now spelled mipsn32.  mipseb is
 	now spelled mips.  This is to aid compatibility with third-party
 	software that expects this naming scheme in uname(3).  Little-endian
-	settings are unchanged.
+	settings are unchanged. If you are updating a big-endian mips64 machine
+	from before this change, you may need to set MACHINE_ARCH=mips64 in
+	your environment before the new build system will recognize your machine.
 
 20120306:
 	Disable by default the option VFS_ALLOW_NONMPSAFE for all supported

Modified: user/adrian/net80211_tx/contrib/bmake/var.c
==============================================================================
--- user/adrian/net80211_tx/contrib/bmake/var.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/contrib/bmake/var.c	Thu May  2 07:20:26 2013	(r250174)
@@ -140,6 +140,17 @@ __RCSID("$NetBSD: var.c,v 1.173 2013/02/
 #include    "job.h"
 
 /*
+ * XXX transition hack for FreeBSD ports.
+ * bsd.port.mk can set .MAKE.FreeBSD_UL=yes
+ * to cause us to treat :[LU] as aliases for :t[lu]
+ * To be reverted when ports converts to :t[lu] (when 8.3 is EOL)
+ */
+#define MAKE_FREEBSD_UL ".MAKE.FreeBSD_UL"
+#ifdef MAKE_FREEBSD_UL
+static int FreeBSD_UL = FALSE;
+#endif
+
+/*
  * This lets us tell if we have replaced the original environ
  * (which we cannot free).
  */
@@ -965,6 +976,11 @@ Var_Set(const char *name, const char *va
 	setenv(MAKE_LEVEL_SAFE, tmp, 1);
 #endif
     }
+#ifdef MAKE_FREEBSD_UL
+    if (strcmp(MAKE_FREEBSD_UL, name) == 0) {
+	FreeBSD_UL = getBoolean(MAKE_FREEBSD_UL, FALSE);
+    }
+#endif
 	
 	
  out:
@@ -2660,8 +2676,24 @@ ApplyModifiers(char *nstr, const char *t
 		free(loop.str);
 		break;
 	    }
-	case 'D':
 	case 'U':
+#ifdef MAKE_FREEBSD_UL
+	    if (FreeBSD_UL) {
+		int nc = tstr[1];
+
+		/* we have to be careful, since :U is used internally */
+		if (nc == ':' || nc == endc) {
+		    char *dp = bmake_strdup(nstr);
+		    for (newStr = dp; *dp; dp++)
+			*dp = toupper((unsigned char)*dp);
+		    cp = tstr + 1;
+		    termc = *cp;
+		    break;		/* yes inside the conditional */
+		}
+		/* FALLTHROUGH */
+	    }
+#endif
+	case 'D':
 	    {
 		Buffer  buf;    	/* Buffer for patterns */
 		int	    wantit;	/* want data in buffer */
@@ -2721,6 +2753,17 @@ ApplyModifiers(char *nstr, const char *t
 		break;
 	    }
 	case 'L':
+#ifdef MAKE_FREEBSD_UL
+	    if (FreeBSD_UL) {
+		char *dp = bmake_strdup(nstr);
+		for (newStr = dp; *dp; dp++)
+		    *dp = tolower((unsigned char)*dp);
+		cp = tstr + 1;
+		termc = *cp;
+		break;
+	    }
+	    /* FALLTHROUGH */
+#endif
 	    {
 		if ((v->flags & VAR_JUNK) != 0)
 		    v->flags |= VAR_KEEP;

Modified: user/adrian/net80211_tx/etc/Makefile
==============================================================================
--- user/adrian/net80211_tx/etc/Makefile	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/etc/Makefile	Thu May  2 07:20:26 2013	(r250174)
@@ -328,7 +328,7 @@ MTREES+=	mtree/BSD.sendmail.dist		/
 MTREES+=	../${mtree}			/
 .endfor
 
-distrib-dirs:
+distrib-dirs: ${MTREES:N/*}
 	@set ${MTREES}; \
 	while test $$# -ge 2; do \
 		m=${.CURDIR}/$$1; \

Modified: user/adrian/net80211_tx/include/unistd.h
==============================================================================
--- user/adrian/net80211_tx/include/unistd.h	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/include/unistd.h	Thu May  2 07:20:26 2013	(r250174)
@@ -533,6 +533,7 @@ char	*mktemp(char *);
 #endif
 int	 nfssvc(int, void *);
 int	 nlm_syscall(int, int, int, char **);
+int	 pipe2(int *, int);
 int	 profil(char *, size_t, vm_offset_t, int);
 int	 rcmd(char **, int, const char *, const char *, const char *, int *);
 int	 rcmd_af(char **, int, const char *,

Modified: user/adrian/net80211_tx/lib/Makefile
==============================================================================
--- user/adrian/net80211_tx/lib/Makefile	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/Makefile	Thu May  2 07:20:26 2013	(r250174)
@@ -252,7 +252,9 @@ _libusbhid=	libusbhid
 _libusb=	libusb
 .endif
 
+.if !defined(LIBRARIES_ONLY)
 afterinstall:
-	ln -hfs ../include ${DESTDIR}/usr/lib/include
+	${INSTALL_SYMLINK} ../include ${DESTDIR}/usr/lib/include
+.endif
 
 .include <bsd.subdir.mk>

Modified: user/adrian/net80211_tx/lib/libc/sys/Makefile.inc
==============================================================================
--- user/adrian/net80211_tx/lib/libc/sys/Makefile.inc	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libc/sys/Makefile.inc	Thu May  2 07:20:26 2013	(r250174)
@@ -270,6 +270,7 @@ MAN+=	sctp_generic_recvmsg.2 \
 	wait.2 \
 	write.2
 
+MLINKS+=accept.2 accept4.2
 MLINKS+=access.2 eaccess.2 \
 	access.2 faccessat.2
 MLINKS+=brk.2 sbrk.2
@@ -351,6 +352,7 @@ MLINKS+=pathconf.2 lpathconf.2
 MLINKS+=pdfork.2 pdgetpid.2\
 	pdfork.2 pdkill.2 \
 	pdfork.2 pdwait4.2
+MLINKS+=pipe.2 pipe2.2
 MLINKS+=read.2 pread.2 \
 	read.2 preadv.2 \
 	read.2 readv.2

Modified: user/adrian/net80211_tx/lib/libc/sys/Symbol.map
==============================================================================
--- user/adrian/net80211_tx/lib/libc/sys/Symbol.map	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libc/sys/Symbol.map	Thu May  2 07:20:26 2013	(r250174)
@@ -378,6 +378,7 @@ FBSD_1.2 {
 };
 
 FBSD_1.3 {
+	accept4;
 	bindat;
 	cap_fcntls_get;
 	cap_fcntls_limit;
@@ -392,6 +393,7 @@ FBSD_1.3 {
 	ffclock_getcounter;
 	ffclock_getestimate;
 	ffclock_setestimate;
+	pipe2;
 	posix_fadvise;
 	wait6;
 };
@@ -461,6 +463,8 @@ FBSDprivate_1.0 {
 	__sys_abort2;
 	_accept;
 	__sys_accept;
+	_accept4;
+	__sys_accept4;
 	_access;
 	__sys_access;
 	_acct;

Modified: user/adrian/net80211_tx/lib/libc/sys/accept.2
==============================================================================
--- user/adrian/net80211_tx/lib/libc/sys/accept.2	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libc/sys/accept.2	Thu May  2 07:20:26 2013	(r250174)
@@ -28,7 +28,7 @@
 .\"     @(#)accept.2	8.2 (Berkeley) 12/11/93
 .\" $FreeBSD$
 .\"
-.Dd April 22, 2013
+.Dd May 1, 2013
 .Dt ACCEPT 2
 .Os
 .Sh NAME
@@ -41,6 +41,8 @@
 .In sys/socket.h
 .Ft int
 .Fn accept "int s" "struct sockaddr * restrict addr" "socklen_t * restrict addrlen"
+.Ft int
+.Fn accept4 "int s" "struct sockaddr * restrict addr" "socklen_t * restrict addrlen" "int flags"
 .Sh DESCRIPTION
 The argument
 .Fa s
@@ -66,6 +68,26 @@ and
 signals from the original socket
 .Fa s .
 .Pp
+The
+.Fn accept4
+system call is similar,
+but the
+.Dv O_NONBLOCK
+property of the new socket is instead determined by the
+.Dv SOCK_NONBLOCK
+flag in the
+.Fa flags
+argument,
+the
+.Dv O_ASYNC
+property is cleared,
+the signal destination is cleared
+and the close-on-exec flag on the new file descriptor can be set via the
+.Dv SOCK_CLOEXEC
+flag in the
+.Fa flags
+argument.
+.Pp
 If no pending connections are
 present on the queue, and the original socket
 is not marked as non-blocking,
@@ -141,13 +163,15 @@ properties and the signal destination be
 but should set them explicitly using
 .Xr fcntl 2 .
 .Sh RETURN VALUES
-The call returns \-1 on error.
-If it succeeds, it returns a non-negative
+These calls return \-1 on error.
+If they succeed, they return a non-negative
 integer that is a descriptor for the accepted socket.
 .Sh ERRORS
 The
 .Fn accept
-system call will fail if:
+and
+.Fn accept4
+system calls will fail if:
 .Bl -tag -width Er
 .It Bq Er EBADF
 The descriptor is invalid.
@@ -176,6 +200,16 @@ are present to be accepted.
 A connection arrived, but it was closed while waiting
 on the listen queue.
 .El
+.Pp
+The
+.Fn accept4
+system call will also fail if:
+.Bl -tag -width Er
+.It Bq Er EINVAL
+The
+.Fa flags
+argument is invalid.
+.El
 .Sh SEE ALSO
 .Xr bind 2 ,
 .Xr connect 2 ,
@@ -190,3 +224,8 @@ The
 .Fn accept
 system call appeared in
 .Bx 4.2 .
+.Pp
+The
+.Fn accept4
+system call appeared in
+.Fx 10.0 .

Modified: user/adrian/net80211_tx/lib/libc/sys/pipe.2
==============================================================================
--- user/adrian/net80211_tx/lib/libc/sys/pipe.2	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libc/sys/pipe.2	Thu May  2 07:20:26 2013	(r250174)
@@ -28,7 +28,7 @@
 .\"     @(#)pipe.2	8.1 (Berkeley) 6/4/93
 .\" $FreeBSD$
 .\"
-.Dd January 30, 2006
+.Dd May 1, 2013
 .Dt PIPE 2
 .Os
 .Sh NAME
@@ -40,6 +40,8 @@
 .In unistd.h
 .Ft int
 .Fn pipe "int fildes[2]"
+.Ft int
+.Fn pipe2 "int fildes[2]" "int flags"
 .Sh DESCRIPTION
 The
 .Fn pipe
@@ -50,6 +52,29 @@ which is an object allowing
 bidirectional data flow,
 and allocates a pair of file descriptors.
 .Pp
+The
+.Fn pipe2
+system call allows control over the attributes of the file descriptors
+via the
+.Fa flags
+argument.
+Values for
+.Fa flags
+are constructed by a bitwise-inclusive OR of flags from the following
+list, defined in
+.In fcntl.h :
+.Bl -tag -width ".Dv O_NONBLOCK"
+.It Dv O_CLOEXEC
+Set the close-on-exec flag for the new file descriptors.
+.It Dv O_NONBLOCK
+Set the non-blocking flag for the ends of the pipe.
+.El
+.Pp
+If the
+.Fa flags
+argument is 0, the behavior is identical to a call to
+.Fn pipe .
+.Pp
 By convention, the first descriptor is normally used as the
 .Em read end
 of the pipe,
@@ -88,7 +113,9 @@ pipe in one direction.
 .Sh ERRORS
 The
 .Fn pipe
-system call will fail if:
+and
+.Fn pipe2
+system calls will fail if:
 .Bl -tag -width Er
 .It Bq Er EMFILE
 Too many descriptors are active.
@@ -97,6 +124,16 @@ The system file table is full.
 .It Bq Er ENOMEM
 Not enough kernel memory to establish a pipe.
 .El
+.Pp
+The
+.Fn pipe2
+system call will also fail if:
+.Bl -tag -width Er
+.It Bq Er EINVAL
+The
+.Fa flags
+argument is invalid.
+.El
 .Sh SEE ALSO
 .Xr sh 1 ,
 .Xr fork 2 ,
@@ -111,3 +148,8 @@ function appeared in
 .Pp
 Bidirectional pipes were first used on
 .At V.4 .
+.Pp
+The
+.Fn pipe2
+function appeared in
+.Fx 10.0 .

Modified: user/adrian/net80211_tx/lib/libprocstat/libprocstat.c
==============================================================================
--- user/adrian/net80211_tx/lib/libprocstat/libprocstat.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libprocstat/libprocstat.c	Thu May  2 07:20:26 2013	(r250174)
@@ -39,6 +39,9 @@ __FBSDID("$FreeBSD$");
 #include <sys/elf.h>
 #include <sys/time.h>
 #include <sys/resourcevar.h>
+#define	_WANT_UCRED
+#include <sys/ucred.h>
+#undef _WANT_UCRED
 #include <sys/proc.h>
 #include <sys/user.h>
 #include <sys/stat.h>
@@ -141,19 +144,30 @@ static int	procstat_get_vnode_info_sysct
     struct vnstat *vn, char *errbuf);
 static gid_t	*procstat_getgroups_core(struct procstat_core *core,
     unsigned int *count);
+static gid_t *	procstat_getgroups_kvm(kvm_t *kd, struct kinfo_proc *kp,
+    unsigned int *count);
 static gid_t	*procstat_getgroups_sysctl(pid_t pid, unsigned int *count);
 static struct kinfo_kstack	*procstat_getkstack_sysctl(pid_t pid,
     int *cntp);
+static int	procstat_getosrel_core(struct procstat_core *core,
+    int *osrelp);
+static int	procstat_getosrel_kvm(kvm_t *kd, struct kinfo_proc *kp,
+    int *osrelp);
+static int	procstat_getosrel_sysctl(pid_t pid, int *osrelp);
 static int	procstat_getpathname_core(struct procstat_core *core,
     char *pathname, size_t maxlen);
 static int	procstat_getpathname_sysctl(pid_t pid, char *pathname,
     size_t maxlen);
 static int	procstat_getrlimit_core(struct procstat_core *core, int which,
     struct rlimit* rlimit);
+static int	procstat_getrlimit_kvm(kvm_t *kd, struct kinfo_proc *kp,
+    int which, struct rlimit* rlimit);
 static int	procstat_getrlimit_sysctl(pid_t pid, int which,
     struct rlimit* rlimit);
 static int	procstat_getumask_core(struct procstat_core *core,
     unsigned short *maskp);
+static int	procstat_getumask_kvm(kvm_t *kd, struct kinfo_proc *kp,
+    unsigned short *maskp);
 static int	procstat_getumask_sysctl(pid_t pid, unsigned short *maskp);
 static int	vntype2psfsttype(int type);
 
@@ -1790,6 +1804,46 @@ procstat_freevmmap(struct procstat *proc
 }
 
 static gid_t *
+procstat_getgroups_kvm(kvm_t *kd, struct kinfo_proc *kp, unsigned int *cntp)
+{
+	struct proc proc;
+	struct ucred ucred;
+	gid_t *groups;
+	size_t len;
+
+	assert(kd != NULL);
+	assert(kp != NULL);
+	if (!kvm_read_all(kd, (unsigned long)kp->ki_paddr, &proc,
+	    sizeof(proc))) {
+		warnx("can't read proc struct at %p for pid %d",
+		    kp->ki_paddr, kp->ki_pid);
+		return (NULL);
+	}
+	if (proc.p_ucred == NOCRED)
+		return (NULL);
+	if (!kvm_read_all(kd, (unsigned long)proc.p_ucred, &ucred,
+	    sizeof(ucred))) {
+		warnx("can't read ucred struct at %p for pid %d",
+		    proc.p_ucred, kp->ki_pid);
+		return (NULL);
+	}
+	len = ucred.cr_ngroups * sizeof(gid_t);
+	groups = malloc(len);
+	if (groups == NULL) {
+		warn("malloc(%zu)", len);
+		return (NULL);
+	}
+	if (!kvm_read_all(kd, (unsigned long)ucred.cr_groups, groups, len)) {
+		warnx("can't read groups at %p for pid %d",
+		    ucred.cr_groups, kp->ki_pid);
+		free(groups);
+		return (NULL);
+	}
+	*cntp = ucred.cr_ngroups;
+	return (groups);
+}
+
+static gid_t *
 procstat_getgroups_sysctl(pid_t pid, unsigned int *cntp)
 {
 	int mib[4];
@@ -1834,8 +1888,7 @@ procstat_getgroups(struct procstat *proc
 {
 	switch(procstat->type) {
 	case PROCSTAT_KVM:
-		warnx("kvm method is not supported");
-		return (NULL);
+		return (procstat_getgroups_kvm(procstat->kd, kp, cntp));
 	case PROCSTAT_SYSCTL:
 		return (procstat_getgroups_sysctl(kp->ki_pid, cntp));
 	case PROCSTAT_CORE:
@@ -1854,6 +1907,24 @@ procstat_freegroups(struct procstat *pro
 }
 
 static int
+procstat_getumask_kvm(kvm_t *kd, struct kinfo_proc *kp, unsigned short *maskp)
+{
+	struct filedesc fd;
+
+	assert(kd != NULL);
+	assert(kp != NULL);
+	if (kp->ki_fd == NULL)
+		return (-1);
+	if (!kvm_read_all(kd, (unsigned long)kp->ki_fd, &fd, sizeof(fd))) {
+		warnx("can't read filedesc at %p for pid %d", kp->ki_fd,
+		    kp->ki_pid);
+		return (-1);
+	}
+	*maskp = fd.fd_cmask;
+	return (0);
+}
+
+static int
 procstat_getumask_sysctl(pid_t pid, unsigned short *maskp)
 {
 	int error;
@@ -1895,8 +1966,7 @@ procstat_getumask(struct procstat *procs
 {
 	switch(procstat->type) {
 	case PROCSTAT_KVM:
-		warnx("kvm method is not supported");
-		return (-1);
+		return (procstat_getumask_kvm(procstat->kd, kp, maskp));
 	case PROCSTAT_SYSCTL:
 		return (procstat_getumask_sysctl(kp->ki_pid, maskp));
 	case PROCSTAT_CORE:
@@ -1908,6 +1978,33 @@ procstat_getumask(struct procstat *procs
 }
 
 static int
+procstat_getrlimit_kvm(kvm_t *kd, struct kinfo_proc *kp, int which,
+    struct rlimit* rlimit)
+{
+	struct proc proc;
+	unsigned long offset;
+
+	assert(kd != NULL);
+	assert(kp != NULL);
+	assert(which >= 0 && which < RLIM_NLIMITS);
+	if (!kvm_read_all(kd, (unsigned long)kp->ki_paddr, &proc,
+	    sizeof(proc))) {
+		warnx("can't read proc struct at %p for pid %d",
+		    kp->ki_paddr, kp->ki_pid);
+		return (-1);
+	}
+	if (proc.p_limit == NULL)
+		return (-1);
+	offset = (unsigned long)proc.p_limit + sizeof(struct rlimit) * which;
+	if (!kvm_read_all(kd, offset, rlimit, sizeof(*rlimit))) {
+		warnx("can't read rlimit struct at %p for pid %d",
+		    (void *)offset, kp->ki_pid);
+		return (-1);
+	}
+	return (0);
+}
+
+static int
 procstat_getrlimit_sysctl(pid_t pid, int which, struct rlimit* rlimit)
 {
 	int error, name[5];
@@ -1958,8 +2055,8 @@ procstat_getrlimit(struct procstat *proc
 {
 	switch(procstat->type) {
 	case PROCSTAT_KVM:
-		warnx("kvm method is not supported");
-		return (-1);
+		return (procstat_getrlimit_kvm(procstat->kd, kp, which,
+		    rlimit));
 	case PROCSTAT_SYSCTL:
 		return (procstat_getrlimit_sysctl(kp->ki_pid, which, rlimit));
 	case PROCSTAT_CORE:
@@ -2017,8 +2114,10 @@ procstat_getpathname(struct procstat *pr
 {
 	switch(procstat->type) {
 	case PROCSTAT_KVM:
-		warnx("kvm method is not supported");
-		return (-1);
+		/* XXX: Return empty string. */
+		if (maxlen > 0)
+			pathname[0] = '\0';
+		return (0);
 	case PROCSTAT_SYSCTL:
 		return (procstat_getpathname_sysctl(kp->ki_pid, pathname,
 		    maxlen));
@@ -2032,6 +2131,23 @@ procstat_getpathname(struct procstat *pr
 }
 
 static int
+procstat_getosrel_kvm(kvm_t *kd, struct kinfo_proc *kp, int *osrelp)
+{
+	struct proc proc;
+
+	assert(kd != NULL);
+	assert(kp != NULL);
+	if (!kvm_read_all(kd, (unsigned long)kp->ki_paddr, &proc,
+	    sizeof(proc))) {
+		warnx("can't read proc struct at %p for pid %d",
+		    kp->ki_paddr, kp->ki_pid);
+		return (-1);
+	}
+	*osrelp = proc.p_osrel;
+	return (0);
+}
+
+static int
 procstat_getosrel_sysctl(pid_t pid, int *osrelp)
 {
 	int error, name[4];
@@ -2071,8 +2187,7 @@ procstat_getosrel(struct procstat *procs
 {
 	switch(procstat->type) {
 	case PROCSTAT_KVM:
-		warnx("kvm method is not supported");
-		return (-1);
+		return (procstat_getosrel_kvm(procstat->kd, kp, osrelp));
 	case PROCSTAT_SYSCTL:
 		return (procstat_getosrel_sysctl(kp->ki_pid, osrelp));
 	case PROCSTAT_CORE:

Modified: user/adrian/net80211_tx/lib/libthr/pthread.map
==============================================================================
--- user/adrian/net80211_tx/lib/libthr/pthread.map	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libthr/pthread.map	Thu May  2 07:20:26 2013	(r250174)
@@ -181,6 +181,7 @@ FBSDprivate_1.0 {
 	___wait;
 	___waitpid;
 	__accept;
+	__accept4;
 	__aio_suspend;
 	__close;
 	__connect;
@@ -408,3 +409,7 @@ FBSD_1.2 {
 	setcontext;
 	swapcontext;
 };
+
+FBSD_1.3 {
+	accept4;
+};

Modified: user/adrian/net80211_tx/lib/libthr/thread/thr_syscalls.c
==============================================================================
--- user/adrian/net80211_tx/lib/libthr/thread/thr_syscalls.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/lib/libthr/thread/thr_syscalls.c	Thu May  2 07:20:26 2013	(r250174)
@@ -101,6 +101,7 @@ extern pid_t	__waitpid(pid_t, int *, int
 extern int	__sys_aio_suspend(const struct aiocb * const[], int,
 			const struct timespec *);
 extern int	__sys_accept(int, struct sockaddr *, socklen_t *);
+extern int	__sys_accept4(int, struct sockaddr *, socklen_t *, int);
 extern int	__sys_connect(int, const struct sockaddr *, socklen_t);
 extern int	__sys_fsync(int);
 extern int	__sys_msync(void *, size_t, int);
@@ -129,6 +130,7 @@ int	___usleep(useconds_t useconds);
 pid_t	___wait(int *);
 pid_t	___waitpid(pid_t, int *, int);
 int	__accept(int, struct sockaddr *, socklen_t *);
+int	__accept4(int, struct sockaddr *, socklen_t *, int);
 int	__aio_suspend(const struct aiocb * const iocbs[], int,
 		const struct timespec *);
 int	__close(int);
@@ -176,6 +178,26 @@ __accept(int s, struct sockaddr *addr, s
  	return (ret);
 }
 
+__weak_reference(__accept4, accept4);
+
+/*
+ * Cancellation behavior:
+ *   If thread is canceled, no socket is created.
+ */
+int
+__accept4(int s, struct sockaddr *addr, socklen_t *addrlen, int flags)
+{
+	struct pthread *curthread;
+	int ret;
+
+	curthread = _get_curthread();
+	_thr_cancel_enter(curthread);
+	ret = __sys_accept4(s, addr, addrlen, flags);
+	_thr_cancel_leave(curthread, ret == -1);
+
+ 	return (ret);
+}
+
 __weak_reference(__aio_suspend, aio_suspend);
 
 int

Modified: user/adrian/net80211_tx/libexec/rtld-elf/rtld.c
==============================================================================
--- user/adrian/net80211_tx/libexec/rtld-elf/rtld.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/libexec/rtld-elf/rtld.c	Thu May  2 07:20:26 2013	(r250174)
@@ -784,7 +784,7 @@ origin_subst_one(char *real, const char 
 	/*
 	 * Now, execute the substitution loop.
 	 */
-	for (p = real, resp = res;;) {
+	for (p = real, resp = res, *resp = '\0';;) {
 		p1 = strstr(p, kw);
 		if (p1 != NULL) {
 			/* Copy the prefix before keyword. */
@@ -793,6 +793,7 @@ origin_subst_one(char *real, const char 
 			/* Keyword replacement. */
 			memcpy(resp, subst, subst_len);
 			resp += subst_len;
+			*resp = '\0';
 			p = p1 + kw_len;
 		} else
 			break;

Modified: user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/master.passwd
==============================================================================
--- user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/master.passwd	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/release/picobsd/floppy.tree/etc/master.passwd	Thu May  2 07:20:26 2013	(r250174)
@@ -5,6 +5,7 @@ daemon:*:1:1::0:0:Owner of many system p
 operator:*:2:20::0:0:System &:/usr/guest/operator:/bin/csh
 bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/nonexistent
 tty:*:4:65533::0:0:Tty Sandbox:/:/nonexistent
+sshd:*:22:22::0:0:Secure Shell Daemon:/var/empty:/usr/sbin/nologin
 nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/nonexistent
 _dhcp:*:65:65::0:0:dhcp programs:/var/empty:/usr/sbin/nologin
 user:*:1002:1002:Sample User:0:0:user:/home/user:/bin/sh

Modified: user/adrian/net80211_tx/sbin/dumpon/dumpon.8
==============================================================================
--- user/adrian/net80211_tx/sbin/dumpon/dumpon.8	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/sbin/dumpon/dumpon.8	Thu May  2 07:20:26 2013	(r250174)
@@ -28,7 +28,7 @@
 .\"     From: @(#)swapon.8	8.1 (Berkeley) 6/5/93
 .\" $FreeBSD$
 .\"
-.Dd May 12, 1995
+.Dd April 29, 2013
 .Dt DUMPON 8
 .Os
 .Sh NAME
@@ -59,14 +59,21 @@ controlled by the
 variable in the boot time configuration file
 .Pa /etc/rc.conf .
 .Pp
-For most systems the size of the specified dump device must be at
+The default type of kernel crash dump is the mini crash dump.
+Mini crash dumps hold only memory pages in use by the kernel.
+Alternatively, full memory dumps can be enabled by setting the
+.Va debug.minidump
+.Xr sysctl 8
+variable to 0.
+.Pp
+For systems using full memory dumps, the size of the specified dump
+device must be at
 least the size of physical memory.
 Even though an additional 64 kB header is added to the dump, the BIOS for a
 platform typically holds back some memory, so it is not usually
 necessary to size the dump device larger than the actual amount of RAM
 available in the machine.
-.Pp
-The
+Also, when using full memory dumps, the
 .Nm
 utility will refuse to enable a dump device which is smaller than the
 total amount of physical memory as reported by the

Modified: user/adrian/net80211_tx/sbin/fsck_ffs/fsck.h
==============================================================================
--- user/adrian/net80211_tx/sbin/fsck_ffs/fsck.h	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/sbin/fsck_ffs/fsck.h	Thu May  2 07:20:26 2013	(r250174)
@@ -74,6 +74,7 @@
 #define	MINBUFS		10	/* minimum number of buffers required */
 #define	MAXBUFS		40	/* maximum space to allocate to buffers */
 #define	INOBUFSIZE	64*1024	/* size of buffer to read inodes in pass1 */
+#define	ZEROBUFSIZE	(dev_bsize * 128) /* size of zero buffer used by -Z */
 
 union dinode {
 	struct ufs1_dinode dp1;
@@ -306,7 +307,8 @@ char	yflag;			/* assume a yes response *
 int	bkgrdflag;		/* use a snapshot to run on an active system */
 int	bflag;			/* location of alternate super block */
 int	debug;			/* output debugging info */
-int	Eflag;			/* zero out empty data blocks */
+int	Eflag;			/* delete empty data blocks */
+int	Zflag;			/* zero empty data blocks */
 int	inoopt;			/* trim out unused inodes */
 char	ckclean;		/* only do work if not cleanly unmounted */
 int	cvtlevel;		/* convert to newer file system format */
@@ -402,6 +404,7 @@ int		blread(int fd, char *buf, ufs2_dadd
 void		bufinit(void);
 void		blwrite(int fd, char *buf, ufs2_daddr_t blk, ssize_t size);
 void		blerase(int fd, ufs2_daddr_t blk, long size);
+void		blzero(int fd, ufs2_daddr_t blk, long size);
 void		cacheino(union dinode *dp, ino_t inumber);
 void		catch(int);
 void		catchquit(int);

Modified: user/adrian/net80211_tx/sbin/fsck_ffs/fsck_ffs.8
==============================================================================
--- user/adrian/net80211_tx/sbin/fsck_ffs/fsck_ffs.8	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/sbin/fsck_ffs/fsck_ffs.8	Thu May  2 07:20:26 2013	(r250174)
@@ -38,7 +38,7 @@
 .Nd file system consistency check and interactive repair
 .Sh SYNOPSIS
 .Nm
-.Op Fl BEFfnpry
+.Op Fl BEFfnpryZ
 .Op Fl b Ar block
 .Op Fl c Ar level
 .Op Fl m Ar mode
@@ -280,6 +280,15 @@ Assume a yes response to all questions a
 .Nm ;
 this should be used with great caution as this is a free license
 to continue after essentially unlimited trouble has been encountered.
+.It Fl Z
+Similar to
+.Fl E ,
+but overwrites unused blocks with zeroes.
+If both
+.Fl E
+and
+.Fl Z
+are specified, blocks are first zeroed and then erased.
 .El
 .Pp
 Inconsistencies checked are as follows:

Modified: user/adrian/net80211_tx/sbin/fsck_ffs/fsutil.c
==============================================================================
--- user/adrian/net80211_tx/sbin/fsck_ffs/fsutil.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/sbin/fsck_ffs/fsutil.c	Thu May  2 07:20:26 2013	(r250174)
@@ -618,6 +618,35 @@ blerase(int fd, ufs2_daddr_t blk, long s
 	return;
 }
 
+void
+blzero(int fd, ufs2_daddr_t blk, long size)
+{
+	static char *zero;
+	off_t offset, len;
+
+	if (fd < 0)
+		return;
+	len = ZEROBUFSIZE;
+	if (zero == NULL) {
+		zero = calloc(len, 1);
+		if (zero == NULL)
+			errx(EEXIT, "cannot allocate buffer pool");
+	}
+	offset = blk * dev_bsize;
+	if (lseek(fd, offset, 0) < 0)
+		rwerror("SEEK BLK", blk);
+	while (size > 0) {
+		if (size > len)
+			size = len;
+		else
+			len = size;
+		if (write(fd, zero, len) != len)
+			rwerror("WRITE BLK", blk);
+		blk += len / dev_bsize;
+		size -= len;
+	}
+}
+
 /*
  * Verify cylinder group's magic number and other parameters.  If the
  * test fails, offer an option to rebuild the whole cylinder group.

Modified: user/adrian/net80211_tx/sbin/fsck_ffs/main.c
==============================================================================
--- user/adrian/net80211_tx/sbin/fsck_ffs/main.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/sbin/fsck_ffs/main.c	Thu May  2 07:20:26 2013	(r250174)
@@ -82,7 +82,7 @@ main(int argc, char *argv[])
 	sync();
 	skipclean = 1;
 	inoopt = 0;
-	while ((ch = getopt(argc, argv, "b:Bc:CdEfFm:npry")) != -1) {
+	while ((ch = getopt(argc, argv, "b:Bc:CdEfFm:npryZ")) != -1) {
 		switch (ch) {
 		case 'b':
 			skipclean = 0;
@@ -147,6 +147,10 @@ main(int argc, char *argv[])
 			nflag = 0;
 			break;
 
+		case 'Z':
+			Zflag++;
+			break;
+
 		default:
 			usage();
 		}

Modified: user/adrian/net80211_tx/sbin/fsck_ffs/pass5.c
==============================================================================
--- user/adrian/net80211_tx/sbin/fsck_ffs/pass5.c	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/sbin/fsck_ffs/pass5.c	Thu May  2 07:20:26 2013	(r250174)
@@ -252,7 +252,7 @@ pass5(void)
 			frags = 0;
 			for (j = 0; j < fs->fs_frag; j++) {
 				if (testbmap(d + j)) {
-					if (Eflag && start != -1) {
+					if ((Eflag || Zflag) && start != -1) {
 						clear_blocks(start, d + j - 1);
 						start = -1;
 					}
@@ -274,7 +274,7 @@ pass5(void)
 				ffs_fragacct(fs, blk, newcg->cg_frsum, 1);
 			}
 		}
-		if (Eflag && start != -1)
+		if ((Eflag || Zflag) && start != -1)
 			clear_blocks(start, d - 1);
 		if (fs->fs_contigsumsize > 0) {
 			int32_t *sump = cg_clustersum(newcg);
@@ -581,11 +581,16 @@ check_maps(
 	}
 }
 
-static void clear_blocks(ufs2_daddr_t start, ufs2_daddr_t end)
+static void
+clear_blocks(ufs2_daddr_t start, ufs2_daddr_t end)
 {
 
 	if (debug)
 		printf("Zero frags %jd to %jd\n", start, end);
-	blerase(fswritefd, fsbtodb(&sblock, start),
-	    lfragtosize(&sblock, end - start + 1));
+	if (Zflag)
+		blzero(fswritefd, fsbtodb(&sblock, start),
+		    lfragtosize(&sblock, end - start + 1));
+	if (Eflag)
+		blerase(fswritefd, fsbtodb(&sblock, start),
+		    lfragtosize(&sblock, end - start + 1));
 }

Modified: user/adrian/net80211_tx/share/man/man4/Makefile
==============================================================================
--- user/adrian/net80211_tx/share/man/man4/Makefile	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/share/man/man4/Makefile	Thu May  2 07:20:26 2013	(r250174)
@@ -333,6 +333,7 @@ MAN=	aac.4 \
 	ng_vlan.4 \
 	nmdm.4 \
 	nsp.4 \
+	${_ntb.4} \
 	null.4 \
 	${_nvd.4} \
 	${_nve.4} \
@@ -647,6 +648,8 @@ MLINKS+=netintro.4 net.4 \
 	netintro.4 networking.4
 MLINKS+=${_nfe.4} ${_if_nfe.4}
 MLINKS+=nge.4 if_nge.4
+MLINKS+=${_ntb.4} ${_if_ntb.4} \
+	${_ntb.4} ${_ntb_hw.4}
 MLINKS+=${_nve.4} ${_if_nve.4}
 MLINKS+=${_nxge.4} ${_if_nxge.4}
 MLINKS+=patm.4 if_patm.4
@@ -784,6 +787,9 @@ MLINKS+=lindev.4 full.4
 
 .if ${MACHINE_CPUARCH} == "amd64"
 _bhyve.4=	bhyve.4
+_if_ntb.4=	if_ntb.4
+_ntb.4=		ntb.4
+_ntb_hw.4=	ntb_hw.4
 _qlxgb.4=	qlxgb.4
 _sfxge.4=	sfxge.4
 

Modified: user/adrian/net80211_tx/share/man/man4/em.4
==============================================================================
--- user/adrian/net80211_tx/share/man/man4/em.4	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/share/man/man4/em.4	Thu May  2 07:20:26 2013	(r250174)
@@ -260,7 +260,7 @@ go to the Intel support website at:
 If an issue is identified with the released source code on the supported kernel
 with a supported adapter, email the specific information related to the
 issue to
-.Aq freebsdnic@mailbox.intel.com .
+.Aq freebsd@intel.com .
 .Sh SEE ALSO
 .Xr altq 4 ,
 .Xr arp 4 ,
@@ -280,7 +280,7 @@ device driver first appeared in
 The
 .Nm
 driver was written by
-.An Intel Corporation Aq freebsdnic@mailbox.intel.com .
+.An Intel Corporation Aq freebsd@intel.com .
 .Sh BUGS
 Hardware-assisted VLAN processing is disabled by default.
 You can enable it on an

Modified: user/adrian/net80211_tx/share/man/man4/igb.4
==============================================================================
--- user/adrian/net80211_tx/share/man/man4/igb.4	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/share/man/man4/igb.4	Thu May  2 07:20:26 2013	(r250174)
@@ -205,7 +205,7 @@ go to the Intel support website at:
 If an issue is identified with the released source code on the supported kernel
 with a supported adapter, email the specific information related to the
 issue to
-.Aq freebsdnic@mailbox.intel.com .
+.Aq freebsd@intel.com .
 .Sh SEE ALSO
 .Xr altq 4 ,
 .Xr arp 4 ,
@@ -225,4 +225,4 @@ device driver first appeared in
 The
 .Nm
 driver was written by
-.An Intel Corporation Aq freebsdnic@mailbox.intel.com .
+.An Intel Corporation Aq freebsd@intel.com .

Modified: user/adrian/net80211_tx/share/man/man4/ixgb.4
==============================================================================
--- user/adrian/net80211_tx/share/man/man4/ixgb.4	Thu May  2 07:05:34 2013	(r250173)
+++ user/adrian/net80211_tx/share/man/man4/ixgb.4	Thu May  2 07:20:26 2013	(r250174)
@@ -102,7 +102,7 @@ go to the Intel support website at:
 If an issue is identified with the released source code on the supported kernel
 with a supported adapter, email the specific information related to the
 issue to

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-user@FreeBSD.ORG  Thu May  2 21:09:47 2013
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by hub.freebsd.org (Postfix) with ESMTP id C8211665;
 Thu,  2 May 2013 21:09:47 +0000 (UTC)
 (envelope-from crees@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 by mx1.freebsd.org (Postfix) with ESMTP id BAAC015F5;
 Thu,  2 May 2013 21:09:47 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r42L9lff025971;
 Thu, 2 May 2013 21:09:47 GMT (envelope-from crees@svn.freebsd.org)
Received: (from crees@localhost)
 by svn.freebsd.org (8.14.6/8.14.5/Submit) id r42L9lfY025970;
 Thu, 2 May 2013 21:09:47 GMT (envelope-from crees@svn.freebsd.org)
Message-Id: <201305022109.r42L9lfY025970@svn.freebsd.org>
From: Chris Rees <crees@FreeBSD.org>
Date: Thu, 2 May 2013 21:09:47 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r250194 - user/crees/rclint
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 02 May 2013 21:09:47 -0000

Author: crees (ports committer)
Date: Thu May  2 21:09:47 2013
New Revision: 250194
URL: http://svnweb.freebsd.org/changeset/base/250194

Log:
  Make less fragile-- don't break if there are spaces in function definitions
  
  Return the correct line number if giving an error in a function

Modified:
  user/crees/rclint/rclint.py

Modified: user/crees/rclint/rclint.py
==============================================================================
--- user/crees/rclint/rclint.py	Thu May  2 20:00:11 2013	(r250193)
+++ user/crees/rclint/rclint.py	Thu May  2 21:09:47 2013	(r250194)
@@ -28,7 +28,7 @@ __version__ = '$FreeBSD$'
 
 MAJOR = 0
 MINOR = 0
-MICRO = 5
+MICRO = 6
 
 DATADIR = '.'
 
@@ -227,9 +227,11 @@ class Function:
             error.give('functions_inline_brace', num)
         elif lines[1] and lines[1][0] == '{':
             try:
-                self.name = re.match(r'([\S_]+)\(\)$', lines[0]).group(1)
+                self.name = re.match(r'([\S_]+\s*)\(\)$', lines[0]).group(1)
             except:
                 error.give('functions_problem', num)
+            if ' ' in self.name:
+                error.give('functions_problem', num)
             self.length = 0
             self.line = num
             self.value = []
@@ -428,9 +430,11 @@ def do_rclint(filename):
     for function in lineobj['Function']:
         if function.short():
             error.give('functions_short', function.line)
+        counter = 0
         for l in function.value:
+            counter += 1
             if 'chown' in l:
-                error.warn('functions_chown', function.line)
+                error.warn('functions_chown', function.line + counter)
 
     logging.debug('Checking for run_rc_command')
     for s in lineobj['Statement']:

From owner-svn-src-user@FreeBSD.ORG  Sat May  4 21:36:50 2013
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by hub.freebsd.org (Postfix) with ESMTP id A54BED13;
 Sat,  4 May 2013 21:36:50 +0000 (UTC)
 (envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 by mx1.freebsd.org (Postfix) with ESMTP id 88D9C159;
 Sat,  4 May 2013 21:36:50 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r44LaolC056302;
 Sat, 4 May 2013 21:36:50 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
 by svn.freebsd.org (8.14.6/8.14.5/Submit) id r44LameS056284;
 Sat, 4 May 2013 21:36:48 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201305042136.r44LameS056284@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Sat, 4 May 2013 21:36:48 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r250256 - in user/attilio/jeff-numa/sys: kern
 sparc64/include sparc64/sparc64 sys x86/x86
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 04 May 2013 21:36:50 -0000

Author: attilio
Date: Sat May  4 21:36:47 2013
New Revision: 250256
URL: http://svnweb.freebsd.org/changeset/base/250256

Log:
  Generalize the bitarray concept implemented in cpuset and implement a
  KPI to make it reusable: bitset.
  bitsets represent arrays of arch's registers sized entries and offer
  accessors function to work with them.
  
  All the consumers may want to specify a new set by using BITSET_DEFINE()
  KPI and specify some of the needed operations.
  
  For how it is intrisically implemented, kern_cpuset.c and sparc64 KTR
  support are aware of internal details of such implementation, but they
  can be changed in the future to deal with generic containers as well
  if this is assumed to be beneficial and easier.
  
  Sponsored by:	EMC / Isilon storage division
  Obtained from:	jeff

Added:
  user/attilio/jeff-numa/sys/sys/_bitset.h   (contents, props changed)
  user/attilio/jeff-numa/sys/sys/bitset.h   (contents, props changed)
Modified:
  user/attilio/jeff-numa/sys/kern/kern_cpuset.c
  user/attilio/jeff-numa/sys/kern/kern_ktr.c
  user/attilio/jeff-numa/sys/sparc64/include/ktr.h
  user/attilio/jeff-numa/sys/sparc64/sparc64/genassym.c
  user/attilio/jeff-numa/sys/sparc64/sparc64/intr_machdep.c
  user/attilio/jeff-numa/sys/sparc64/sparc64/mp_exception.S
  user/attilio/jeff-numa/sys/sparc64/sparc64/swtch.S
  user/attilio/jeff-numa/sys/sys/_cpuset.h
  user/attilio/jeff-numa/sys/sys/cpuset.h
  user/attilio/jeff-numa/sys/x86/x86/intr_machdep.c

Modified: user/attilio/jeff-numa/sys/kern/kern_cpuset.c
==============================================================================
--- user/attilio/jeff-numa/sys/kern/kern_cpuset.c	Sat May  4 21:26:11 2013	(r250255)
+++ user/attilio/jeff-numa/sys/kern/kern_cpuset.c	Sat May  4 21:36:47 2013	(r250256)
@@ -630,7 +630,7 @@ cpusetobj_ffs(const cpuset_t *set)
 	for (i = 0; i < _NCPUWORDS; i++) {
 		if (set->__bits[i] != 0) {
 			cbit = ffsl(set->__bits[i]);
-			cbit += i * _NCPUBITS;
+			cbit += i * _BITSET_BITS;
 			break;
 		}
 	}

Modified: user/attilio/jeff-numa/sys/kern/kern_ktr.c
==============================================================================
--- user/attilio/jeff-numa/sys/kern/kern_ktr.c	Sat May  4 21:26:11 2013	(r250255)
+++ user/attilio/jeff-numa/sys/kern/kern_ktr.c	Sat May  4 21:36:47 2013	(r250256)
@@ -104,7 +104,7 @@ int	ktr_entries = KTR_BOOT_ENTRIES;
 int	ktr_version = KTR_VERSION;
 struct	ktr_entry ktr_buf_init[KTR_BOOT_ENTRIES];
 struct	ktr_entry *ktr_buf = ktr_buf_init;
-cpuset_t ktr_cpumask = CPUSET_T_INITIALIZER(KTR_CPUMASK);
+cpuset_t ktr_cpumask = BITSET_T_INITIALIZER(KTR_CPUMASK);
 static char ktr_cpumask_str[CPUSETBUFSIZ];
 
 TUNABLE_INT("debug.ktr.mask", &ktr_mask);

Modified: user/attilio/jeff-numa/sys/sparc64/include/ktr.h
==============================================================================
--- user/attilio/jeff-numa/sys/sparc64/include/ktr.h	Sat May  4 21:26:11 2013	(r250255)
+++ user/attilio/jeff-numa/sys/sparc64/include/ktr.h	Sat May  4 21:36:47 2013	(r250256)
@@ -81,7 +81,7 @@ l2:	add	r2, 1, r3 ; \
 	brz	r1, l3 ## f ; \
 	 nop ; \
 	lduw	[PCPU(CPUID)], r2 ; \
-	mov	_NCPUBITS, r3 ; \
+	mov	_BITSET_BITS, r3 ; \
 	mov	%g0, %y ; \
 	udiv	r2, r3, r2 ; \
 	srl	r2, 0, r2 ; \
@@ -89,7 +89,7 @@ l2:	add	r2, 1, r3 ; \
 	SET(ktr_cpumask, r3, r1) ; \
 	ldx	[r1 + r2], r1 ; \
 	lduw	[PCPU(CPUID)], r2 ; \
-	mov	_NCPUBITS, r3 ; \
+	mov	_BITSET_BITS, r3 ; \
 	mov	%g0, %y ; \
 	udiv	r2, r3, r2 ; \
 	srl	r2, 0, r2 ; \

Modified: user/attilio/jeff-numa/sys/sparc64/sparc64/genassym.c
==============================================================================
--- user/attilio/jeff-numa/sys/sparc64/sparc64/genassym.c	Sat May  4 21:26:11 2013	(r250255)
+++ user/attilio/jeff-numa/sys/sparc64/sparc64/genassym.c	Sat May  4 21:36:47 2013	(r250256)
@@ -58,7 +58,7 @@ ASSYM(PCPU_PAGES, PCPU_PAGES);
 
 ASSYM(TAR_VPN_SHIFT, TAR_VPN_SHIFT);
 
-ASSYM(_NCPUBITS, _NCPUBITS);
+ASSYM(_BITSET_BITS, _BITSET_BITS);
 
 ASSYM(TLB_DEMAP_ALL, TLB_DEMAP_ALL);
 ASSYM(TLB_DEMAP_CONTEXT, TLB_DEMAP_CONTEXT);

Modified: user/attilio/jeff-numa/sys/sparc64/sparc64/intr_machdep.c
==============================================================================
--- user/attilio/jeff-numa/sys/sparc64/sparc64/intr_machdep.c	Sat May  4 21:26:11 2013	(r250255)
+++ user/attilio/jeff-numa/sys/sparc64/sparc64/intr_machdep.c	Sat May  4 21:36:47 2013	(r250256)
@@ -456,7 +456,7 @@ intr_describe(int vec, void *ih, const c
  * allocate CPUs round-robin.
  */
 
-static cpuset_t intr_cpus = CPUSET_T_INITIALIZER(0x1);
+static cpuset_t intr_cpus = BITSET_T_INITIALIZER(0x1);
 static int current_cpu;
 
 static void

Modified: user/attilio/jeff-numa/sys/sparc64/sparc64/mp_exception.S
==============================================================================
--- user/attilio/jeff-numa/sys/sparc64/sparc64/mp_exception.S	Sat May  4 21:26:11 2013	(r250255)
+++ user/attilio/jeff-numa/sys/sparc64/sparc64/mp_exception.S	Sat May  4 21:36:47 2013	(r250256)
@@ -41,7 +41,7 @@ __FBSDID("$FreeBSD$");
 #define	IPI_DONE(r1, r2, r3, r4, r5, r6)				\
 	rd	%y, r6 ;						\
 	lduw	[PCPU(CPUID)], r2 ;					\
-	mov	_NCPUBITS, r3 ;						\
+	mov	_BITSET_BITS, r3 ;					\
 	mov	%g0, %y ;						\
 	udiv	r2, r3, r4 ;						\
 	srl	r4, 0, r5 ;						\

Modified: user/attilio/jeff-numa/sys/sparc64/sparc64/swtch.S
==============================================================================
--- user/attilio/jeff-numa/sys/sparc64/sparc64/swtch.S	Sat May  4 21:26:11 2013	(r250255)
+++ user/attilio/jeff-numa/sys/sparc64/sparc64/swtch.S	Sat May  4 21:36:47 2013	(r250256)
@@ -172,7 +172,7 @@ ENTRY(cpu_switch)
 	 * Mark the pmap of the last non-kernel vmspace to run as no longer
 	 * active on this CPU.
 	 */
-	mov	_NCPUBITS, %l5
+	mov	_BITSET_BITS, %l5
 	mov	%g0, %y
 	udiv	%l3, %l5, %l6
 	srl	%l6, 0, %l4
@@ -241,7 +241,7 @@ ENTRY(cpu_switch)
 	/*
 	 * Mark the pmap as active on this CPU.
 	 */
-	mov	_NCPUBITS, %l5
+	mov	_BITSET_BITS, %l5
 	mov	%g0, %y
 	udiv	%l3, %l5, %l6
 	srl	%l6, 0, %l4

Added: user/attilio/jeff-numa/sys/sys/_bitset.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/attilio/jeff-numa/sys/sys/_bitset.h	Sat May  4 21:36:47 2013	(r250256)
@@ -0,0 +1,61 @@
+/*-
+ * Copyright (c) 2008, Jeffrey Roberson <jeff@freebsd.org>
+ * All rights reserved.
+ *
+ * Copyright (c) 2008 Nokia Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice unmodified, this list of conditions, and the following
+ *    disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (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$
+ */
+
+#ifndef _SYS__BITSET_H_
+#define	_SYS__BITSET_H_
+
+/*
+ * Macros addressing word and bit within it, tuned to make compiler
+ * optimize cases when SETSIZE fits into single machine word.
+ */
+#define	_BITSET_BITS		(sizeof(long) * NBBY)
+
+#define	__bitset_words(_s)	(howmany(_s, _BITSET_BITS))
+
+#define	__bitset_mask(_s, n)						\
+	(1L << ((__bitset_words((_s)) == 1) ?				\
+	    (__size_t)(n) : ((n) % _BITSET_BITS)))
+
+#define	__bitset_word(_s, n)						\
+	((__bitset_words((_s)) == 1) ? 0 : ((n) / _BITSET_BITS))
+
+#define	BITSET_DEFINE(t, _s)						\
+struct t {								\
+        long    __bits[__bitset_words((_s))];				\
+};
+
+#define	BITSET_T_INITIALIZER(x)						\
+	{ .__bits = { x } }
+
+#define	BITSET_FSET(n)							\
+	[ 0 ... ((n) - 1) ] = (-1L)
+
+#endif /* !_SYS__BITSET_H_ */

Modified: user/attilio/jeff-numa/sys/sys/_cpuset.h
==============================================================================
--- user/attilio/jeff-numa/sys/sys/_cpuset.h	Sat May  4 21:26:11 2013	(r250255)
+++ user/attilio/jeff-numa/sys/sys/_cpuset.h	Sat May  4 21:36:47 2013	(r250256)
@@ -32,6 +32,8 @@
 #ifndef _SYS__CPUSET_H_
 #define	_SYS__CPUSET_H_
 
+#include <sys/_bitset.h>
+
 #ifdef _KERNEL
 #define	CPU_SETSIZE	MAXCPU
 #endif
@@ -42,17 +44,11 @@
 #define	CPU_SETSIZE	CPU_MAXSIZE
 #endif
 
-#define	_NCPUBITS	(sizeof(long) * NBBY)	/* bits per mask */
-#define	_NCPUWORDS	howmany(CPU_SETSIZE, _NCPUBITS)
-
-typedef	struct _cpuset {
-	long	__bits[howmany(CPU_SETSIZE, _NCPUBITS)];
-} cpuset_t;
+#define	_NCPUWORDS	__bitset_words(CPU_SETSIZE)
 
-#define	CPUSET_FSET							\
-	[ 0 ... (_NCPUWORDS - 1) ] = (-1L)
+BITSET_DEFINE(_cpuset, CPU_SETSIZE);
+typedef struct _cpuset cpuset_t;
 
-#define	CPUSET_T_INITIALIZER(x)						\
-	{ .__bits = { x } }
+#define	CPUSET_FSET	BITSET_FSET(_NCPUWORDS)
 
 #endif /* !_SYS__CPUSET_H_ */

Added: user/attilio/jeff-numa/sys/sys/bitset.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/attilio/jeff-numa/sys/sys/bitset.h	Sat May  4 21:36:47 2013	(r250256)
@@ -0,0 +1,153 @@
+/*-
+ * Copyright (c) 2008, Jeffrey Roberson <jeff@freebsd.org>
+ * All rights reserved.
+ *
+ * Copyright (c) 2008 Nokia Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice unmodified, this list of conditions, and the following
+ *    disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (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$
+ */
+
+#ifndef _SYS_BITSET_H_
+#define	_SYS_BITSET_H_
+
+#define	BIT_CLR(_s, n, p)						\
+	((p)->__bits[__bitset_word(_s, n)] &= ~__bitset_mask((_s), (n)))
+
+#define	BIT_COPY(_s, f, t)	(void)(*(t) = *(f))
+
+#define	BIT_ISSET(_s, n, p)						\
+	((((p)->__bits[__bitset_word(_s, n)] & __bitset_mask((_s), (n))) != 0))
+
+#define	BIT_SET(_s, n, p)						\
+	((p)->__bits[__bitset_word(_s, n)] |= __bitset_mask((_s), (n)))
+
+#define	BIT_ZERO(_s, p) do {						\
+	__size_t __i;							\
+	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
+		(p)->__bits[__i] = 0L;					\
+} while (0)
+
+#define	BIT_FILL(_s, p) do {						\
+	__size_t __i;							\
+	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
+		(p)->__bits[__i] = -1L;					\
+} while (0)
+
+#define	BIT_SETOF(_s, n, p) do {					\
+	BIT_ZERO(_s, p);						\
+	(p)->__bits[__bitset_word(_s, n)] = __bitset_mask((_s), (n));	\
+} while (0)
+
+/* Is p empty. */
+#define	BIT_EMPTY(_s, p) __extension__ ({				\
+	__size_t __i;							\
+	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
+		if ((p)->__bits[__i])					\
+			break;						\
+	__i == __bitset_words((_s));					\
+})
+
+/* Is p full set. */
+#define	BIT_ISFULLSET(_s, p) __extension__ ({				\
+	__size_t __i;							\
+	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
+		if ((p)->__bits[__i] != (long)-1)			\
+			break;						\
+	__i == __bitset_words((_s));					\
+})
+
+/* Is c a subset of p. */
+#define	BIT_SUBSET(_s, p, c) __extension__ ({				\
+	__size_t __i;							\
+	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
+		if (((c)->__bits[__i] &					\
+		    (p)->__bits[__i]) !=				\
+		    (c)->__bits[__i])					\
+			break;						\
+	__i == __bitset_words((_s));					\
+})
+
+/* Are there any common bits between b & c? */
+#define	BIT_OVERLAP(_s, p, c) __extension__ ({				\
+	__size_t __i;							\
+	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
+		if (((c)->__bits[__i] &					\
+		    (p)->__bits[__i]) != 0)				\
+			break;						\
+	__i != __bitset_words((_s));					\
+})
+
+/* Compare two sets, returns 0 if equal 1 otherwise. */
+#define	BIT_CMP(_s, p, c) __extension__ ({				\
+	__size_t __i;							\
+	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
+		if (((c)->__bits[__i] !=				\
+		    (p)->__bits[__i]))					\
+			break;						\
+	__i != __bitset_words((_s));					\
+})
+
+#define	BIT_OR(_s, d, s) do {						\
+	__size_t __i;							\
+	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
+		(d)->__bits[__i] |= (s)->__bits[__i];			\
+} while (0)
+
+#define	BIT_AND(_s, d, s) do {						\
+	__size_t __i;							\
+	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
+		(d)->__bits[__i] &= (s)->__bits[__i];			\
+} while (0)
+
+#define	BIT_NAND(_s, d, s) do {						\
+	__size_t __i;							\
+	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
+		(d)->__bits[__i] &= ~(s)->__bits[__i];			\
+} while (0)
+
+#define	BIT_CLR_ATOMIC(_s, n, p)					\
+	atomic_clear_long(&(p)->__bits[__bitset_word(_s, n)],		\
+	    __bitset_mask((_s), n))
+
+#define	BIT_SET_ATOMIC(_s, n, p)					\
+	atomic_set_long(&(p)->__bits[__bitset_word(_s, n)],		\
+	    __bitset_mask((_s), n))
+
+/* Convenience functions catering special cases. */ 
+#define	BIT_OR_ATOMIC(_s, d, s) do {					\
+	__size_t __i;							\
+	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
+		atomic_set_long(&(d)->__bits[__i],			\
+		    (s)->__bits[__i]);					\
+} while (0)
+
+#define	BIT_COPY_STORE_REL(_s, f, t) do {				\
+	__size_t __i;							\
+	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
+		atomic_store_rel_long(&(t)->__bits[__i],		\
+		    (f)->__bits[__i]);					\
+} while (0)
+
+#endif /* !_SYS_BITSET_H_ */

Modified: user/attilio/jeff-numa/sys/sys/cpuset.h
==============================================================================
--- user/attilio/jeff-numa/sys/sys/cpuset.h	Sat May  4 21:26:11 2013	(r250255)
+++ user/attilio/jeff-numa/sys/sys/cpuset.h	Sat May  4 21:36:47 2013	(r250256)
@@ -34,124 +34,29 @@
 
 #include <sys/_cpuset.h>
 
+#include <sys/bitset.h>
+
 #define	CPUSETBUFSIZ	((2 + sizeof(long) * 2) * _NCPUWORDS)
 
-/*
- * Macros addressing word and bit within it, tuned to make compiler
- * optimize cases when CPU_SETSIZE fits into single machine word.
- */
-#define	__cpuset_mask(n)				\
-	((long)1 << ((_NCPUWORDS == 1) ? (__size_t)(n) : ((n) % _NCPUBITS)))
-#define	__cpuset_word(n)	((_NCPUWORDS == 1) ? 0 : ((n) / _NCPUBITS))
-
-#define	CPU_CLR(n, p)	((p)->__bits[__cpuset_word(n)] &= ~__cpuset_mask(n))
-#define	CPU_COPY(f, t)	(void)(*(t) = *(f))
-#define	CPU_ISSET(n, p)	(((p)->__bits[__cpuset_word(n)] & __cpuset_mask(n)) != 0)
-#define	CPU_SET(n, p)	((p)->__bits[__cpuset_word(n)] |= __cpuset_mask(n))
-#define	CPU_ZERO(p) do {				\
-	__size_t __i;					\
-	for (__i = 0; __i < _NCPUWORDS; __i++)		\
-		(p)->__bits[__i] = 0;			\
-} while (0)
-
-#define	CPU_FILL(p) do {				\
-	__size_t __i;					\
-	for (__i = 0; __i < _NCPUWORDS; __i++)		\
-		(p)->__bits[__i] = -1;			\
-} while (0)
-
-#define	CPU_SETOF(n, p) do {					\
-	CPU_ZERO(p);						\
-	((p)->__bits[__cpuset_word(n)] = __cpuset_mask(n));	\
-} while (0)
-
-/* Is p empty. */
-#define	CPU_EMPTY(p) __extension__ ({			\
-	__size_t __i;					\
-	for (__i = 0; __i < _NCPUWORDS; __i++)		\
-		if ((p)->__bits[__i])			\
-			break;				\
-	__i == _NCPUWORDS;				\
-})
-
-/* Is p full set. */
-#define	CPU_ISFULLSET(p) __extension__ ({		\
-	__size_t __i;					\
-	for (__i = 0; __i < _NCPUWORDS; __i++)		\
-		if ((p)->__bits[__i] != (long)-1)	\
-			break;				\
-	__i == _NCPUWORDS;				\
-})
-
-/* Is c a subset of p. */
-#define	CPU_SUBSET(p, c) __extension__ ({		\
-	__size_t __i;					\
-	for (__i = 0; __i < _NCPUWORDS; __i++)		\
-		if (((c)->__bits[__i] &			\
-		    (p)->__bits[__i]) !=		\
-		    (c)->__bits[__i])			\
-			break;				\
-	__i == _NCPUWORDS;				\
-})
-
-/* Are there any common bits between b & c? */
-#define	CPU_OVERLAP(p, c) __extension__ ({		\
-	__size_t __i;					\
-	for (__i = 0; __i < _NCPUWORDS; __i++)		\
-		if (((c)->__bits[__i] &			\
-		    (p)->__bits[__i]) != 0)		\
-			break;				\
-	__i != _NCPUWORDS;				\
-})
-
-/* Compare two sets, returns 0 if equal 1 otherwise. */
-#define	CPU_CMP(p, c) __extension__ ({			\
-	__size_t __i;					\
-	for (__i = 0; __i < _NCPUWORDS; __i++)		\
-		if (((c)->__bits[__i] !=		\
-		    (p)->__bits[__i]))			\
-			break;				\
-	__i != _NCPUWORDS;				\
-})
-
-#define	CPU_OR(d, s) do {				\
-	__size_t __i;					\
-	for (__i = 0; __i < _NCPUWORDS; __i++)		\
-		(d)->__bits[__i] |= (s)->__bits[__i];	\
-} while (0)
-
-#define	CPU_AND(d, s) do {				\
-	__size_t __i;					\
-	for (__i = 0; __i < _NCPUWORDS; __i++)		\
-		(d)->__bits[__i] &= (s)->__bits[__i];	\
-} while (0)
-
-#define	CPU_NAND(d, s) do {				\
-	__size_t __i;					\
-	for (__i = 0; __i < _NCPUWORDS; __i++)		\
-		(d)->__bits[__i] &= ~(s)->__bits[__i];	\
-} while (0)
-
-#define	CPU_CLR_ATOMIC(n, p)						\
-	atomic_clear_long(&(p)->__bits[__cpuset_word(n)], __cpuset_mask(n))
-
-#define	CPU_SET_ATOMIC(n, p)						\
-	atomic_set_long(&(p)->__bits[__cpuset_word(n)], __cpuset_mask(n))
-
-/* Convenience functions catering special cases. */ 
-#define	CPU_OR_ATOMIC(d, s) do {			\
-	__size_t __i;					\
-	for (__i = 0; __i < _NCPUWORDS; __i++)		\
-		atomic_set_long(&(d)->__bits[__i],	\
-		    (s)->__bits[__i]);			\
-} while (0)
-
-#define	CPU_COPY_STORE_REL(f, t) do {				\
-	__size_t __i;						\
-	for (__i = 0; __i < _NCPUWORDS; __i++)			\
-		atomic_store_rel_long(&(t)->__bits[__i],	\
-		    (f)->__bits[__i]);				\
-} while (0)
+#define	CPU_CLR(n, p)			BIT_CLR(CPU_SETSIZE, n, p)
+#define	CPU_COPY(f, t)			BIT_COPY(CPU_SETSIZE, f, t)
+#define	CPU_ISSET(n, p)			BIT_ISSET(CPU_SETSIZE, n, p)
+#define	CPU_SET(n, p)			BIT_SET(CPU_SETSIZE, n, p)
+#define	CPU_ZERO(p) 			BIT_ZERO(CPU_SETSIZE, p)
+#define	CPU_FILL(p) 			BIT_FILL(CPU_SETSIZE, p)
+#define	CPU_SETOF(n, p)			BIT_SETOF(CPU_SETSIZE, n, p)
+#define	CPU_EMPTY(p)			BIT_EMPTY(CPU_SETSIZE, p)
+#define	CPU_ISFULLSET(p)		BIT_ISFULLSET(CPU_SETSIZE, p)
+#define	CPU_SUBSET(p, c)		BIT_SUBSET(CPU_SETSIZE, p, c)
+#define	CPU_OVERLAP(p, c)		BIT_OVERLAP(CPU_SETSIZE, p, c)
+#define	CPU_CMP(p, c)			BIT_CMP(CPU_SETSIZE, p, c)
+#define	CPU_OR(d, s)			BIT_OR(CPU_SETSIZE, d, s)
+#define	CPU_AND(d, s)			BIT_AND(CPU_SETSIZE, d, s)
+#define	CPU_NAND(d, s)			BIT_NAND(CPU_SETSIZE, d, s)
+#define	CPU_CLR_ATOMIC(n, p)		BIT_CLR_ATOMIC(CPU_SETSIZE, n, p)
+#define	CPU_SET_ATOMIC(n, p)		BIT_SET_ATOMIC(CPU_SETSIZE, n, p)
+#define	CPU_OR_ATOMIC(d, s)		BIT_OR_ATOMIC(CPU_SETSIZE, d, s)
+#define	CPU_COPY_STORE_REL(f, t)	BIT_COPY_STORE_REL(CPU_SETSIZE, f, t)
 
 /*
  * Valid cpulevel_t values.

Modified: user/attilio/jeff-numa/sys/x86/x86/intr_machdep.c
==============================================================================
--- user/attilio/jeff-numa/sys/x86/x86/intr_machdep.c	Sat May  4 21:26:11 2013	(r250255)
+++ user/attilio/jeff-numa/sys/x86/x86/intr_machdep.c	Sat May  4 21:36:47 2013	(r250256)
@@ -452,7 +452,7 @@ DB_SHOW_COMMAND(irqs, db_show_irqs)
  * allocate CPUs round-robin.
  */
 
-static cpuset_t intr_cpus = CPUSET_T_INITIALIZER(0x1);
+static cpuset_t intr_cpus = BITSET_T_INITIALIZER(0x1);
 static int current_cpu;
 
 /*

From owner-svn-src-user@FreeBSD.ORG  Sat May  4 23:33:55 2013
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115])
 by hub.freebsd.org (Postfix) with ESMTP id 3D71017D;
 Sat,  4 May 2013 23:33:55 +0000 (UTC)
 (envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 by mx1.freebsd.org (Postfix) with ESMTP id 2DBA46BD;
 Sat,  4 May 2013 23:33:55 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r44NXtho099742;
 Sat, 4 May 2013 23:33:55 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
 by svn.freebsd.org (8.14.6/8.14.5/Submit) id r44NXtLc099741;
 Sat, 4 May 2013 23:33:55 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201305042333.r44NXtLc099741@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Sat, 4 May 2013 23:33:55 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r250260 - user/attilio/jeff-numa/sys/x86/acpica
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 04 May 2013 23:33:55 -0000

Author: attilio
Date: Sat May  4 23:33:54 2013
New Revision: 250260
URL: http://svnweb.freebsd.org/changeset/base/250260

Log:
  Add code to correctly parse and display ACPI SLIT
  (System Locality Information Table).
  
  Sponsored by:	EMC / Isilon storage division
  Obtained from:	jeff

Modified:
  user/attilio/jeff-numa/sys/x86/acpica/srat.c

Modified: user/attilio/jeff-numa/sys/x86/acpica/srat.c
==============================================================================
--- user/attilio/jeff-numa/sys/x86/acpica/srat.c	Sat May  4 22:50:15 2013	(r250259)
+++ user/attilio/jeff-numa/sys/x86/acpica/srat.c	Sat May  4 23:33:54 2013	(r250260)
@@ -331,6 +331,48 @@ srat_walk_table(acpi_subtable_handler *h
 	acpi_walk_subtables(srat + 1, (char *)srat + srat->Header.Length,
 	    handler, arg);
 }
+ 
+static void
+acpi_handle_slit(ACPI_TABLE_SLIT *slit)
+{
+	UINT64 i, j;
+
+	printf("ACPI System Locality Information Table: %ju localities\n",
+	    (uintmax_t)slit->LocalityCount);
+	printf("      ");
+	for (i = 0; i < slit->LocalityCount; i++)
+		printf(" %3ju", (uintmax_t)i);
+	printf("\n     +");
+	for (i = 0; i < slit->LocalityCount; i++)
+		printf("----");
+	printf("\n");
+	for (i = 0; i < slit->LocalityCount; i++) {
+		printf(" %3ju |", (uintmax_t)i);
+		for (j = 0; j < slit->LocalityCount; j++)
+			printf(" %3u",
+			    slit->Entry[i * slit->LocalityCount + j]);
+		printf("\n");
+	}
+}
+
+static void
+parse_slit(void *arg __unused)
+{
+	ACPI_TABLE_SLIT *slit;
+	vm_paddr_t slit_physaddr;
+
+	if (resource_disabled("slit", 0))
+		return;
+
+	slit_physaddr = acpi_find_table(ACPI_SIG_SLIT);
+	if (slit_physaddr == 0)
+		return;
+	slit = acpi_map_table(slit_physaddr, ACPI_SIG_SLIT);
+	acpi_handle_slit(slit);
+	acpi_unmap_table(slit);
+}
+
+SYSINIT(parse_slit, SI_SUB_VM - 1, SI_ORDER_SECOND, parse_slit, NULL);
 
 /*
  * Setup per-CPU ACPI IDs.