From owner-svn-src-projects@FreeBSD.ORG  Sun Dec  1 14:03:16 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C30496DB;
 Sun,  1 Dec 2013 14:03:16 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id AA9D2167D;
 Sun,  1 Dec 2013 14:03:16 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1E3GD1060061;
 Sun, 1 Dec 2013 14:03:16 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1E34o8059931;
 Sun, 1 Dec 2013 14:03:04 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201312011403.rB1E34o8059931@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Sun, 1 Dec 2013 14:03:04 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258795 - in projects/sendfile: . bin/sh lib
 lib/libc/sparc64/fpu lib/libc/sys lib/libc/xdr lib/libpjdlog release sbin
 share/man/man4 share/mk sys/amd64/conf sys/amd64/pci sys/amd64/vmm...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Dec 2013 14:03:16 -0000

Author: glebius
Date: Sun Dec  1 14:03:03 2013
New Revision: 258795
URL: http://svnweb.freebsd.org/changeset/base/258795

Log:
  Merge head.

Added:
  projects/sendfile/lib/libpjdlog/
     - copied from r258794, head/lib/libpjdlog/
  projects/sendfile/sys/sys/sf_sync.h
     - copied unchanged from r258794, head/sys/sys/sf_sync.h
Modified:
  projects/sendfile/Makefile.inc1
  projects/sendfile/bin/sh/cd.c
  projects/sendfile/bin/sh/exec.c
  projects/sendfile/bin/sh/expand.c
  projects/sendfile/bin/sh/memalloc.c
  projects/sendfile/bin/sh/mystring.c
  projects/sendfile/bin/sh/mystring.h
  projects/sendfile/bin/sh/show.c
  projects/sendfile/bin/sh/var.c
  projects/sendfile/lib/Makefile
  projects/sendfile/lib/libc/sparc64/fpu/fpu.c
  projects/sendfile/lib/libc/sparc64/fpu/fpu_sqrt.c
  projects/sendfile/lib/libc/sys/chmod.2
  projects/sendfile/lib/libc/sys/pdfork.2
  projects/sendfile/lib/libc/sys/wait.2
  projects/sendfile/lib/libc/xdr/xdr_rec.c
  projects/sendfile/release/Makefile
  projects/sendfile/release/release.sh
  projects/sendfile/sbin/Makefile
  projects/sendfile/share/man/man4/capsicum.4
  projects/sendfile/share/man/man4/procdesc.4
  projects/sendfile/share/mk/bsd.libnames.mk
  projects/sendfile/sys/amd64/conf/GENERIC
  projects/sendfile/sys/amd64/pci/pci_cfgreg.c
  projects/sendfile/sys/amd64/vmm/intel/vmcs.h
  projects/sendfile/sys/amd64/vmm/intel/vmx_controls.h
  projects/sendfile/sys/amd64/vmm/intel/vtd.c
  projects/sendfile/sys/arm/arm/db_trace.c
  projects/sendfile/sys/arm/arm/pl190.c
  projects/sendfile/sys/arm/at91/if_macbvar.h
  projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_dma.c
  projects/sendfile/sys/arm/econa/if_ece.c
  projects/sendfile/sys/arm/freescale/imx/imx6_anatopreg.h
  projects/sendfile/sys/arm/freescale/imx/imx6_usbphy.c
  projects/sendfile/sys/arm/freescale/imx/imx_gptreg.h
  projects/sendfile/sys/arm/freescale/vybrid/vf_anadig.c
  projects/sendfile/sys/arm/freescale/vybrid/vf_ccm.c
  projects/sendfile/sys/arm/freescale/vybrid/vf_ehci.c
  projects/sendfile/sys/arm/include/armreg.h
  projects/sendfile/sys/arm/lpc/if_lpereg.h
  projects/sendfile/sys/arm/lpc/lpcreg.h
  projects/sendfile/sys/arm/mv/mv_pci.c
  projects/sendfile/sys/arm/samsung/exynos/ehci_exynos5.c
  projects/sendfile/sys/arm/xscale/i8134x/i81342reg.h
  projects/sendfile/sys/arm/xscale/ixp425/ixp425reg.h
  projects/sendfile/sys/boot/arm/at91/libat91/mci_device.h
  projects/sendfile/sys/boot/i386/libfirewire/fwohci.h
  projects/sendfile/sys/boot/i386/libfirewire/fwohcireg.h
  projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c
  projects/sendfile/sys/conf/NOTES
  projects/sendfile/sys/conf/options
  projects/sendfile/sys/dev/aac/aacvar.h
  projects/sendfile/sys/dev/acpica/acpi_video.c
  projects/sendfile/sys/dev/agp/agp_i810.c
  projects/sendfile/sys/dev/ahci/ahci.h
  projects/sendfile/sys/dev/bktr/bktr_core.c
  projects/sendfile/sys/dev/cesa/cesa.h
  projects/sendfile/sys/dev/drm/i915_reg.h
  projects/sendfile/sys/dev/drm/mach64_drv.h
  projects/sendfile/sys/dev/drm/mga_drv.h
  projects/sendfile/sys/dev/drm/r128_drv.h
  projects/sendfile/sys/dev/drm/r300_reg.h
  projects/sendfile/sys/dev/drm/r600_blit.c
  projects/sendfile/sys/dev/drm/radeon_cp.c
  projects/sendfile/sys/dev/drm/radeon_drv.h
  projects/sendfile/sys/dev/drm/via_irq.c
  projects/sendfile/sys/dev/drm2/i915/i915_reg.h
  projects/sendfile/sys/dev/drm2/radeon/evergreen_blit_kms.c
  projects/sendfile/sys/dev/drm2/radeon/evergreen_cs.c
  projects/sendfile/sys/dev/drm2/radeon/evergreend.h
  projects/sendfile/sys/dev/drm2/radeon/nid.h
  projects/sendfile/sys/dev/drm2/radeon/r200.c
  projects/sendfile/sys/dev/drm2/radeon/r300.c
  projects/sendfile/sys/dev/drm2/radeon/r300_reg.h
  projects/sendfile/sys/dev/drm2/radeon/r500_reg.h
  projects/sendfile/sys/dev/drm2/radeon/r600_blit.c
  projects/sendfile/sys/dev/drm2/radeon/r600_blit_kms.c
  projects/sendfile/sys/dev/drm2/radeon/r600_cs.c
  projects/sendfile/sys/dev/drm2/radeon/r600d.h
  projects/sendfile/sys/dev/drm2/radeon/radeon_cp.c
  projects/sendfile/sys/dev/drm2/radeon/radeon_drv.h
  projects/sendfile/sys/dev/drm2/radeon/radeon_reg.h
  projects/sendfile/sys/dev/drm2/radeon/rv770d.h
  projects/sendfile/sys/dev/drm2/radeon/sid.h
  projects/sendfile/sys/dev/drm2/ttm/ttm_bo.c
  projects/sendfile/sys/dev/e1000/e1000_82575.h
  projects/sendfile/sys/dev/e1000/e1000_ich8lan.c
  projects/sendfile/sys/dev/e1000/e1000_regs.h
  projects/sendfile/sys/dev/etherswitch/arswitch/arswitchreg.h
  projects/sendfile/sys/dev/ffec/if_ffecreg.h
  projects/sendfile/sys/dev/firewire/firewire.c
  projects/sendfile/sys/dev/firewire/fwohci.c
  projects/sendfile/sys/dev/firewire/fwohcireg.h
  projects/sendfile/sys/dev/firewire/sbp.c
  projects/sendfile/sys/dev/firewire/sbp.h
  projects/sendfile/sys/dev/firewire/sbp_targ.c
  projects/sendfile/sys/dev/hatm/if_hatmreg.h
  projects/sendfile/sys/dev/hwpmc/hwpmc_piv.h
  projects/sendfile/sys/dev/iscsi/iscsi.c
  projects/sendfile/sys/dev/iwn/if_iwnreg.h
  projects/sendfile/sys/dev/mge/if_mgevar.h
  projects/sendfile/sys/dev/mpt/mpt_cam.c
  projects/sendfile/sys/dev/msk/if_mskreg.h
  projects/sendfile/sys/dev/mvs/mvs.h
  projects/sendfile/sys/dev/mxge/mxge_mcp.h
  projects/sendfile/sys/dev/qlxge/qls_dump.c
  projects/sendfile/sys/dev/ral/rt2560reg.h
  projects/sendfile/sys/dev/ral/rt2661reg.h
  projects/sendfile/sys/dev/ral/rt2860reg.h
  projects/sendfile/sys/dev/sound/pci/hda/hdaa.h
  projects/sendfile/sys/dev/usb/controller/ehci.h
  projects/sendfile/sys/dev/usb/wlan/if_rumreg.h
  projects/sendfile/sys/dev/usb/wlan/if_runreg.h
  projects/sendfile/sys/dev/usb/wlan/if_uralreg.h
  projects/sendfile/sys/dev/usb/wlan/if_urtwreg.h
  projects/sendfile/sys/dev/usb/wlan/if_zydreg.h
  projects/sendfile/sys/dev/wpi/if_wpireg.h
  projects/sendfile/sys/geom/raid/tr_raid1e.c
  projects/sendfile/sys/i386/conf/GENERIC
  projects/sendfile/sys/i386/pci/pci_cfgreg.c
  projects/sendfile/sys/ia64/conf/GENERIC
  projects/sendfile/sys/kern/kern_descrip.c
  projects/sendfile/sys/kern/kern_exit.c
  projects/sendfile/sys/kern/kern_fork.c
  projects/sendfile/sys/kern/kern_sig.c
  projects/sendfile/sys/kern/sys_procdesc.c
  projects/sendfile/sys/kern/uipc_syscalls.c
  projects/sendfile/sys/mips/atheros/ar71xxreg.h
  projects/sendfile/sys/mips/atheros/ar934xreg.h
  projects/sendfile/sys/mips/atheros/if_argevar.h
  projects/sendfile/sys/mips/malta/gt_pci.c
  projects/sendfile/sys/mips/nlm/dev/net/nae.c
  projects/sendfile/sys/mips/nlm/xlp_machdep.c
  projects/sendfile/sys/mips/rmi/pic.h
  projects/sendfile/sys/netinet/sctp_bsd_addr.c
  projects/sendfile/sys/netinet/sctp_pcb.c
  projects/sendfile/sys/ofed/drivers/infiniband/hw/mlx4/qp.c
  projects/sendfile/sys/ofed/drivers/infiniband/hw/mthca/mthca_mcg.c
  projects/sendfile/sys/ofed/drivers/infiniband/hw/mthca/mthca_qp.c
  projects/sendfile/sys/ofed/drivers/net/mlx4/mcg.c
  projects/sendfile/sys/pc98/conf/GENERIC
  projects/sendfile/sys/powerpc/conf/GENERIC
  projects/sendfile/sys/powerpc/fpu/fpu_emu.c
  projects/sendfile/sys/powerpc/fpu/fpu_sqrt.c
  projects/sendfile/sys/powerpc/ofw/ofw_machdep.c
  projects/sendfile/sys/powerpc/powermac/nvbl.c
  projects/sendfile/sys/sparc64/conf/GENERIC
  projects/sendfile/sys/sys/consio.h
  projects/sendfile/sys/sys/file.h
  projects/sendfile/sys/ufs/ffs/ffs_softdep.c
  projects/sendfile/sys/x86/iommu/intel_reg.h
  projects/sendfile/usr.sbin/bluetooth/bthidd/kbd.c
  projects/sendfile/usr.sbin/bsdconfig/includes/includes
  projects/sendfile/usr.sbin/rwhod/rwhod.c
Directory Properties:
  projects/sendfile/   (props changed)
  projects/sendfile/lib/libc/   (props changed)
  projects/sendfile/sbin/   (props changed)
  projects/sendfile/share/man/man4/   (props changed)
  projects/sendfile/sys/   (props changed)
  projects/sendfile/sys/amd64/vmm/   (props changed)
  projects/sendfile/sys/boot/   (props changed)
  projects/sendfile/sys/conf/   (props changed)

Modified: projects/sendfile/Makefile.inc1
==============================================================================
--- projects/sendfile/Makefile.inc1	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/Makefile.inc1	Sun Dec  1 14:03:03 2013	(r258795)
@@ -1505,7 +1505,7 @@ _prebuild_libs=	${_kerberos5_lib_libasn1
 		lib/libradius lib/libsbuf lib/libtacplus \
 		${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \
 		${_cddl_lib_libzfs_core} \
-		lib/libutil ${_lib_libypclnt} lib/libz lib/msun \
+		lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \
 		${_secure_lib_libcrypto} ${_lib_libldns} \
 		${_secure_lib_libssh} ${_secure_lib_libssl}
 
@@ -1521,6 +1521,8 @@ _lib_libthr=	lib/libthr
 _ofed_lib=	contrib/ofed/usr.lib/
 .endif
 
+lib/libpjdlog__L: lib/libutil__L
+
 _generic_libs=	${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib ${_ofed_lib}
 .for _DIR in ${LOCAL_LIB_DIRS}
 .if exists(${.CURDIR}/${_DIR}/Makefile)

Modified: projects/sendfile/bin/sh/cd.c
==============================================================================
--- projects/sendfile/bin/sh/cd.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/bin/sh/cd.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -182,6 +182,7 @@ cdlogical(char *dest)
 	struct stat statb;
 	int first;
 	int badstat;
+	size_t len;
 
 	/*
 	 *  Check each component of the path. If we find a symlink or
@@ -189,8 +190,9 @@ cdlogical(char *dest)
 	 *  next time we get the value of the current directory.
 	 */
 	badstat = 0;
-	cdcomppath = stalloc(strlen(dest) + 1);
-	scopy(dest, cdcomppath);
+	len = strlen(dest);
+	cdcomppath = stalloc(len + 1);
+	memcpy(cdcomppath, dest, len + 1);
 	STARTSTACKSTR(p);
 	if (*dest == '/') {
 		STPUTC('/', p);
@@ -275,6 +277,7 @@ findcwd(char *dir)
 {
 	char *new;
 	char *p;
+	size_t len;
 
 	/*
 	 * If our argument is NULL, we don't know the current directory
@@ -283,8 +286,9 @@ findcwd(char *dir)
 	 */
 	if (dir == NULL || curdir == NULL)
 		return getpwd2();
-	cdcomppath = stalloc(strlen(dir) + 1);
-	scopy(dir, cdcomppath);
+	len = strlen(dir);
+	cdcomppath = stalloc(len + 1);
+	memcpy(cdcomppath, dir, len + 1);
 	STARTSTACKSTR(new);
 	if (*dir != '/') {
 		STPUTS(curdir, new);

Modified: projects/sendfile/bin/sh/exec.c
==============================================================================
--- projects/sendfile/bin/sh/exec.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/bin/sh/exec.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -187,14 +187,15 @@ padvance(const char **path, const char *
 {
 	const char *p, *start;
 	char *q;
-	size_t len;
+	size_t len, namelen;
 
 	if (*path == NULL)
 		return NULL;
 	start = *path;
 	for (p = start; *p && *p != ':' && *p != '%'; p++)
 		; /* nothing */
-	len = p - start + strlen(name) + 2;	/* "2" is for '/' and '\0' */
+	namelen = strlen(name);
+	len = p - start + namelen + 2;	/* "2" is for '/' and '\0' */
 	STARTSTACKSTR(q);
 	CHECKSTRSPACE(len, q);
 	if (p != start) {
@@ -202,7 +203,7 @@ padvance(const char **path, const char *
 		q += p - start;
 		*q++ = '/';
 	}
-	strcpy(q, name);
+	memcpy(q, name, namelen + 1);
 	pathopt = NULL;
 	if (*p == '%') {
 		pathopt = ++p;
@@ -527,6 +528,7 @@ cmdlookup(const char *name, int add)
 	const char *p;
 	struct tblentry *cmdp;
 	struct tblentry **pp;
+	size_t len;
 
 	p = name;
 	hashval = *p << 4;
@@ -541,11 +543,11 @@ cmdlookup(const char *name, int add)
 	}
 	if (add && cmdp == NULL) {
 		INTOFF;
-		cmdp = *pp = ckmalloc(sizeof (struct tblentry)
-					+ strlen(name) + 1);
+		len = strlen(name);
+		cmdp = *pp = ckmalloc(sizeof (struct tblentry) + len + 1);
 		cmdp->next = NULL;
 		cmdp->cmdtype = CMDUNKNOWN;
-		strcpy(cmdp->cmdname, name);
+		memcpy(cmdp->cmdname, name, len + 1);
 		INTON;
 	}
 	lastcmdentry = pp;

Modified: projects/sendfile/bin/sh/expand.c
==============================================================================
--- projects/sendfile/bin/sh/expand.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/bin/sh/expand.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -1307,9 +1307,11 @@ addfname(char *name)
 {
 	char *p;
 	struct strlist *sp;
+	size_t len;
 
-	p = stalloc(strlen(name) + 1);
-	scopy(name, p);
+	len = strlen(name);
+	p = stalloc(len + 1);
+	memcpy(p, name, len + 1);
 	sp = (struct strlist *)stalloc(sizeof *sp);
 	sp->text = p;
 	*exparg.lastp = sp;

Modified: projects/sendfile/bin/sh/memalloc.c
==============================================================================
--- projects/sendfile/bin/sh/memalloc.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/bin/sh/memalloc.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -98,9 +98,11 @@ char *
 savestr(const char *s)
 {
 	char *p;
+	size_t len;
 
-	p = ckmalloc(strlen(s) + 1);
-	scopy(s, p);
+	len = strlen(s);
+	p = ckmalloc(len + 1);
+	memcpy(p, s, len + 1);
 	return p;
 }
 

Modified: projects/sendfile/bin/sh/mystring.c
==============================================================================
--- projects/sendfile/bin/sh/mystring.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/bin/sh/mystring.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$");
  * String functions.
  *
  *	equal(s1, s2)		Return true if strings are equal.
- *	scopy(from, to)		Copy a string.
  *	number(s)		Convert a string of digits to an integer.
  *	is_number(s)		Return true if s is a string of digits.
  */
@@ -60,10 +59,6 @@ char nullstr[1];		/* zero length string 
  * equal - #defined in mystring.h
  */
 
-/*
- * scopy - #defined in mystring.h
- */
-
 
 /*
  * prefix -- see if pfx is a prefix of string.

Modified: projects/sendfile/bin/sh/mystring.h
==============================================================================
--- projects/sendfile/bin/sh/mystring.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/bin/sh/mystring.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -40,4 +40,3 @@ int number(const char *);
 int is_number(const char *);
 
 #define equal(s1, s2)	(strcmp(s1, s2) == 0)
-#define scopy(s1, s2)	((void)strcpy(s2, s1))

Modified: projects/sendfile/bin/sh/show.c
==============================================================================
--- projects/sendfile/bin/sh/show.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/bin/sh/show.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -390,11 +390,11 @@ opentrace(void)
 			else
 				p = "/tmp";
 		}
-		scopy(p, s);
+		strcpy(s, p);
 		strcat(s, "/trace");
 	}
 #else
-	scopy("./trace", s);
+	strcpy(s, "./trace");
 #endif /* not_this_way */
 	if ((tracefile = fopen(s, "a")) == NULL) {
 		fprintf(stderr, "Can't open %s: %s\n", s, strerror(errno));

Modified: projects/sendfile/bin/sh/var.c
==============================================================================
--- projects/sendfile/bin/sh/var.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/bin/sh/var.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -224,8 +224,9 @@ void
 setvar(const char *name, const char *val, int flags)
 {
 	const char *p;
-	int len;
-	int namelen;
+	size_t len;
+	size_t namelen;
+	size_t vallen;
 	char *nameeq;
 	int isbad;
 
@@ -244,18 +245,20 @@ setvar(const char *name, const char *val
 	}
 	namelen = p - name;
 	if (isbad)
-		error("%.*s: bad variable name", namelen, name);
+		error("%.*s: bad variable name", (int)namelen, name);
 	len = namelen + 2;		/* 2 is space for '=' and '\0' */
 	if (val == NULL) {
 		flags |= VUNSET;
+		vallen = 0;
 	} else {
-		len += strlen(val);
+		vallen = strlen(val);
+		len += vallen;
 	}
 	nameeq = ckmalloc(len);
 	memcpy(nameeq, name, namelen);
 	nameeq[namelen] = '=';
 	if (val)
-		scopy(val, nameeq + namelen + 1);
+		memcpy(nameeq + namelen + 1, val, vallen + 1);
 	else
 		nameeq[namelen + 1] = '\0';
 	setvareq(nameeq, flags);

Modified: projects/sendfile/lib/Makefile
==============================================================================
--- projects/sendfile/lib/Makefile	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/lib/Makefile	Sun Dec  1 14:03:03 2013	(r258795)
@@ -35,6 +35,8 @@ SUBDIR_ORDERED=	${_csu} \
 	libc_nonshared \
 	libbsm \
 	libauditd \
+	libutil \
+	libpjdlog \
 	libcompiler_rt \
 	libcrypt \
 	libelf \
@@ -49,7 +51,6 @@ SUBDIR_ORDERED=	${_csu} \
 	librpcsvc \
 	libsbuf \
 	libtacplus \
-	libutil \
 	${_libypclnt} \
 	${_libcxxrt} \
 	${_libcplusplus}

Modified: projects/sendfile/lib/libc/sparc64/fpu/fpu.c
==============================================================================
--- projects/sendfile/lib/libc/sparc64/fpu/fpu.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/lib/libc/sparc64/fpu/fpu.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -202,7 +202,7 @@ static const int opmask[] = {0, 0, 1, 3,
  * Implement a move operation for all supported operand types. The additional
  * nand and xor parameters will be applied to the upper 32 bit word of the
  * source operand. This allows to implement fabs and fneg (for fp operands
- * only!) using this functions, too, by passing (1 << 31) for one of the
+ * only!) using this functions, too, by passing (1U << 31) for one of the
  * parameters, and 0 for the other.
  */
 static void
@@ -358,10 +358,10 @@ __fpu_execute(struct utrapframe *uf, str
 		__fpu_mov(fe, type, rd, rs2, 0, 0);
 		return (0);
 	case FOP(INS2_FPop1, INSFP1_FNEG):
-		__fpu_mov(fe, type, rd, rs2, 0, (1 << 31));
+		__fpu_mov(fe, type, rd, rs2, 0, (1U << 31));
 		return (0);
 	case FOP(INS2_FPop1, INSFP1_FABS):
-		__fpu_mov(fe, type, rd, rs2, (1 << 31), 0);
+		__fpu_mov(fe, type, rd, rs2, (1U << 31), 0);
 		return (0);
 	case FOP(INS2_FPop1, INSFP1_FSQRT):
 		__fpu_explode(fe, &fe->fe_f1, type, rs2);

Modified: projects/sendfile/lib/libc/sparc64/fpu/fpu_sqrt.c
==============================================================================
--- projects/sendfile/lib/libc/sparc64/fpu/fpu_sqrt.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/lib/libc/sparc64/fpu/fpu_sqrt.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -257,7 +257,7 @@ __fpu_sqrt(fe)
 	 * double x correctly while doing the `known q=1.0'.
 	 *
 	 * We do this one mantissa-word at a time, as noted above, to
-	 * save work.  To avoid `(1 << 31) << 1', we also do the top bit
+	 * save work.  To avoid `(1U << 31) << 1', we also do the top bit
 	 * outside of each per-word loop.
 	 *
 	 * The calculation `t = y + bit' breaks down into `t0 = y0, ...,

Modified: projects/sendfile/lib/libc/sys/chmod.2
==============================================================================
--- projects/sendfile/lib/libc/sys/chmod.2	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/lib/libc/sys/chmod.2	Sun Dec  1 14:03:03 2013	(r258795)
@@ -28,7 +28,7 @@
 .\"     @(#)chmod.2	8.1 (Berkeley) 6/4/93
 .\" $FreeBSD$
 .\"
-.Dd April 10, 2008
+.Dd December 1, 2013
 .Dt CHMOD 2
 .Os
 .Sh NAME
@@ -139,21 +139,24 @@ defined in
 
 #define S_ISUID 0004000    /* set user id on execution */
 #define S_ISGID 0002000    /* set group id on execution */
-#ifndef __BSD_VISIBLE
-#define S_ISTXT 0001000    /* sticky bit */
-#endif
+#define S_ISVTX 0001000    /* sticky bit */
 .Ed
 .Pp
+The non-standard
+.Dv S_ISTXT
+is a synonym for
+.Dv S_ISVTX .
+.Pp
 The
 .Fx
 VM system totally ignores the sticky bit
-.Pq Dv ISTXT
+.Pq Dv S_ISVTX
 for executables.
 On UFS-based file systems (FFS, LFS) the sticky
 bit may only be set upon directories.
 .Pp
 If mode
-.Dv ISTXT
+.Dv S_ISVTX
 (the `sticky bit') is set on a directory,
 an unprivileged user may not delete or rename
 files of other users in that directory.
@@ -296,12 +299,15 @@ The
 system call is expected to conform to
 .St -p1003.1-90 ,
 except for the return of
-.Er EFTYPE
-and the use of
-.Dv S_ISTXT .
+.Er EFTYPE .
+The
+.Dv S_ISVTX
+bit on directories is expected to conform to
+.St -susv3 .
 The
 .Fn fchmodat
-system call follows The Open Group Extended API Set 2 specification.
+system call is expected to conform to
+.St -p1003.1-2008 .
 .Sh HISTORY
 The
 .Fn chmod

Modified: projects/sendfile/lib/libc/sys/pdfork.2
==============================================================================
--- projects/sendfile/lib/libc/sys/pdfork.2	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/lib/libc/sys/pdfork.2	Sun Dec  1 14:03:03 2013	(r258795)
@@ -125,12 +125,6 @@ is set; if the process is still alive an
 the last reference to the process descriptor, the process will be terminated
 with the signal
 .Dv SIGKILL .
-.Pp
-.Nm
-and associated functions depend on
-.Cd "options PROCDESC"
-described in
-.Xr procdesc 4 .
 .Sh RETURN VALUES
 .Fn pdfork
 returns a PID, 0 or -1, as

Modified: projects/sendfile/lib/libc/sys/wait.2
==============================================================================
--- projects/sendfile/lib/libc/sys/wait.2	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/lib/libc/sys/wait.2	Sun Dec  1 14:03:03 2013	(r258795)
@@ -48,7 +48,7 @@
 .Fn wait "int *status"
 .Ft pid_t
 .Fn waitpid "pid_t wpid" "int *status" "int options"
-.In sys/signal.h
+.In signal.h
 .Ft int
 .Fn waitid "idtype_t idtype" "id_t id" "siginfo_t *info" "int options"
 .In sys/time.h

Modified: projects/sendfile/lib/libc/xdr/xdr_rec.c
==============================================================================
--- projects/sendfile/lib/libc/xdr/xdr_rec.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/lib/libc/xdr/xdr_rec.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -106,7 +106,7 @@ static const struct  xdr_ops xdrrec_ops 
  * meet the needs of xdr and rpc based on tcp.
  */
 
-#define LAST_FRAG ((u_int32_t)(1 << 31))
+#define LAST_FRAG ((u_int32_t)(1U << 31))
 
 typedef struct rec_strm {
 	char *tcp_handle;

Modified: projects/sendfile/release/Makefile
==============================================================================
--- projects/sendfile/release/Makefile	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/release/Makefile	Sun Dec  1 14:03:03 2013	(r258795)
@@ -16,6 +16,7 @@
 #            (by default, the directory above this one) 
 #  PORTSDIR: location of ports tree to distribute (default: /usr/ports)
 #  DOCDIR:   location of doc tree (default: /usr/doc)
+#  NOPKG:    if set, do not distribute third-party packages
 #  NOPORTS:  if set, do not distribute ports tree
 #  NOSRC:    if set, do not distribute source tree
 #  NODOC:    if set, do not generate release documentation
@@ -212,7 +213,7 @@ packagesystem: base.txz kernel.txz ${EXT
 	touch ${.TARGET}
 
 pkg-stage:
-.if(exists(${.CURDIR}/${TARGET}/pkg-stage.conf))
+.if !defined(NOPKG) && exists(${.CURDIR}/${TARGET}/pkg-stage.conf)
 	sh ${.CURDIR}/scripts/pkg-stage.sh ${.CURDIR}/${TARGET}/pkg-stage.conf \
 		${REVISION}
 .endif

Modified: projects/sendfile/release/release.sh
==============================================================================
--- projects/sendfile/release/release.sh	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/release/release.sh	Sun Dec  1 14:03:03 2013	(r258795)
@@ -176,9 +176,9 @@ build_doc_ports() {
 	_OSVERSION=$(sysctl -n kern.osreldate)
 	if [ -d ${CHROOTDIR}/usr/doc ] && [ "x${NODOC}" = "x" ]; then
 		PBUILD_FLAGS="OSVERSION=${_OSVERSION} BATCH=yes"
-		PBUILD_FLAGS="${PBUILD_FLAGS} OPTIONS_UNSET='FOP IGOR'"
+		PBUILD_FLAGS="${PBUILD_FLAGS}"
 		chroot ${CHROOTDIR} make -C /usr/ports/textproc/docproj \
-			${PBUILD_FLAGS} install clean distclean
+			${PBUILD_FLAGS} OPTIONS_UNSET="FOP IGOR" install clean distclean
 	fi
 }
 

Modified: projects/sendfile/sbin/Makefile
==============================================================================
--- projects/sendfile/sbin/Makefile	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sbin/Makefile	Sun Dec  1 14:03:03 2013	(r258795)
@@ -72,7 +72,7 @@ SUBDIR=adjkerntz \
 	swapon \
 	sysctl \
 	tunefs \
-	umount \
+	umount
 
 .if ${MK_ATM} != "no"
 SUBDIR+=	atm

Modified: projects/sendfile/share/man/man4/capsicum.4
==============================================================================
--- projects/sendfile/share/man/man4/capsicum.4	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/share/man/man4/capsicum.4	Sun Dec  1 14:03:03 2013	(r258795)
@@ -35,7 +35,6 @@
 .Sh SYNOPSIS
 .Cd "options CAPABILITY_MODE"
 .Cd "options CAPABILITIES"
-.Cd "options PROCDESC"
 .Sh DESCRIPTION
 .Nm
 is a lightweight OS capability and sandbox framework implementing a hybrid

Modified: projects/sendfile/share/man/man4/procdesc.4
==============================================================================
--- projects/sendfile/share/man/man4/procdesc.4	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/share/man/man4/procdesc.4	Sun Dec  1 14:03:03 2013	(r258795)
@@ -35,8 +35,6 @@
 .Sh NAME
 .Nm procdesc
 .Nd process descriptor facility
-.Sh SYNOPSIS
-.Cd "options PROCDESC"
 .Sh DESCRIPTION
 .Nm
 is a file-descriptor-oriented interface to process signalling and control,

Modified: projects/sendfile/share/mk/bsd.libnames.mk
==============================================================================
--- projects/sendfile/share/mk/bsd.libnames.mk	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/share/mk/bsd.libnames.mk	Sun Dec  1 14:03:03 2013	(r258795)
@@ -127,6 +127,7 @@ MINUSLPAM+=	-lypclnt
 
 LIBPANEL?=	${DESTDIR}${LIBDIR}/libpanel.a
 LIBPCAP?=	${DESTDIR}${LIBDIR}/libpcap.a
+LIBPJDLOG?=	${DESTDIR}${LIBDIR}/libpjdlog.a
 LIBPMC?=	${DESTDIR}${LIBDIR}/libpmc.a
 LIBPROC?=	${DESTDIR}${LIBDIR}/libproc.a
 LIBPROCSTAT?=	${DESTDIR}${LIBDIR}/libprocstat.a

Modified: projects/sendfile/sys/amd64/conf/GENERIC
==============================================================================
--- projects/sendfile/sys/amd64/conf/GENERIC	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/amd64/conf/GENERIC	Sun Dec  1 14:03:03 2013	(r258795)
@@ -66,7 +66,6 @@ options 	HWPMC_HOOKS		# Necessary kernel
 options 	AUDIT			# Security event auditing
 options 	CAPABILITY_MODE		# Capsicum capability mode
 options 	CAPABILITIES		# Capsicum capabilities
-options 	PROCDESC		# Support for process descriptors
 options 	MAC			# TrustedBSD MAC Framework
 options 	KDTRACE_FRAME		# Ensure frames are compiled in
 options 	KDTRACE_HOOKS		# Kernel DTrace hooks

Modified: projects/sendfile/sys/amd64/pci/pci_cfgreg.c
==============================================================================
--- projects/sendfile/sys/amd64/pci/pci_cfgreg.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/amd64/pci/pci_cfgreg.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -184,7 +184,7 @@ pci_cfgenable(unsigned bus, unsigned slo
 	if (bus <= PCI_BUSMAX && slot <= PCI_SLOTMAX && func <= PCI_FUNCMAX &&
 	    (unsigned)reg <= PCI_REGMAX && bytes != 3 &&
 	    (unsigned)bytes <= 4 && (reg & (bytes - 1)) == 0) {
-		outl(CONF1_ADDR_PORT, (1 << 31) | (bus << 16) | (slot << 11) 
+		outl(CONF1_ADDR_PORT, (1U << 31) | (bus << 16) | (slot << 11) 
 		    | (func << 8) | (reg & ~0x03));
 		dataport = CONF1_DATA_PORT + (reg & 0x03);
 	}

Modified: projects/sendfile/sys/amd64/vmm/intel/vmcs.h
==============================================================================
--- projects/sendfile/sys/amd64/vmm/intel/vmcs.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/amd64/vmm/intel/vmcs.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -318,7 +318,7 @@ uint64_t vmcs_read(uint32_t encoding);
 /*
  * VMCS IDT-Vectoring information fields
  */
-#define	VMCS_IDT_VEC_VALID		(1 << 31)
+#define	VMCS_IDT_VEC_VALID		(1U << 31)
 #define	VMCS_IDT_VEC_ERRCODE_VALID	(1 << 11)
 
 /*

Modified: projects/sendfile/sys/amd64/vmm/intel/vmx_controls.h
==============================================================================
--- projects/sendfile/sys/amd64/vmm/intel/vmx_controls.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/amd64/vmm/intel/vmx_controls.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -56,7 +56,7 @@
 #define	PROCBASED_MSR_BITMAPS		(1 << 28)
 #define	PROCBASED_MONITOR_EXITING	(1 << 29)
 #define	PROCBASED_PAUSE_EXITING		(1 << 30)
-#define	PROCBASED_SECONDARY_CONTROLS	(1 << 31)
+#define	PROCBASED_SECONDARY_CONTROLS	(1U << 31)
 
 /* Secondary Processor-Based VM-Execution Controls */
 #define	PROCBASED2_VIRTUALIZE_APIC	(1 << 0)

Modified: projects/sendfile/sys/amd64/vmm/intel/vtd.c
==============================================================================
--- projects/sendfile/sys/amd64/vmm/intel/vtd.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/amd64/vmm/intel/vtd.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -73,11 +73,11 @@ struct vtdmap {
 
 #define	VTD_GCR_WBF		(1 << 27)
 #define	VTD_GCR_SRTP		(1 << 30)
-#define	VTD_GCR_TE		(1 << 31)
+#define	VTD_GCR_TE		(1U << 31)
 
 #define	VTD_GSR_WBFS		(1 << 27)
 #define	VTD_GSR_RTPS		(1 << 30)
-#define	VTD_GSR_TES		(1 << 31)
+#define	VTD_GSR_TES		(1U << 31)
 
 #define	VTD_CCR_ICC		(1UL << 63)	/* invalidate context cache */
 #define	VTD_CCR_CIRG_GLOBAL	(1UL << 61)	/* global invalidation */

Modified: projects/sendfile/sys/arm/arm/db_trace.c
==============================================================================
--- projects/sendfile/sys/arm/arm/db_trace.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/arm/db_trace.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -376,7 +376,7 @@ db_stack_trace_cmd(struct unwind_state *
 		index = db_find_index(state->start_pc);
 
 		if (index->insn != EXIDX_CANTUNWIND) {
-			if (index->insn & (1 << 31)) {
+			if (index->insn & (1U << 31)) {
 				/* The data is within the instruction */
 				state->insn = &index->insn;
 			} else {

Modified: projects/sendfile/sys/arm/arm/pl190.c
==============================================================================
--- projects/sendfile/sys/arm/arm/pl190.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/arm/pl190.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -113,7 +113,7 @@ pl190_intc_attach(device_t dev)
 	/* Disable all interrupts */
 	intc_vic_write_4(VICINTENCLEAR, 0xffffffff);
 	/* Enable INT31, SIC IRQ */
-	intc_vic_write_4(VICINTENABLE, (1 << 31));
+	intc_vic_write_4(VICINTENABLE, (1U << 31));
 
 	id = 0;
 	for (i = 3; i >= 0; i--) {

Modified: projects/sendfile/sys/arm/at91/if_macbvar.h
==============================================================================
--- projects/sendfile/sys/arm/at91/if_macbvar.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/at91/if_macbvar.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -18,7 +18,7 @@
 struct eth_tx_desc {
 	uint32_t		addr;
 	uint32_t		flags;
-#define TD_OWN		(1 << 31)
+#define TD_OWN		(1U << 31)
 #define TD_LAST		(1 << 15)
 #define	TD_WRAP_MASK		(1 << 30)
 };
@@ -30,7 +30,7 @@ struct eth_rx_desc {
 #define	RD_OWN			0x00000001
 
 	uint32_t		flags;
-#define RD_BROADCAST		(1 << 31)
+#define RD_BROADCAST		(1U << 31)
 #define RD_MULTICAST		(1 << 30)
 #define RD_UNICAST		(1 << 29)
 #define RD_EXTERNAL		(1 << 28)

Modified: projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_dma.c
==============================================================================
--- projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_dma.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_dma.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -74,7 +74,7 @@ __FBSDID("$FreeBSD$");
 #define		CS_WAITWRT		(1 << 28)
 #define		CS_DISDBG		(1 << 29)
 #define		CS_ABORT		(1 << 30)
-#define		CS_RESET		(1 << 31)
+#define		CS_RESET		(1U << 31)
 #define	BCM_DMA_CBADDR(n)	(0x100*(n) + 0x04)
 #define	BCM_DMA_INFO(n)		(0x100*(n) + 0x08)
 #define		INFO_INT_EN		(1 << 0)

Modified: projects/sendfile/sys/arm/econa/if_ece.c
==============================================================================
--- projects/sendfile/sys/arm/econa/if_ece.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/econa/if_ece.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -1243,7 +1243,7 @@ configure_cpu_port(struct ece_softc *sc)
 	/* SA learning Disable */
 	cpu_port_config |= (SA_LEARNING_DISABLE);
 	/* set data offset + 2 */
-	cpu_port_config &= ~(1 << 31);
+	cpu_port_config &= ~(1U << 31);
 
 	write_4(sc, CPU_PORT_CONFIG, cpu_port_config);
 

Modified: projects/sendfile/sys/arm/freescale/imx/imx6_anatopreg.h
==============================================================================
--- projects/sendfile/sys/arm/freescale/imx/imx6_anatopreg.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/freescale/imx/imx6_anatopreg.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -37,7 +37,7 @@
 #define	IMX6_ANALOG_CCM_PLL_USB1_SET			0x014
 #define	IMX6_ANALOG_CCM_PLL_USB1_CLR			0x018
 #define	IMX6_ANALOG_CCM_PLL_USB1_TOG			0x01C
-#define	   IMX6_ANALOG_CCM_PLL_USB_LOCK			  (1 << 31)
+#define	   IMX6_ANALOG_CCM_PLL_USB_LOCK			  (1U << 31)
 #define	   IMX6_ANALOG_CCM_PLL_USB_BYPASS		  (1 << 16)
 #define	   IMX6_ANALOG_CCM_PLL_USB_ENABLE		  (1 << 13)
 #define	   IMX6_ANALOG_CCM_PLL_USB_POWER		  (1 << 12)

Modified: projects/sendfile/sys/arm/freescale/imx/imx6_usbphy.c
==============================================================================
--- projects/sendfile/sys/arm/freescale/imx/imx6_usbphy.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/freescale/imx/imx6_usbphy.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -57,7 +57,7 @@ __FBSDID("$FreeBSD$");
 #define	CTRL_SET_REG			0x0034
 #define	CTRL_CLR_REG			0x0038
 #define	CTRL_TOGGLE_REG			0x003c
-#define	  CTRL_SFTRST			  (1 << 31)
+#define	  CTRL_SFTRST			  (1U << 31)
 #define	  CTRL_CLKGATE			  (1 << 30)
 #define	  CTRL_ENUTMILEVEL3		  (1 << 15)
 #define	  CTRL_ENUTMILEVEL2		  (1 << 14)

Modified: projects/sendfile/sys/arm/freescale/imx/imx_gptreg.h
==============================================================================
--- projects/sendfile/sys/arm/freescale/imx/imx_gptreg.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/freescale/imx/imx_gptreg.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -32,7 +32,7 @@
 /* Registers definition for Freescale i.MX515 Generic Periodic Timer */
 
 #define	IMX_GPT_CR	0x0000 /* Control Register          R/W */
-#define		GPT_CR_FO3		(1 << 31)
+#define		GPT_CR_FO3		(1U << 31)
 #define		GPT_CR_FO2		(1 << 30)
 #define		GPT_CR_FO1		(1 << 29)
 #define		GPT_CR_OM3_SHIFT	26

Modified: projects/sendfile/sys/arm/freescale/vybrid/vf_anadig.c
==============================================================================
--- projects/sendfile/sys/arm/freescale/vybrid/vf_anadig.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/freescale/vybrid/vf_anadig.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -90,7 +90,7 @@ __FBSDID("$FreeBSD$");
 #define	USB_LOOPBACK(n)			(0x1E0 + 0x60 * n)
 #define	USB_MISC(n)			(0x1F0 + 0x60 * n)
 
-#define	ANADIG_PLL_LOCKED	(1 << 31)
+#define	ANADIG_PLL_LOCKED	(1U << 31)
 #define	ENABLE_LINREG		(1 << 0)
 #define	EN_CLK_TO_UTMI		(1 << 30)
 

Modified: projects/sendfile/sys/arm/freescale/vybrid/vf_ccm.c
==============================================================================
--- projects/sendfile/sys/arm/freescale/vybrid/vf_ccm.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/freescale/vybrid/vf_ccm.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -79,7 +79,7 @@ __FBSDID("$FreeBSD$");
 #define	CCM_CPPDSR	0x88	/* PLL PFD Disable Status Register */
 #define	CCM_CCOWR	0x8C	/* CORE Wakeup Register */
 
-#define	PLL3_PFD4_EN	(1 << 31)
+#define	PLL3_PFD4_EN	(1U << 31)
 #define	PLL3_PFD3_EN	(1 << 30)
 #define	PLL3_PFD2_EN	(1 << 29)
 #define	PLL3_PFD1_EN	(1 << 28)

Modified: projects/sendfile/sys/arm/freescale/vybrid/vf_ehci.c
==============================================================================
--- projects/sendfile/sys/arm/freescale/vybrid/vf_ehci.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/freescale/vybrid/vf_ehci.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -105,7 +105,7 @@ __FBSDID("$FreeBSD$");
 #define	USBPHY_IP_CLR		0x98	/* PHY IP Block Register */
 #define	USBPHY_IP_TOG		0x9C	/* PHY IP Block Register */
 
-#define	USBPHY_CTRL_SFTRST	(1 << 31)
+#define	USBPHY_CTRL_SFTRST	(1U << 31)
 #define	USBPHY_CTRL_CLKGATE	(1 << 30)
 #define	USBPHY_DEBUG_CLKGATE	(1 << 30)
 

Modified: projects/sendfile/sys/arm/include/armreg.h
==============================================================================
--- projects/sendfile/sys/arm/include/armreg.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/include/armreg.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -360,7 +360,7 @@
 
 #define	CPU_CT_ARMV7		0x4
 /* ARM v7 Cache type definitions */
-#define	CPUV7_CT_CTYPE_WT	(1 << 31)
+#define	CPUV7_CT_CTYPE_WT	(1U << 31)
 #define	CPUV7_CT_CTYPE_WB	(1 << 30)
 #define	CPUV7_CT_CTYPE_RA	(1 << 29)
 #define	CPUV7_CT_CTYPE_WA	(1 << 28)

Modified: projects/sendfile/sys/arm/lpc/if_lpereg.h
==============================================================================
--- projects/sendfile/sys/arm/lpc/if_lpereg.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/lpc/if_lpereg.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -169,7 +169,7 @@ struct lpe_hwstatus {
 
 /* These are valid for both Rx and Tx descriptors */
 #define	LPE_HWDESC_SIZE_MASK	(1 << 10)
-#define	LPE_HWDESC_INTERRUPT	(1 << 31)
+#define	LPE_HWDESC_INTERRUPT	(1U << 31)
 
 /* These are valid for Tx descriptors */
 #define	LPE_HWDESC_LAST		(1 << 30)
@@ -186,7 +186,7 @@ struct lpe_hwstatus {
 #define	LPE_HWDESC_LATECOLL	(1 << 28)
 #define	LPE_HWDESC_UNDERRUN	(1 << 29)
 #define	LPE_HWDESC_TXNODESCR	(1 << 30)
-#define	LPE_HWDESC_ERROR	(1 << 31)
+#define	LPE_HWDESC_ERROR	(1U << 31)
 
 /* These are valid for Rx status descriptors */
 #define	LPE_HWDESC_CONTROL	(1 << 18)
@@ -202,7 +202,7 @@ struct lpe_hwstatus {
 #define	LPE_HWDESC_OVERRUN	(1 << 28)
 #define	LPE_HWDESC_RXNODESCR	(1 << 29)
 #define	LPE_HWDESC_LASTFLAG	(1 << 30)
-#define	LPE_HWDESC_ERROR	(1 << 31)
+#define	LPE_HWDESC_ERROR	(1U << 31)
 
 
 #endif	/* _ARM_LPC_IF_LPEREG_H */

Modified: projects/sendfile/sys/arm/lpc/lpcreg.h
==============================================================================
--- projects/sendfile/sys/arm/lpc/lpcreg.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/lpc/lpcreg.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -604,7 +604,7 @@
 #define	LPC_DMAC_CH_LLI			0x08
 #define	LPC_DMAC_CH_LLI_AHB1		(1 << 0)
 #define	LPC_DMAC_CH_CONTROL		0x0c
-#define	LPC_DMAC_CH_CONTROL_I		(1 << 31)
+#define	LPC_DMAC_CH_CONTROL_I		(1U << 31)
 #define	LPC_DMAC_CH_CONTROL_DI		(1 << 27)
 #define	LPC_DMAC_CH_CONTROL_SI		(1 << 26)
 #define	LPC_DMAC_CH_CONTROL_D		(1 << 25)

Modified: projects/sendfile/sys/arm/mv/mv_pci.c
==============================================================================
--- projects/sendfile/sys/arm/mv/mv_pci.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/mv/mv_pci.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -81,7 +81,7 @@ __FBSDID("$FreeBSD$");
 #define debugf(fmt, args...)
 #endif
 
-#define PCI_CFG_ENA		(1 << 31)
+#define PCI_CFG_ENA		(1U << 31)
 #define PCI_CFG_BUS(bus)	(((bus) & 0xff) << 16)
 #define PCI_CFG_DEV(dev)	(((dev) & 0x1f) << 11)
 #define PCI_CFG_FUN(fun)	(((fun) & 0x7) << 8)

Modified: projects/sendfile/sys/arm/samsung/exynos/ehci_exynos5.c
==============================================================================
--- projects/sendfile/sys/arm/samsung/exynos/ehci_exynos5.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/samsung/exynos/ehci_exynos5.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -82,7 +82,7 @@ __FBSDID("$FreeBSD$");
 #define	HOST_CTRL_SUSPEND	(1 << 4)
 #define	HOST_CTRL_RESET_LINK	(1 << 1)
 #define	HOST_CTRL_RESET_PHY	(1 << 0)
-#define	HOST_CTRL_RESET_PHY_ALL	(1 << 31)
+#define	HOST_CTRL_RESET_PHY_ALL	(1U << 31)
 
 /* Forward declarations */
 static int	exynos_ehci_attach(device_t dev);

Modified: projects/sendfile/sys/arm/xscale/i8134x/i81342reg.h
==============================================================================
--- projects/sendfile/sys/arm/xscale/i8134x/i81342reg.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/xscale/i8134x/i81342reg.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -83,7 +83,7 @@
 #define IOP34X_ADMA_PQTE	(1 << 18) /* P+Q Transfer Enable */
 #define IOP34X_ADMA_PTD		(1 << 19) /* P Transfer Disable */
 #define IOP34X_ADMA_ROE		(1 << 30) /* Relaxed Ordering Enable */
-#define IOP34X_ADMA_NSE		(1 << 31) /* No Snoop Enable */
+#define IOP34X_ADMA_NSE		(1U << 31) /* No Snoop Enable */
 
 #define IOP34X_PBBAR0		0x81588 /* PBI Base Address Register 0 */
 #define IOP34X_PBBAR0_ADDRMASK	0xfffff000
@@ -113,7 +113,7 @@
 #define SMC_SDBR		0x8180c /* Base Register */
 #define SMC_SDBR_BASEADDR	(1 << 27)
 #define SMC_SDBR_BASEADDR_MASK	((1 << 27) | (1 << 28) | (1 << 29) | (1 << 30) \
-    				| (1 << 31))
+    				| (1U << 31))
 #define SMC_SDUBR		0x81810 /* Upper Base Register */
 #define SMC_SBSR		0x81814 /* SDRAM Bank Size Register */
 #define SMC_SBSR_BANK_NB	(1 << 2) /* Number of DDR Banks
@@ -128,7 +128,7 @@
 					   0x01000 1GB
 					   */
 #define SMC_SBSR_BANK_SZ_MASK	((1 << 27) | (1 << 28) | (1 << 29) | (1 << 30) \
-    				| (1 << 31))
+    				| (1U << 31))
 
 
 /* Two possible addresses for ATUe depending on configuration. */
@@ -190,7 +190,7 @@
 #define ATU_CR_OUT_EN	(1 << 1)
 #define ATU_PCSR	0x0074 /* PCI Configuration and Status Register */
 #define PCIE_BUSNO(x)	((x & 0xff000000) >> 24)
-#define ATUX_CORE_RST	((1 << 30) | (1 << 31)) /* Core Processor Reset */
+#define ATUX_CORE_RST	((1 << 30) | (1U << 31)) /* Core Processor Reset */
 #define ATUX_P_RSTOUT	(1 << 21) /* Central Resource PCI Bus Reset */
 #define ATUE_CORE_RST	((1 << 9) | (1 << 8)) /* Core Processor Reset */
 #define ATU_ISR		0x0078 /* ATU Interrupt Status Register */
@@ -250,7 +250,7 @@
 #define ATU_OIOWTVR	0x0304 /* Outbound I/O Window Translate Value Reg */
 #define ATU_OUMBAR0	0x0308 /* Outbound Upper Memory Window base addr reg 0*/
 #define ATU_OUMBAR_FUNC	(28)
-#define ATU_OUMBAR_EN	(1 << 31)
+#define ATU_OUMBAR_EN	(1U << 31)
 #define ATU_OUMWTVR0	0x030c /* Outbound Upper 32bit Memory Window Translate Value Register 0 */
 #define ATU_OUMBAR1	0x0310 /* Outbound Upper Memory Window base addr reg1*/
 #define ATU_OUMWTVR1	0x0314 /* Outbound Upper 32bit Memory Window Translate Value Register 1 */

Modified: projects/sendfile/sys/arm/xscale/ixp425/ixp425reg.h
==============================================================================
--- projects/sendfile/sys/arm/xscale/ixp425/ixp425reg.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/arm/xscale/ixp425/ixp425reg.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -400,7 +400,7 @@
 #define EXP_CNFG0_PCI_HOST         (1 << 1)
 #define EXP_CNFG0_PCI_ARB          (1 << 2)
 #define EXP_CNFG0_PCI_66MHZ        (1 << 4)
-#define EXP_CNFG0_MEM_MAP          (1 << 31)
+#define EXP_CNFG0_MEM_MAP          (1U << 31)
 
 /* EXP_CNFG1 bits */
 #define EXP_CNFG1_SW_INT0          (1 << 0)

Modified: projects/sendfile/sys/boot/arm/at91/libat91/mci_device.h
==============================================================================
--- projects/sendfile/sys/boot/arm/at91/libat91/mci_device.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/boot/arm/at91/libat91/mci_device.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -306,7 +306,7 @@ typedef struct _AT91S_MciDevice
 #define AT91C_VDD_33_34					(1 << 21)
 #define AT91C_VDD_34_35					(1 << 22)
 #define AT91C_VDD_35_36					(1 << 23)
-#define AT91C_CARD_POWER_UP_BUSY		(1 << 31)
+#define AT91C_CARD_POWER_UP_BUSY		(1U << 31)
 
 #define AT91C_MMC_HOST_VOLTAGE_RANGE	(AT91C_VDD_27_28 | AT91C_VDD_28_29  | \
     AT91C_VDD_29_30 | AT91C_VDD_30_31 | AT91C_VDD_31_32 | AT91C_VDD_32_33)

Modified: projects/sendfile/sys/boot/i386/libfirewire/fwohci.h
==============================================================================
--- projects/sendfile/sys/boot/i386/libfirewire/fwohci.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/boot/i386/libfirewire/fwohci.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -76,7 +76,7 @@ void fwohci_poll(struct fwohci_softc *);
 #define	OHCI_CROMHDR		0x18
 #define OHCI_BUS_ID		0x1c
 #define	OHCI_BUS_OPT		0x20
-#define	OHCI_BUSIRMC		(1 << 31)
+#define	OHCI_BUSIRMC		(1U << 31)
 #define	OHCI_BUSCMC		(1 << 30)
 #define	OHCI_BUSISC		(1 << 29)
 #define	OHCI_BUSBMC		(1 << 28)
@@ -102,7 +102,7 @@ void fwohci_poll(struct fwohci_softc *);
 
 #define	OHCI_SID_BUF		0x64
 #define	OHCI_SID_CNT		0x68
-#define OHCI_SID_ERR		(1 << 31)
+#define OHCI_SID_ERR		(1U << 31)
 #define OHCI_SID_CNT_MASK	0xffc
 
 #define	OHCI_IT_STAT		0x90

Modified: projects/sendfile/sys/boot/i386/libfirewire/fwohcireg.h
==============================================================================
--- projects/sendfile/sys/boot/i386/libfirewire/fwohcireg.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/boot/i386/libfirewire/fwohcireg.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -239,7 +239,7 @@ struct ohci_registers {
 	fwohcireg_t	dummy1[3];	/* dummy 0x44-0x4c */
 	fwohcireg_t	hcc_cntl_set;	/* HCC control set 0x50 */
 	fwohcireg_t	hcc_cntl_clr;	/* HCC control clr 0x54 */
-#define	OHCI_HCC_BIBIV	(1 << 31)	/* BIBimage Valid */
+#define	OHCI_HCC_BIBIV	(1U << 31)	/* BIBimage Valid */
 #define	OHCI_HCC_BIGEND	(1 << 30)	/* noByteSwapData */
 #define	OHCI_HCC_PRPHY	(1 << 23)	/* programPhyEnable */
 #define	OHCI_HCC_PHYEN	(1 << 22)	/* aPhyEnhanceEnable */
@@ -278,7 +278,7 @@ struct ohci_registers {
 	fwohcireg_t	link_cntl_clr;	/* Chip control clear 0xe4*/
 #define FWOHCI_NODEID	0xe8
 	fwohcireg_t	node;		/* Node ID 0xe8 */
-#define	OHCI_NODE_VALID	(1 << 31)
+#define	OHCI_NODE_VALID	(1U << 31)
 #define	OHCI_NODE_ROOT	(1 << 30)
 
 #define	OHCI_ASYSRCBUS	1

Modified: projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c
==============================================================================
--- projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -83,6 +83,9 @@ __FBSDID("$FreeBSD$");
 #include <sys/msg.h>
 #include <sys/sem.h>
 #include <sys/shm.h>
+#include <sys/condvar.h>
+#include <sys/sf_buf.h>
+#include <sys/sf_sync.h>
 
 #ifdef INET
 #include <netinet/in.h>
@@ -1653,12 +1656,14 @@ freebsd32_do_sendfile(struct thread *td,
 	off_t offset;
 	int error;
 	off_t sbytes;
+	struct sendfile_sync *sfs;
 
 	offset = PAIR32TO64(off_t, uap->offset);
 	if (offset < 0)
 		return (EINVAL);
 
 	hdr_uio = trl_uio = NULL;
+	sfs = NULL;
 
 	if (uap->hdtr != NULL) {
 		error = copyin(uap->hdtr, &hdtr32, sizeof(hdtr32));
@@ -1692,8 +1697,21 @@ freebsd32_do_sendfile(struct thread *td,
 		goto out;
 	}
 
+	/*
+	 * If we need to wait for completion, initialise the sfsync
+	 * state here.
+	 */
+	if (uap->flags & SF_SYNC)
+		sfs = sf_sync_alloc(uap->flags & SF_SYNC);
+
 	error = fo_sendfile(fp, uap->s, hdr_uio, trl_uio, offset,
-	    uap->nbytes, &sbytes, uap->flags, compat ? SFK_COMPAT : 0, td);
+	    uap->nbytes, &sbytes, uap->flags, compat ? SFK_COMPAT : 0,
+	    sfs, td);
+	if (sfs != NULL) {
+		sf_sync_syscall_wait(sfs);
+		sf_sync_free(sfs);
+	}
+
 	fdrop(fp, td);
 	if (uap->sbytes != NULL)
 		copyout(&sbytes, uap->sbytes, sizeof(off_t));

Modified: projects/sendfile/sys/conf/NOTES
==============================================================================
--- projects/sendfile/sys/conf/NOTES	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/conf/NOTES	Sun Dec  1 14:03:03 2013	(r258795)
@@ -1167,9 +1167,6 @@ options 	MAC_TEST
 options 	CAPABILITIES	# fine-grained rights on file descriptors
 options 	CAPABILITY_MODE	# sandboxes with no global namespace access
 
-# Support for process descriptors
-options		PROCDESC
-
 
 #####################################################################
 # CLOCK OPTIONS

Modified: projects/sendfile/sys/conf/options
==============================================================================
--- projects/sendfile/sys/conf/options	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/conf/options	Sun Dec  1 14:03:03 2013	(r258795)
@@ -165,7 +165,6 @@ PPC_DEBUG	opt_ppc.h
 PPC_PROBE_CHIPSET	opt_ppc.h
 PPS_SYNC	opt_ntp.h
 PREEMPTION	opt_sched.h
-PROCDESC	opt_procdesc.h
 QUOTA
 SCHED_4BSD	opt_sched.h
 SCHED_STATS	opt_sched.h

Modified: projects/sendfile/sys/dev/aac/aacvar.h
==============================================================================
--- projects/sendfile/sys/dev/aac/aacvar.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/dev/aac/aacvar.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -412,7 +412,7 @@ struct aac_softc
 #define AAC_FLAGS_RAW_IO	(1 << 12)	/* Raw I/O interface */
 #define AAC_FLAGS_ARRAY_64BIT	(1 << 13)	/* 64-bit array size */
 #define	AAC_FLAGS_LBA_64BIT	(1 << 14)	/* 64-bit LBA support */
-#define	AAC_FLAGS_NOMSI		(1 << 31)	/* Broken MSI */
+#define	AAC_FLAGS_NOMSI		(1U << 31)	/* Broken MSI */
 
 	u_int32_t		supported_options;
 	u_int32_t		scsi_method_id;

Modified: projects/sendfile/sys/dev/acpica/acpi_video.c
==============================================================================
--- projects/sendfile/sys/dev/acpica/acpi_video.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/dev/acpica/acpi_video.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -132,7 +132,7 @@ static void	vo_set_device_state(ACPI_HAN
 #define	DOD_HEAD_ID_BITS	3
 #define	DOD_HEAD_ID_MASK \
 		(((1 << DOD_HEAD_ID_BITS) - 1) << DOD_HEAD_ID_SHIFT)
-#define	DOD_DEVID_SCHEME_STD	(1 << 31)
+#define	DOD_DEVID_SCHEME_STD	(1U << 31)
 
 /* _BCL related constants */
 #define	BCL_FULLPOWER		0
@@ -149,7 +149,7 @@ static void	vo_set_device_state(ACPI_HAN
 #define	DSS_INACTIVE		0
 #define	DSS_ACTIVE		(1 << 0)
 #define	DSS_SETNEXT		(1 << 30)
-#define	DSS_COMMIT		(1 << 31)
+#define	DSS_COMMIT		(1U << 31)
 
 static device_method_t acpi_video_methods[] = {
 	DEVMETHOD(device_identify, acpi_video_identify),

Modified: projects/sendfile/sys/dev/agp/agp_i810.c
==============================================================================
--- projects/sendfile/sys/dev/agp/agp_i810.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/dev/agp/agp_i810.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -2226,10 +2226,10 @@ agp_i830_chipset_flush(device_t dev)
 	sc = device_get_softc(dev);
 	pmap_invalidate_cache();
 	hic = bus_read_4(sc->sc_res[0], AGP_I830_HIC);
-	bus_write_4(sc->sc_res[0], AGP_I830_HIC, hic | (1 << 31));
+	bus_write_4(sc->sc_res[0], AGP_I830_HIC, hic | (1U << 31));
 	for (i = 0; i < 20000 /* 1 sec */; i++) {
 		hic = bus_read_4(sc->sc_res[0], AGP_I830_HIC);
-		if ((hic & (1 << 31)) == 0)
+		if ((hic & (1U << 31)) == 0)
 			break;
 		DELAY(50);
 	}

Modified: projects/sendfile/sys/dev/ahci/ahci.h
==============================================================================
--- projects/sendfile/sys/dev/ahci/ahci.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/dev/ahci/ahci.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -321,7 +321,7 @@ struct ahci_dma_prd {
     u_int32_t                   dbc;            /* 0 based */
 #define AHCI_PRD_MASK		0x003fffff      /* max 4MB */
 #define AHCI_PRD_MAX		(AHCI_PRD_MASK + 1)
-#define AHCI_PRD_IPC		(1 << 31)
+#define AHCI_PRD_IPC		(1U << 31)
 } __packed;
 
 struct ahci_cmd_tab {

Modified: projects/sendfile/sys/dev/bktr/bktr_core.c
==============================================================================
--- projects/sendfile/sys/dev/bktr/bktr_core.c	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/dev/bktr/bktr_core.c	Sun Dec  1 14:03:03 2013	(r258795)
@@ -2599,7 +2599,7 @@ dump_bt848( bktr_ptr_t bktr )
 #define BKTR_TEST_RISC_STATUS_BIT0 (1 << 28)
 #define BKTR_TEST_RISC_STATUS_BIT1 (1 << 29)
 #define BKTR_TEST_RISC_STATUS_BIT2 (1 << 30)
-#define BKTR_TEST_RISC_STATUS_BIT3 (1 << 31)
+#define BKTR_TEST_RISC_STATUS_BIT3 (1U << 31)
 
 static bool_t notclipped (bktr_reg_t * bktr, int x, int width) {
     int i;

Modified: projects/sendfile/sys/dev/cesa/cesa.h
==============================================================================
--- projects/sendfile/sys/dev/cesa/cesa.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/dev/cesa/cesa.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -297,8 +297,8 @@ struct cesa_chain_info {
 #define CESA_CSH_AES_KLEN_MASK		(3 << 24)
 
 #define CESA_CSHD_FRAG_FIRST		(1 << 30)
-#define CESA_CSHD_FRAG_LAST		(2 << 30)
-#define CESA_CSHD_FRAG_MIDDLE		(3 << 30)
+#define CESA_CSHD_FRAG_LAST		(2U << 30)
+#define CESA_CSHD_FRAG_MIDDLE		(3U << 30)
 
 /* CESA registers definitions */
 #define CESA_ICR			0xDE20

Modified: projects/sendfile/sys/dev/drm/i915_reg.h
==============================================================================
--- projects/sendfile/sys/dev/drm/i915_reg.h	Sun Dec  1 12:24:57 2013	(r258794)
+++ projects/sendfile/sys/dev/drm/i915_reg.h	Sun Dec  1 14:03:03 2013	(r258795)
@@ -349,7 +349,7 @@ __FBSDID("$FreeBSD$");
 #define   VGA1_PD_P1_MASK	(0x1f << 8)
 #define DPLL_A	0x06014
 #define DPLL_B	0x06018
-#define   DPLL_VCO_ENABLE		(1 << 31)
+#define   DPLL_VCO_ENABLE		(1U << 31)
 #define   DPLL_DVO_HIGH_SPEED		(1 << 30)
 #define   DPLL_SYNCLOCK_ENABLE		(1 << 29)
 #define   DPLL_VGA_MODE_DIS		(1 << 28)
@@ -653,7 +653,7 @@ __FBSDID("$FreeBSD$");
 /* SDVO port control */
 #define SDVOB			0x61140
 #define SDVOC			0x61160
-#define   SDVO_ENABLE		(1 << 31)
+#define   SDVO_ENABLE		(1U << 31)
 #define   SDVO_PIPE_B_SELECT	(1 << 30)
 #define   SDVO_STALL_SELECT	(1 << 29)
 #define   SDVO_INTERRUPT_ENABLE	(1 << 26)
@@ -690,7 +690,7 @@ __FBSDID("$FreeBSD$");

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

From owner-svn-src-projects@FreeBSD.ORG  Sun Dec  1 17:29:04 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id B46EC121;
 Sun,  1 Dec 2013 17:29:04 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9F3FE1108;
 Sun,  1 Dec 2013 17:29:04 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1HT4Et029959;
 Sun, 1 Dec 2013 17:29:04 GMT (envelope-from markm@svn.freebsd.org)
Received: (from markm@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1HT13E029926;
 Sun, 1 Dec 2013 17:29:01 GMT (envelope-from markm@svn.freebsd.org)
Message-Id: <201312011729.rB1HT13E029926@svn.freebsd.org>
From: Mark Murray <markm@FreeBSD.org>
Date: Sun, 1 Dec 2013 17:29:01 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258801 - in projects/random_number_generator/sys: conf
 dev/random
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Dec 2013 17:29:04 -0000

Author: markm
Date: Sun Dec  1 17:29:00 2013
New Revision: 258801
URL: http://svnweb.freebsd.org/changeset/base/258801

Log:
  This is now working! Fortuna too!
  
  * Fix use of mutexes (what was I smoking?)
  
  * Tidy up static vraibles; move around a bit (mutexes, sysctl stuff).
  
  * Add debugging code.
  
  Unit tests are now broken; I'll fix those in my Copious Free Time(tm).
  
  Testers and reviewers welcome.
  
  To follow:
  
  * More sysctls for instrumentation and control.
  
  * Final tidy-up pass (I'll throw lint at this too).

Modified:
  projects/random_number_generator/sys/conf/NOTES
  projects/random_number_generator/sys/conf/files
  projects/random_number_generator/sys/dev/random/dummy_rng.c
  projects/random_number_generator/sys/dev/random/fortuna.c
  projects/random_number_generator/sys/dev/random/fortuna.h
  projects/random_number_generator/sys/dev/random/ivy.c
  projects/random_number_generator/sys/dev/random/live_entropy_sources.c
  projects/random_number_generator/sys/dev/random/live_entropy_sources.h
  projects/random_number_generator/sys/dev/random/nehemiah.c
  projects/random_number_generator/sys/dev/random/random_adaptors.c
  projects/random_number_generator/sys/dev/random/random_adaptors.h
  projects/random_number_generator/sys/dev/random/random_harvestq.c
  projects/random_number_generator/sys/dev/random/randomdev.c
  projects/random_number_generator/sys/dev/random/randomdev.h
  projects/random_number_generator/sys/dev/random/randomdev_soft.c
  projects/random_number_generator/sys/dev/random/randomdev_soft.h
  projects/random_number_generator/sys/dev/random/yarrow.c
  projects/random_number_generator/sys/dev/random/yarrow.h

Modified: projects/random_number_generator/sys/conf/NOTES
==============================================================================
--- projects/random_number_generator/sys/conf/NOTES	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/conf/NOTES	Sun Dec  1 17:29:00 2013	(r258801)
@@ -2958,6 +2958,6 @@ options 	BROOKTREE_ALLOC_PAGES=(217*4+1)
 options 	MAXFILES=999
 
 # Random number generator
-options 	RANDOM_YARROW	# Yarrow RNG
-##options 	RANDOM_FORTUNA	# Fortuna RNG - not yet implemented
+options 	RANDOM_YARROW	# Yarrow RNG (Default)
+options 	RANDOM_FORTUNA	# Fortuna RNG
 options 	RANDOM_DEBUG	# Debugging messages

Modified: projects/random_number_generator/sys/conf/files
==============================================================================
--- projects/random_number_generator/sys/conf/files	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/conf/files	Sun Dec  1 17:29:00 2013	(r258801)
@@ -2049,6 +2049,7 @@ dev/random/live_entropy_sources.c	option
 dev/random/random_harvestq.c	optional random
 dev/random/randomdev_soft.c	optional random
 dev/random/yarrow.c		optional random
+dev/random/fortuna.c		optional random
 dev/random/hash.c		optional random
 dev/rc/rc.c			optional rc
 dev/re/if_re.c			optional re

Modified: projects/random_number_generator/sys/dev/random/dummy_rng.c
==============================================================================
--- projects/random_number_generator/sys/dev/random/dummy_rng.c	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/dummy_rng.c	Sun Dec  1 17:29:00 2013	(r258801)
@@ -57,9 +57,13 @@ dummy_random(void)
 
 /* ARGSUSED */
 static void
-dummy_random_init(struct mtx *mtx __unused)
+dummy_random_init(void)
 {
 
+#ifdef RANDOM_DEBUG
+	printf("random: %s\n", __func__);
+#endif
+
 	randomdev_init_reader(dummy_random_read_phony);
 }
 
@@ -79,12 +83,12 @@ dummy_random_init(struct mtx *mtx __unus
  * Caveat Emptor.
  */
 u_int
-dummy_random_read_phony(void *buf, u_int count)
+dummy_random_read_phony(uint8_t *buf, u_int count)
 {
 	/* If no entropy device is loaded, don't spam the console with warnings */
 	static int warned = 0;
 	u_long randval;
-	int size, i;
+	size_t size, i;
 
 	if (!warned) {
 		log(LOG_WARNING, "random device not loaded/active; using insecure pseudo-random number generator\n");
@@ -94,10 +98,10 @@ dummy_random_read_phony(void *buf, u_int
 	/* srandom() is called in kern/init_main.c:proc0_post() */
 
 	/* Fill buf[] with random(9) output */
-	for (i = 0; i < count; i+= (int)sizeof(u_long)) {
+	for (i = 0; i < count; i += sizeof(u_long)) {
 		randval = random();
 		size = MIN(count - i, sizeof(u_long));
-		memcpy(&((char *)buf)[i], &randval, (size_t)size);
+		memcpy(buf + i, &randval, (size_t)size);
 	}
 
 	return (count);

Modified: projects/random_number_generator/sys/dev/random/fortuna.c
==============================================================================
--- projects/random_number_generator/sys/dev/random/fortuna.c	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/fortuna.c	Sun Dec  1 17:29:00 2013	(r258801)
@@ -69,6 +69,13 @@ __FBSDID("$FreeBSD$");
 #include <dev/random/yarrow.h>
 #endif /* _KERNEL */
 
+#if !defined(RANDOM_YARROW) && !defined(RANDOM_FORTUNA)
+#define RANDOM_YARROW
+#elif defined(RANDOM_YARROW) && defined(RANDOM_FORTUNA)
+#error "Must define either RANDOM_YARROW or RANDOM_FORTUNA"
+#endif
+#if defined(RANDOM_FORTUNA)
+
 #define NPOOLS 32
 #define MINPOOLSIZE 64
 #define DEFPOOLSIZE 256
@@ -106,15 +113,15 @@ static struct fortuna_state {
 
 	/* Extras for the OS */
 
-	/* The reseed thread mutex */
-	mtx_t *reseed_mtx;
-
 #ifdef _KERNEL
 	/* For use when 'pacing' the reseeds */
 	sbintime_t lasttime;
 #endif
 } fortuna_state;
 
+/* The random_reseed_mtx mutex protects seeding and polling/blocking.  */
+static struct mtx random_reseed_mtx;
+
 static struct fortuna_start_cache {
 	uint8_t junk[PAGE_SIZE];
 	size_t length;
@@ -122,11 +129,12 @@ static struct fortuna_start_cache {
 } fortuna_start_cache;
 
 #ifdef _KERNEL
+static struct sysctl_ctx_list random_clist;
 RANDOM_CHECK_UINT(minpoolsize, MINPOOLSIZE, MAXPOOLSIZE);
 #endif
 
 void
-random_fortuna_init_alg(struct sysctl_ctx_list *clist, mtx_t *lock)
+random_fortuna_init_alg(void)
 {
 	int i;
 #ifdef _KERNEL
@@ -142,18 +150,18 @@ random_fortuna_init_alg(struct sysctl_ct
 	randomdev_hash_init(&fortuna_start_cache.hash);
 
 	/* Set up a lock for the reseed process */
-	fortuna_state.reseed_mtx = lock;
+	mtx_init(&random_reseed_mtx, "reseed mutex", NULL, MTX_DEF);
 
 #ifdef _KERNEL
 	/* Fortuna parameters. Do not adjust these unless you have
 	 * have a very good clue about what they do!
 	 */
-	random_fortuna_o = SYSCTL_ADD_NODE(clist,
+	random_fortuna_o = SYSCTL_ADD_NODE(&random_clist,
 		SYSCTL_STATIC_CHILDREN(_kern_random),
 		OID_AUTO, "fortuna", CTLFLAG_RW, 0,
 		"Fortuna Parameters");
 
-	SYSCTL_ADD_PROC(clist,
+	SYSCTL_ADD_PROC(&random_clist,
 		SYSCTL_CHILDREN(random_fortuna_o), OID_AUTO,
 		"minpoolsize", CTLTYPE_UINT|CTLFLAG_RW,
 		&fortuna_state.minpoolsize, DEFPOOLSIZE,
@@ -192,6 +200,7 @@ random_fortuna_deinit_alg(void)
 #ifdef RANDOM_DEBUG
 	printf("random: %s\n", __func__);
 #endif
+	mtx_destroy(&random_reseed_mtx);
 	memset((void *)(&fortuna_state), 0, sizeof(struct fortuna_state));
 }
 
@@ -203,7 +212,7 @@ random_fortuna_process_event(struct harv
 	u_int pl;
 
 	/* We must be locked for all this as plenty of state gets messed with */
-	mtx_lock(fortuna_state.reseed_mtx);
+	mtx_lock(&random_reseed_mtx);
 
 	/* Accumulate the event into the appropriate pool
 	 * where each event carries the destination information
@@ -217,7 +226,7 @@ random_fortuna_process_event(struct harv
 	fortuna_state.pool[pl].length = MIN(fortuna_state.pool[pl].length, MAXPOOLSIZE);
 
 	/* Done with state-messing */
-	mtx_unlock(fortuna_state.reseed_mtx);
+	mtx_unlock(&random_reseed_mtx);
 }
 
 /* F&S - Reseed() */
@@ -233,7 +242,7 @@ reseed(uint8_t *junk, u_int length)
 	printf("random: %s %d %u\n", __func__, (fortuna_state.counter.whole != 0ULL), length);
 #endif
 #ifdef _KERNEL
-	mtx_assert(fortuna_state.reseed_mtx, MA_OWNED);
+	mtx_assert(&random_reseed_mtx, MA_OWNED);
 #endif
 
 	/* F&S - temp = H(K|s) */
@@ -313,7 +322,7 @@ random_fortuna_read(uint8_t *buf, u_int 
 	u_int seedlength;
 
 	/* We must be locked for all this as plenty of state gets messed with */
-	mtx_lock(fortuna_state.reseed_mtx);
+	mtx_lock(&random_reseed_mtx);
 
 	/* if buf == NULL and bytecount == 0 then this is the pre-read. */
 	/* if buf == NULL and bytecount != 0 then this is the post-read; ignore. */
@@ -378,7 +387,7 @@ random_fortuna_read(uint8_t *buf, u_int 
 	else
 		random_fortuna_genrandom(buf, bytecount);
 
-	mtx_unlock(fortuna_state.reseed_mtx);
+	mtx_unlock(&random_reseed_mtx);
 }
 
 /* Internal function to hand external entropy to the PRNG */
@@ -390,7 +399,7 @@ random_fortuna_write(uint8_t *buf, u_int
 	uintmax_t timestamp;
 
 	/* We must be locked for all this as plenty of state gets messed with */
-	mtx_lock(fortuna_state.reseed_mtx);
+	mtx_lock(&random_reseed_mtx);
 
 	timestamp = get_cyclecount();
 	randomdev_hash_iterate(&fortuna_start_cache.hash, &timestamp, sizeof(timestamp));
@@ -415,7 +424,7 @@ random_fortuna_write(uint8_t *buf, u_int
 	reseed(fortuna_start_cache.junk, MIN(PAGE_SIZE, fortuna_start_cache.length));
 	memset((void *)(fortuna_start_cache.junk), 0, sizeof(fortuna_start_cache.junk));
 
-	mtx_unlock(fortuna_state.reseed_mtx);
+	mtx_unlock(&random_reseed_mtx);
 }
 
 void
@@ -431,3 +440,5 @@ random_fortuna_seeded(void)
 
 	return (fortuna_state.counter.whole != 0ULL);
 }
+
+#endif /* RANDOM_FORTUNA */

Modified: projects/random_number_generator/sys/dev/random/fortuna.h
==============================================================================
--- projects/random_number_generator/sys/dev/random/fortuna.h	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/fortuna.h	Sun Dec  1 17:29:00 2013	(r258801)
@@ -33,7 +33,7 @@
 typedef struct mtx mtx_t;
 #endif
 
-void random_fortuna_init_alg(struct sysctl_ctx_list *, mtx_t *);
+void random_fortuna_init_alg(void);
 void random_fortuna_deinit_alg(void);
 void random_fortuna_read(uint8_t *, u_int);
 void random_fortuna_write(uint8_t *, u_int);

Modified: projects/random_number_generator/sys/dev/random/ivy.c
==============================================================================
--- projects/random_number_generator/sys/dev/random/ivy.c	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/ivy.c	Sun Dec  1 17:29:00 2013	(r258801)
@@ -133,4 +133,4 @@ rdrand_modevent(module_t mod, int type, 
 
 DEV_MODULE(rdrand, rdrand_modevent, NULL);
 MODULE_VERSION(rdrand, 1);
-MODULE_DEPEND(rdrand, randomdev, 1, 1, 1);
+MODULE_DEPEND(rdrand, random_adaptors, 1, 1, 1);

Modified: projects/random_number_generator/sys/dev/random/live_entropy_sources.c
==============================================================================
--- projects/random_number_generator/sys/dev/random/live_entropy_sources.c	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/live_entropy_sources.c	Sun Dec  1 17:29:00 2013	(r258801)
@@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/libkern.h>
 #include <sys/lock.h>
 #include <sys/malloc.h>
+#include <sys/module.h>
 #include <sys/queue.h>
 #include <sys/random.h>
 #include <sys/sbuf.h>
@@ -169,8 +170,8 @@ live_entropy_sources_feed(void)
 	sx_sunlock(&les_lock);
 }
 
-static void
-live_entropy_sources_init(void *unused)
+void
+live_entropy_sources_init(void)
 {
 
 	SYSCTL_PROC(_kern_random, OID_AUTO, live_entropy_sources,
@@ -181,14 +182,9 @@ live_entropy_sources_init(void *unused)
 	sx_init(&les_lock, "live_entropy_sources");
 }
 
-static void
-live_entropy_sources_deinit(void *unused)
+void
+live_entropy_sources_deinit(void)
 {
 
 	sx_destroy(&les_lock);
 }
-
-SYSINIT(random_adaptors, SI_SUB_DRIVERS, SI_ORDER_FIRST,
-    live_entropy_sources_init, NULL);
-SYSUNINIT(random_adaptors, SI_SUB_DRIVERS, SI_ORDER_FIRST,
-    live_entropy_sources_deinit, NULL);

Modified: projects/random_number_generator/sys/dev/random/live_entropy_sources.h
==============================================================================
--- projects/random_number_generator/sys/dev/random/live_entropy_sources.h	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/live_entropy_sources.h	Sun Dec  1 17:29:00 2013	(r258801)
@@ -50,6 +50,8 @@ struct live_entropy_sources {
 
 extern struct mtx live_mtx;
 
+void live_entropy_sources_init(void);
+void live_entropy_sources_deinit(void);
 void live_entropy_source_register(struct live_entropy_source *);
 void live_entropy_source_deregister(struct live_entropy_source *);
 void live_entropy_sources_feed(void);

Modified: projects/random_number_generator/sys/dev/random/nehemiah.c
==============================================================================
--- projects/random_number_generator/sys/dev/random/nehemiah.c	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/nehemiah.c	Sun Dec  1 17:29:00 2013	(r258801)
@@ -157,4 +157,4 @@ nehemiah_modevent(module_t mod, int type
 
 DEV_MODULE(nehemiah, nehemiah_modevent, NULL);
 MODULE_VERSION(nehemiah, 1);
-MODULE_DEPEND(nehemiah, randomdev, 1, 1, 1);
+MODULE_DEPEND(nehemiah, random_adaptors, 1, 1, 1);

Modified: projects/random_number_generator/sys/dev/random/random_adaptors.c
==============================================================================
--- projects/random_number_generator/sys/dev/random/random_adaptors.c	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/random_adaptors.c	Sun Dec  1 17:29:00 2013	(r258801)
@@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/libkern.h>
 #include <sys/lock.h>
 #include <sys/malloc.h>
+#include <sys/module.h>
 #include <sys/mutex.h>
 #include <sys/poll.h>
 #include <sys/queue.h>
@@ -52,6 +53,7 @@ __FBSDID("$FreeBSD$");
 
 #include <dev/random/randomdev.h>
 #include <dev/random/random_adaptors.h>
+#include <dev/random/live_entropy_sources.h>
 
 /* The random_adaptors_lock protects random_adaptors_list and friends and random_adaptor.
  * We need a sleepable lock for uiomove/block/poll/sbuf/sysctl.
@@ -68,12 +70,6 @@ static struct mtx random_read_rate_mtx;
 static int random_adaptor_read_rate_cache;
 /* End of data items requiring random_readrate_mtx mutex protection */
 
-/* The random_reseed_mtx mutex protects seeding and polling/blocking.
- * This is passed into the software entropy hasher/processor.
- */
-static struct mtx random_reseed_mtx;
-/* End of data items requiring random_reseed_mtx mutex protection */
-
 static struct selinfo rsel;
 
 /* Utility routine to change active adaptor when the random_adaptors_list
@@ -147,7 +143,7 @@ random_adaptor_choose(void)
 #endif
 		if (random_adaptor_previous != NULL)
 			(random_adaptor_previous->ra_deinit)();
-		(random_adaptor->ra_init)(&random_reseed_mtx);
+		(random_adaptor->ra_init)();
 	}
 }
 
@@ -200,12 +196,14 @@ random_adaptor_read(struct cdev *dev __u
 	int c, error;
 	ssize_t nbytes;
 
+#ifdef RANDOM_DEBUG_VERBOSE
+	printf("random: %s %ld\n", __func__, uio->uio_resid);
+#endif
+
 	KASSERT(random_adaptor != NULL, ("No active random adaptor in %s", __func__));
 
 	sx_slock(&random_adaptors_lock);
 
-	mtx_lock(&random_reseed_mtx);
-
 	/* Let the entropy source do any pre-read setup. */
 	(random_adaptor->ra_read)(NULL, 0);
 
@@ -218,14 +216,12 @@ random_adaptor_read(struct cdev *dev __u
 		}
 
 		/* Sleep instead of going into a spin-frenzy */
-		msleep(&random_adaptor, &random_reseed_mtx, PUSER | PCATCH, "block", hz/10);
+		tsleep(&random_adaptor, PUSER | PCATCH, "block", hz/10);
 
 		/* keep tapping away at the pre-read until we seed/unblock. */
 		(random_adaptor->ra_read)(NULL, 0);
 	}
 
-	mtx_unlock(&random_reseed_mtx);
-
 	mtx_lock(&random_read_rate_mtx);
 
 	/* The read-rate stuff is a rough indication of the instantaneous read rate,
@@ -284,6 +280,10 @@ random_adaptor_write(struct cdev *dev __
 	int c, error = 0;
 	void *random_buf;
 
+#ifdef RANDOM_DEBUG
+	printf("random: %s %ld\n", __func__, uio->uio_resid);
+#endif
+
 	KASSERT(random_adaptor != NULL, ("No active random adaptor in %s", __func__));
 
 	sx_slock(&random_adaptors_lock);
@@ -291,11 +291,14 @@ random_adaptor_write(struct cdev *dev __
 	random_buf = (void *)malloc(PAGE_SIZE, M_ENTROPY, M_WAITOK);
 
 	while (uio->uio_resid > 0) {
-		c = MIN((int)uio->uio_resid, PAGE_SIZE);
+		c = MIN(uio->uio_resid, PAGE_SIZE);
 		error = uiomove(random_buf, c, uio);
 		if (error)
 			break;
 		(random_adaptor->ra_write)(random_buf, c);
+
+		/* Introduce an annoying delay to stop swamping */
+		tsleep(&random_adaptor, PUSER | PCATCH, "block", hz/10);
 	}
 
 	free(random_buf, M_ENTROPY);
@@ -310,17 +313,21 @@ int
 random_adaptor_poll(struct cdev *dev __unused, int events, struct thread *td __unused)
 {
 
+#ifdef RANDOM_DEBUG
+	printf("random: %s\n", __func__);
+#endif
+
 	KASSERT(random_adaptor != NULL, ("No active random adaptor in %s", __func__));
 
 	sx_slock(&random_adaptors_lock);
-	mtx_lock(&random_reseed_mtx);
+
 	if (events & (POLLIN | POLLRDNORM)) {
 		if (random_adaptor->ra_seeded())
 			events &= (POLLIN | POLLRDNORM);
 		else
 			selrecord(td, &rsel);
 	}
-	mtx_unlock(&random_reseed_mtx);
+
 	sx_sunlock(&random_adaptors_lock);
 
 	return (events);
@@ -331,8 +338,6 @@ void
 random_adaptor_unblock(void)
 {
 
-	mtx_assert(&random_reseed_mtx, MA_OWNED);
-
 	selwakeuppri(&rsel, PUSER);
 	wakeup(&random_adaptor);
 	printf("random: unblocking device.\n");
@@ -385,46 +390,53 @@ random_sysctl_active_adaptor_handler(SYS
 	return (error);
 }
 
-/* ARGSUSED */
-static void
-random_adaptors_init(void *unused __unused)
+void
+random_adaptors_init(void)
 {
 
+#ifdef RANDOM_DEBUG
+	printf("random: %s\n", __func__);
+#endif
+
 	SYSCTL_PROC(_kern_random, OID_AUTO, adaptors,
 	    CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE,
-	    NULL, 0, random_sysctl_adaptors_handler, "",
+	    NULL, 0, random_sysctl_adaptors_handler, "A",
 	    "Random Number Generator adaptors");
 
 	SYSCTL_PROC(_kern_random, OID_AUTO, active_adaptor,
 	    CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE,
-	    NULL, 0, random_sysctl_active_adaptor_handler, "",
+	    NULL, 0, random_sysctl_active_adaptor_handler, "A",
 	    "Active Random Number Generator Adaptor");
 
 	sx_init(&random_adaptors_lock, "random_adaptors");
 
-	mtx_init(&random_reseed_mtx, "reseed mutex", NULL, MTX_DEF);
+	mtx_init(&random_read_rate_mtx, "read rate mutex", NULL, MTX_DEF);
 
 	/* The dummy adaptor is not a module by itself, but part of the
 	 * randomdev module.
 	 */
 	random_adaptor_register("dummy", &randomdev_dummy);
+
+	live_entropy_sources_init();
 }
-SYSINIT(random_adaptors, SI_SUB_DRIVERS, SI_ORDER_FIRST,
-    random_adaptors_init, NULL);
 
-/* ARGSUSED */
-static void
-random_adaptors_deinit(void *unused __unused)
+void
+random_adaptors_deinit(void)
 {
+
+#ifdef RANDOM_DEBUG
+	printf("random: %s\n", __func__);
+#endif
+
+	live_entropy_sources_deinit();
+
 	/* Don't do this! Panic will surely follow! */
 	/* random_adaptor_deregister("dummy"); */
 
-	mtx_destroy(&random_reseed_mtx);
+	mtx_destroy(&random_read_rate_mtx);
 
 	sx_destroy(&random_adaptors_lock);
 }
-SYSUNINIT(random_adaptors, SI_SUB_DRIVERS, SI_ORDER_FIRST,
-    random_adaptors_deinit, NULL);
 
 /*
  * First seed.
@@ -459,9 +471,7 @@ random_adaptors_seed(void *unused __unus
 	KASSERT(random_adaptor != NULL, ("No active random adaptor in %s", __func__));
 
 	sx_slock(&random_adaptors_lock);
-	mtx_lock(&random_reseed_mtx);
 	random_adaptor->ra_reseed();
-	mtx_unlock(&random_reseed_mtx);
 	sx_sunlock(&random_adaptors_lock);
 
 	arc4rand(NULL, 0, 1);

Modified: projects/random_number_generator/sys/dev/random/random_adaptors.h
==============================================================================
--- projects/random_number_generator/sys/dev/random/random_adaptors.h	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/random_adaptors.h	Sun Dec  1 17:29:00 2013	(r258801)
@@ -31,7 +31,7 @@
 
 MALLOC_DECLARE(M_ENTROPY);
 
-typedef void random_adaptor_init_func_t(struct mtx *);
+typedef void random_adaptor_init_func_t(void);
 typedef void random_adaptor_deinit_func_t(void);
 typedef void random_adaptor_read_func_t(uint8_t *, u_int);
 typedef void random_adaptor_write_func_t(uint8_t *, u_int);
@@ -58,6 +58,9 @@ struct random_adaptors {
 /* Dummy "always-block" pseudo-device */
 extern struct random_adaptor randomdev_dummy;
 
+void random_adaptors_init(void);
+void random_adaptors_deinit(void);
+
 void random_adaptor_register(const char *, struct random_adaptor *);
 void random_adaptor_deregister(const char *);
 

Modified: projects/random_number_generator/sys/dev/random/random_harvestq.c
==============================================================================
--- projects/random_number_generator/sys/dev/random/random_harvestq.c	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/random_harvestq.c	Sun Dec  1 17:29:00 2013	(r258801)
@@ -90,7 +90,7 @@ void (*harvest_process_event)(struct har
 /* Allow the sysadmin to select the broad category of
  * entropy types to harvest.
  */
-static u_int harvest_source_mask = ((1<<RANDOM_ENVIRONMENTAL_END) - 1);
+static u_int harvest_source_mask = ((1U << RANDOM_ENVIRONMENTAL_END) - 1);
 
 /* Pool count is used by anything needing to know how many entropy
  * pools are currently being maintained.
@@ -172,7 +172,7 @@ random_harvestq_flush(void)
 }
 
 /* ARGSUSED */
-RANDOM_CHECK_UINT(harvestmask, 0, ((1<<RANDOM_ENVIRONMENTAL_END) - 1));
+RANDOM_CHECK_UINT(harvestmask, 0, ((1U << RANDOM_ENVIRONMENTAL_END) - 1));
 
 /* ARGSUSED */
 static int
@@ -184,8 +184,8 @@ random_print_harvestmask(SYSCTL_HANDLER_
 	error = sysctl_wire_old_buffer(req, 0);
 	if (error == 0) {
 		sbuf_new_for_sysctl(&sbuf, NULL, 128, req);
-		for (i = 31; i >= 0; i--)
-			sbuf_cat(&sbuf, (harvest_source_mask & (1<<i)) ? "1" : "0");
+		for (i = RANDOM_ENVIRONMENTAL_END - 1; i >= 0; i--)
+			sbuf_cat(&sbuf, (harvest_source_mask & (1U << i)) ? "1" : "0");
 		error = sbuf_finish(&sbuf);
 		sbuf_delete(&sbuf);
 	}
@@ -226,9 +226,10 @@ random_print_harvestmask_symbolic(SYSCTL
 	error = sysctl_wire_old_buffer(req, 0);
 	if (error == 0) {
 		sbuf_new_for_sysctl(&sbuf, NULL, 128, req);
-		for (i = ENTROPYSOURCE - 1; i >= 0; i--)
-			sbuf_cat(&sbuf, (i == ENTROPYSOURCE - 1) ? "" : ",");
-			sbuf_cat(&sbuf, (harvest_source_mask & (1<<i)) ? random_source_descr[i] : "");
+		for (i = RANDOM_ENVIRONMENTAL_END - 1; i >= 0; i--) {
+			sbuf_cat(&sbuf, (i == RANDOM_ENVIRONMENTAL_END - 1) ? "" : ",");
+			sbuf_cat(&sbuf, (harvest_source_mask & (1U << i)) ? random_source_descr[i] : "");
+		}
 		error = sbuf_finish(&sbuf);
 		sbuf_delete(&sbuf);
 	}
@@ -257,7 +258,7 @@ random_harvestq_init(void (*event_proces
 	SYSCTL_ADD_PROC(&random_clist,
 	    SYSCTL_CHILDREN(random_sys_o),
 	    OID_AUTO, "mask", CTLTYPE_UINT | CTLFLAG_RW,
-	    &harvest_source_mask, ((1<<RANDOM_ENVIRONMENTAL_END) - 1),
+	    &harvest_source_mask, ((1U << RANDOM_ENVIRONMENTAL_END) - 1),
 	    random_check_uint_harvestmask, "IU",
 	    "Entropy harvesting mask");
 
@@ -374,7 +375,7 @@ random_harvestq_internal(const void *ent
 	    ("random_harvest_internal: origin %d invalid\n", origin));
 
 	/* Mask out unwanted sources */
-	if (!(harvest_source_mask & (1<<origin)))
+	if (!(harvest_source_mask & (1U << origin)))
 		return;
 
 	/* Lockless check to avoid lock operations if queue is empty. */

Modified: projects/random_number_generator/sys/dev/random/randomdev.c
==============================================================================
--- projects/random_number_generator/sys/dev/random/randomdev.c	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/randomdev.c	Sun Dec  1 17:29:00 2013	(r258801)
@@ -135,12 +135,15 @@ randomdev_modevent(module_t mod __unused
 
 	switch (type) {
 	case MOD_LOAD:
+		printf("random: entropy device infrastructure driver\n");
 		random_dev = make_dev_credf(MAKEDEV_ETERNAL_KLD, &random_cdevsw,
 		    RANDOM_MINOR, NULL, UID_ROOT, GID_WHEEL, 0644, "random");
 		make_dev_alias(random_dev, "urandom"); /* compatibility */
+		random_adaptors_init();
 		break;
 
 	case MOD_UNLOAD:
+		random_adaptors_deinit();
 		destroy_dev(random_dev);
 		break;
 
@@ -156,8 +159,15 @@ randomdev_modevent(module_t mod __unused
 	return (error);
 }
 
-/* Order is SI_ORDER_MIDDLE */
-DEV_MODULE(randomdev, randomdev_modevent, NULL);
+#define	EARLY_2_DEV_MODULE(name, evh, arg)	\
+static moduledata_t name##_mod = {		\
+    #name,					\
+    evh,					\
+    arg						\
+};						\
+DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_SECOND)
+
+EARLY_2_DEV_MODULE(randomdev, randomdev_modevent, NULL);
 MODULE_VERSION(randomdev, 1);
 
 /* ================
@@ -212,11 +222,11 @@ random_harvest(const void *entropy, u_in
  */
 
 /* Hold the address of the routine which is actually called */
-static u_int (*read_func)(void *, u_int) = dummy_random_read_phony;
+static u_int (*read_func)(uint8_t *, u_int) = dummy_random_read_phony;
 
 /* Initialise the reader when/if it is loaded */
 void
-randomdev_init_reader(u_int (*reader)(void *, u_int))
+randomdev_init_reader(u_int (*reader)(uint8_t *, u_int))
 {
 
 	read_func = reader;

Modified: projects/random_number_generator/sys/dev/random/randomdev.h
==============================================================================
--- projects/random_number_generator/sys/dev/random/randomdev.h	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/randomdev.h	Sun Dec  1 17:29:00 2013	(r258801)
@@ -37,12 +37,12 @@ typedef void random_init_func_t(void);
 typedef void random_deinit_func_t(void);
 
 void randomdev_init_harvester(void (*)(const void *, u_int, u_int, enum random_entropy_source));
-void randomdev_init_reader(u_int (*)(void *, u_int));
+void randomdev_init_reader(u_int (*)(uint8_t *, u_int));
 void randomdev_deinit_harvester(void);
 void randomdev_deinit_reader(void);
 
 /* Stub/fake routines for when no entropy processor is loaded */
-extern u_int dummy_random_read_phony(void *, u_int);
+extern u_int dummy_random_read_phony(uint8_t *, u_int);
 
 /* kern.random sysctls */
 #ifdef SYSCTL_DECL	/* from sysctl.h */

Modified: projects/random_number_generator/sys/dev/random/randomdev_soft.c
==============================================================================
--- projects/random_number_generator/sys/dev/random/randomdev_soft.c	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/randomdev_soft.c	Sun Dec  1 17:29:00 2013	(r258801)
@@ -95,46 +95,16 @@ static struct random_adaptor random_soft
 	.ra_deinit = randomdev_deinit,
 };
 
-/* List for the dynamic sysctls */
-static struct sysctl_ctx_list random_clist;
-
-/* ARGSUSED */
-static int
-random_check_boolean(SYSCTL_HANDLER_ARGS)
-{
-	if (oidp->oid_arg1 != NULL && *(u_int *)(oidp->oid_arg1) != 0)
-		*(u_int *)(oidp->oid_arg1) = 1;
-	return (sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req));
-}
-
 void
-randomdev_init(struct mtx *mtx)
+randomdev_init(void)
 {
-	struct sysctl_oid *random_sys_o;
-
-#if defined(RANDOM_YARROW)
-	random_yarrow_init_alg(&random_clist, mtx);
-#endif
-#if defined(RANDOM_FORTUNA)
-	random_fortuna_init_alg(&random_clist, mtx);
-#endif
 
-	random_sys_o = SYSCTL_ADD_NODE(&random_clist,
-	    SYSCTL_STATIC_CHILDREN(_kern_random),
-	    OID_AUTO, "sys", CTLFLAG_RW, 0,
-	    "Entropy Device Parameters");
-
-	SYSCTL_ADD_PROC(&random_clist,
-	    SYSCTL_CHILDREN(random_sys_o),
-	    OID_AUTO, "seeded", CTLTYPE_INT | CTLFLAG_RD,
-	    &random_soft_processor.ra_seeded, 0, random_check_boolean, "I",
-	    "Seeded State");
-
-	/* Register the randomness processing routine */
 #if defined(RANDOM_YARROW)
+	random_yarrow_init_alg();
 	random_harvestq_init(random_yarrow_process_event, 2);
 #endif
 #if defined(RANDOM_FORTUNA)
+	random_fortuna_init_alg();
 	random_harvestq_init(random_fortuna_process_event, 32);
 #endif
 
@@ -154,8 +124,6 @@ randomdev_deinit(void)
 #if defined(RANDOM_FORTUNA)
 	random_fortuna_deinit_alg();
 #endif
-
-	sysctl_ctx_free(&random_clist);
 }
 
 /* ARGSUSED */
@@ -166,6 +134,7 @@ randomdev_soft_modevent(module_t mod __u
 
 	switch (type) {
 	case MOD_LOAD:
+		printf("random: SOFT: %s init()\n", RANDOM_CSPRNG_NAME);
 		random_adaptor_register(RANDOM_CSPRNG_NAME, &random_soft_processor);
 		break;
 
@@ -184,21 +153,21 @@ randomdev_soft_modevent(module_t mod __u
 	return (error);
 }
 
-#define	EARLY_DEV_MODULE(name, evh, arg)					\
-static moduledata_t name##_mod = {					\
-    #name,								\
-    evh,								\
-    arg									\
-};									\
-DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_SECOND)
+#define	MID_DEV_MODULE(name, evh, arg)	\
+static moduledata_t name##_mod = {		\
+    #name,					\
+    evh,					\
+    arg						\
+};						\
+DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_MIDDLE)
 
 #if defined(RANDOM_YARROW)
-EARLY_DEV_MODULE(yarrow, randomdev_soft_modevent, NULL);
+MID_DEV_MODULE(yarrow, randomdev_soft_modevent, NULL);
 MODULE_VERSION(yarrow, 1);
-MODULE_DEPEND(yarrow, randomdev, 1, 1, 1);
+MODULE_DEPEND(yarrow, random_adaptors, 1, 1, 1);
 #endif
 #if defined(RANDOM_FORTUNA)
-EARLY_DEV_MODULE(fortuna, randomdev_soft_modevent, NULL);
+MID_DEV_MODULE(fortuna, randomdev_soft_modevent, NULL);
 MODULE_VERSION(fortuna, 1);
-MODULE_DEPEND(fortuna, randomdev, 1, 1, 1);
+MODULE_DEPEND(fortuna, random_adaptors, 1, 1, 1);
 #endif

Modified: projects/random_number_generator/sys/dev/random/randomdev_soft.h
==============================================================================
--- projects/random_number_generator/sys/dev/random/randomdev_soft.h	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/randomdev_soft.h	Sun Dec  1 17:29:00 2013	(r258801)
@@ -33,9 +33,7 @@
  * specific to the entropy processor
  */
 
-void randomdev_init(struct mtx *);
+void randomdev_init(void);
 void randomdev_deinit(void);
 
-extern struct mtx random_reseed_mtx;
-
 #endif

Modified: projects/random_number_generator/sys/dev/random/yarrow.c
==============================================================================
--- projects/random_number_generator/sys/dev/random/yarrow.c	Sun Dec  1 17:28:28 2013	(r258800)
+++ projects/random_number_generator/sys/dev/random/yarrow.c	Sun Dec  1 17:29:00 2013	(r258801)
@@ -69,6 +69,13 @@ __FBSDID("$FreeBSD$");
 #include <dev/random/yarrow.h>
 #endif /* _KERNEL */
 
+#if !defined(RANDOM_YARROW) && !defined(RANDOM_FORTUNA)
+#define RANDOM_YARROW
+#elif defined(RANDOM_YARROW) && defined(RANDOM_FORTUNA)
+#error "Must define either RANDOM_YARROW or RANDOM_FORTUNA"
+#endif
+#if defined(RANDOM_YARROW)
+
 #define TIMEBIN		16	/* max value for Pt/t */
 
 #define FAST		0
@@ -99,17 +106,19 @@ static struct yarrow_state {
 		u_int thresh;		/* pool reseed threshhold */
 		struct randomdev_hash hash;	/* accumulated entropy */
 	} pool[2];			/* pool[0] is fast, pool[1] is slow */
-	mtx_t *reseed_mtx;		/* The reseed thread mutex */
 	int seeded;
+
+	struct start_cache {
+		uint8_t junk[KEYSIZE];
+		struct randomdev_hash hash;
+	} start_cache;
 } yarrow_state;
 
-static struct yarrow_start_cache {
-	uint8_t junk[PAGE_SIZE];
-	size_t length;
-	struct randomdev_hash hash;
-} yarrow_start_cache;
+/* The random_reseed_mtx mutex protects seeding and polling/blocking.  */
+static struct mtx random_reseed_mtx;
 
 #ifdef _KERNEL
+static struct sysctl_ctx_list random_clist;
 RANDOM_CHECK_UINT(gengateinterval, 4, 64);
 RANDOM_CHECK_UINT(bins, 2, 16);
 RANDOM_CHECK_UINT(fastthresh, (BLOCKSIZE*8)/4, (BLOCKSIZE*8)); /* Bit counts */
@@ -123,7 +132,7 @@ static void generator_gate(void);
 static void reseed(u_int);
 
 void
-random_yarrow_init_alg(struct sysctl_ctx_list *clist, mtx_t *mtx)
+random_yarrow_init_alg(void)
 {
 	int i, j;
 #ifdef _KERNEL
@@ -134,12 +143,11 @@ random_yarrow_init_alg(struct sysctl_ctx
 	printf("random: %s\n", __func__);
 #endif
 
-	memset((void *)(yarrow_start_cache.junk), 0, PAGE_SIZE);
-	yarrow_start_cache.length = 0U;
-	randomdev_hash_init(&yarrow_start_cache.hash);
+	memset((void *)(yarrow_state.start_cache.junk), 0, KEYSIZE);
+	randomdev_hash_init(&yarrow_state.start_cache.hash);
 
 	/* Set up the lock for the reseed/gate state */
-	yarrow_state.reseed_mtx = mtx;
+	mtx_init(&random_reseed_mtx, "reseed mutex", NULL, MTX_DEF);
 
 	/* Start unseeded, therefore blocked. */
 	yarrow_state.seeded = 0;
@@ -148,40 +156,40 @@ random_yarrow_init_alg(struct sysctl_ctx
 	/* Yarrow parameters. Do not adjust these unless you have
 	 * have a very good clue about what they do!
 	 */
-	random_yarrow_o = SYSCTL_ADD_NODE(clist,
+	random_yarrow_o = SYSCTL_ADD_NODE(&random_clist,
 		SYSCTL_STATIC_CHILDREN(_kern_random),
 		OID_AUTO, "yarrow", CTLFLAG_RW, 0,
 		"Yarrow Parameters");
 
-	SYSCTL_ADD_PROC(clist,
+	SYSCTL_ADD_PROC(&random_clist,
 		SYSCTL_CHILDREN(random_yarrow_o), OID_AUTO,
 		"gengateinterval", CTLTYPE_INT|CTLFLAG_RW,
 		&yarrow_state.gengateinterval, 10,
 		random_check_uint_gengateinterval, "I",
 		"Generation gate interval");
 
-	SYSCTL_ADD_PROC(clist,
+	SYSCTL_ADD_PROC(&random_clist,
 		SYSCTL_CHILDREN(random_yarrow_o), OID_AUTO,
 		"bins", CTLTYPE_INT|CTLFLAG_RW,
 		&yarrow_state.bins, 10,
 		random_check_uint_bins, "I",
 		"Execution time tuner");
 
-	SYSCTL_ADD_PROC(clist,
+	SYSCTL_ADD_PROC(&random_clist,
 		SYSCTL_CHILDREN(random_yarrow_o), OID_AUTO,
 		"fastthresh", CTLTYPE_INT|CTLFLAG_RW,
 		&yarrow_state.pool[0].thresh, (3*(BLOCKSIZE*8))/4,
 		random_check_uint_fastthresh, "I",
 		"Fast reseed threshold");
 
-	SYSCTL_ADD_PROC(clist,
+	SYSCTL_ADD_PROC(&random_clist,
 		SYSCTL_CHILDREN(random_yarrow_o), OID_AUTO,
 		"slowthresh", CTLTYPE_INT|CTLFLAG_RW,
 		&yarrow_state.pool[1].thresh, (BLOCKSIZE*8),
 		random_check_uint_slowthresh, "I",
 		"Slow reseed threshold");
 
-	SYSCTL_ADD_PROC(clist,
+	SYSCTL_ADD_PROC(&random_clist,
 		SYSCTL_CHILDREN(random_yarrow_o), OID_AUTO,
 		"slowoverthresh", CTLTYPE_INT|CTLFLAG_RW,
 		&yarrow_state.slowoverthresh, 2,
@@ -195,6 +203,9 @@ random_yarrow_init_alg(struct sysctl_ctx
 	yarrow_state.pool[SLOW].thresh = (BLOCKSIZE*8);
 	yarrow_state.slowoverthresh = 2;
 
+	/* Ensure that the first time we read, we are gated. */
+	yarrow_state.outputblocks = yarrow_state.gengateinterval;
+
 	/* Initialise the fast and slow entropy pools */
 	for (i = FAST; i <= SLOW; i++) {
 		randomdev_hash_init(&yarrow_state.pool[i].hash);
@@ -213,7 +224,10 @@ random_yarrow_deinit_alg(void)
 #ifdef RANDOM_DEBUG
 	printf("random: %s\n", __func__);
 #endif
+	mtx_destroy(&random_reseed_mtx);
 	memset((void *)(&yarrow_state), 0, sizeof(struct yarrow_state));
+
+	sysctl_ctx_free(&random_clist);
 }
 
 static __inline void
@@ -223,7 +237,7 @@ random_yarrow_post_insert(void)
 	enum random_entropy_source src;
 
 #ifdef _KERNEL
-	mtx_assert(yarrow_state.reseed_mtx, MA_OWNED);
+	mtx_assert(&random_reseed_mtx, MA_OWNED);
 #endif
 	/* Count the over-threshold sources in each pool */
 	for (pl = 0; pl < 2; pl++) {
@@ -249,7 +263,7 @@ random_yarrow_process_event(struct harve
 {
 	u_int pl;
 
-	mtx_lock(yarrow_state.reseed_mtx);
+	mtx_lock(&random_reseed_mtx);
 
 	/* Accumulate the event into the appropriate pool
 	 * where each event carries the destination information.
@@ -262,12 +276,12 @@ random_yarrow_process_event(struct harve
 
 	random_yarrow_post_insert();
 
-	mtx_unlock(yarrow_state.reseed_mtx);
+	mtx_unlock(&random_reseed_mtx);
 }
 
-/* Process a block of raw stochastic data */
+/* Process a block of data suspected to be slightly stochastic */
 static void
-random_yarrow_process_buffer(uint8_t *buf, u_int length, enum random_entropy_source src, u_int bits)
+random_yarrow_process_buffer(uint8_t *buf, u_int length)
 {
 	static struct harvest_event event;
 	u_int i, pl;
@@ -277,20 +291,40 @@ random_yarrow_process_buffer(uint8_t *bu
 	 * We lock against pool state modification which can happen
 	 * during accumulation/reseeding and reading/regating
 	 */
-	memset(event.he_entropy + 4, 0, HARVESTSIZE - 4);
-	for (i = 0; i < (length + 3)/4; i++) {
+	memset(event.he_entropy + sizeof(uint32_t), 0, HARVESTSIZE - sizeof(uint32_t));
+	for (i = 0; i < length/sizeof(uint32_t); i++) {
 		event.he_somecounter = get_cyclecount();
-		event.he_bits = bits;
-		event.he_source = src;
-		event.he_destination = harvest_destination[src]++;
-		event.he_size = 4;
+		event.he_bits = 0; /* Fake */
+		event.he_source = RANDOM_CACHED;
+		event.he_destination = harvest_destination[RANDOM_CACHED]++;
+		event.he_size = sizeof(uint32_t);
 		*((uint32_t *)event.he_entropy) = *((uint32_t *)buf + i);
 
 		/* Do the actual entropy insertion */
 		pl = event.he_destination % 2;
 		randomdev_hash_iterate(&yarrow_state.pool[pl].hash, &event, sizeof(event));
-		yarrow_state.pool[pl].source[src].bits += bits;
+#ifdef DONT_DO_THIS_HERE
+		/* Don't do this here - do it in bulk at the end */
+		yarrow_state.pool[pl].source[RANDOM_CACHED].bits += bits;
+#endif
+#ifdef RANDOM_DEBUG_VERBOSE
+		printf("random: %s - ", __func__);
+		printf(" %jX", event.he_somecounter);
+		printf(" %u", event.he_bits);
+		printf(" %u", event.he_source);
+		printf(" %u", event.he_destination);
+		printf(" %u", event.he_size);
+		printf(" %X", *((uint32_t *)(&event.he_entropy)));
+		printf("\n");
+#endif
+
 	}
+#ifdef RANDOM_DEBUG_VERBOSE
+	printf("random: %s - ", __func__);
+	printf(" bit contribution magical guess is %u\n", length >> 4);
+#endif
+	for (pl = FAST; pl <= SLOW; pl++)
+		yarrow_state.pool[pl].source[RANDOM_CACHED].bits += (length >> 4);
 
 	random_yarrow_post_insert();
 }
@@ -312,7 +346,9 @@ reseed(u_int fastslow)
 	KASSERT(yarrow_state.pool[SLOW].thresh > 0, ("random: Yarrow slow threshold = 0"));
 
 #ifdef RANDOM_DEBUG
-	printf("random: %s - (%d) %s reseed\n", __func__, yarrow_state.seeded, (fastslow == FAST ? "FAST" : "SLOW"));
+#ifdef RANDOM_DEBUG_VERBOSE
+	printf("random: %s %s\n", __func__, (fastslow == FAST ? "FAST" : "SLOW"));
+#endif
 	if (!yarrow_state.seeded) {
 		printf("random: %s - fast - thresh %d,1 - ", __func__, yarrow_state.pool[FAST].thresh);
 		for (i = RANDOM_START; i < ENTROPYSOURCE; i++)
@@ -325,7 +361,7 @@ reseed(u_int fastslow)
 	}
 #endif
 #ifdef _KERNEL
-	mtx_assert(yarrow_state.reseed_mtx, MA_OWNED);

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

From owner-svn-src-projects@FreeBSD.ORG  Sun Dec  1 17:37:12 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 92BF4648;
 Sun,  1 Dec 2013 17:37:12 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 7B0AC117F;
 Sun,  1 Dec 2013 17:37:12 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1HbC4K033303;
 Sun, 1 Dec 2013 17:37:12 GMT (envelope-from markm@svn.freebsd.org)
Received: (from markm@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1Hb3Ek033163;
 Sun, 1 Dec 2013 17:37:03 GMT (envelope-from markm@svn.freebsd.org)
Message-Id: <201312011737.rB1Hb3Ek033163@svn.freebsd.org>
From: Mark Murray <markm@FreeBSD.org>
Date: Sun, 1 Dec 2013 17:37:03 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258803 - in projects/random_number_generator: . bin/sh
 bin/test lib lib/libc/sparc64/fpu lib/libc/sys lib/libc/xdr lib/libpjdlog
 release sbin share/mk sys/amd64/pci sys/amd64/vmm/intel...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Dec 2013 17:37:12 -0000

Author: markm
Date: Sun Dec  1 17:37:03 2013
New Revision: 258803
URL: http://svnweb.freebsd.org/changeset/base/258803

Log:
  MFC - tracking commit.

Added:
  projects/random_number_generator/lib/libpjdlog/
     - copied from r258802, head/lib/libpjdlog/
  projects/random_number_generator/sys/sys/sf_sync.h
     - copied unchanged from r258802, head/sys/sys/sf_sync.h
Modified:
  projects/random_number_generator/Makefile.inc1
  projects/random_number_generator/bin/sh/cd.c
  projects/random_number_generator/bin/sh/exec.c
  projects/random_number_generator/bin/sh/expand.c
  projects/random_number_generator/bin/sh/memalloc.c
  projects/random_number_generator/bin/sh/mystring.c
  projects/random_number_generator/bin/sh/mystring.h
  projects/random_number_generator/bin/sh/show.c
  projects/random_number_generator/bin/sh/var.c
  projects/random_number_generator/bin/test/test.c
  projects/random_number_generator/lib/Makefile
  projects/random_number_generator/lib/libc/sparc64/fpu/fpu.c
  projects/random_number_generator/lib/libc/sparc64/fpu/fpu_sqrt.c
  projects/random_number_generator/lib/libc/sys/chmod.2
  projects/random_number_generator/lib/libc/sys/wait.2
  projects/random_number_generator/lib/libc/xdr/xdr_rec.c
  projects/random_number_generator/release/Makefile
  projects/random_number_generator/release/release.sh
  projects/random_number_generator/sbin/Makefile
  projects/random_number_generator/share/mk/bsd.libnames.mk
  projects/random_number_generator/sys/amd64/pci/pci_cfgreg.c
  projects/random_number_generator/sys/amd64/vmm/intel/vmcs.h
  projects/random_number_generator/sys/amd64/vmm/intel/vmx_controls.h
  projects/random_number_generator/sys/amd64/vmm/intel/vtd.c
  projects/random_number_generator/sys/arm/arm/db_trace.c
  projects/random_number_generator/sys/arm/arm/pl190.c
  projects/random_number_generator/sys/arm/at91/if_macbvar.h
  projects/random_number_generator/sys/arm/broadcom/bcm2835/bcm2835_dma.c
  projects/random_number_generator/sys/arm/econa/if_ece.c
  projects/random_number_generator/sys/arm/freescale/imx/imx6_anatopreg.h
  projects/random_number_generator/sys/arm/freescale/imx/imx6_usbphy.c
  projects/random_number_generator/sys/arm/freescale/imx/imx_gptreg.h
  projects/random_number_generator/sys/arm/freescale/vybrid/vf_anadig.c
  projects/random_number_generator/sys/arm/freescale/vybrid/vf_ccm.c
  projects/random_number_generator/sys/arm/freescale/vybrid/vf_ehci.c
  projects/random_number_generator/sys/arm/include/armreg.h
  projects/random_number_generator/sys/arm/lpc/if_lpereg.h
  projects/random_number_generator/sys/arm/lpc/lpcreg.h
  projects/random_number_generator/sys/arm/mv/mv_pci.c
  projects/random_number_generator/sys/arm/samsung/exynos/ehci_exynos5.c
  projects/random_number_generator/sys/arm/xscale/i8134x/i81342reg.h
  projects/random_number_generator/sys/arm/xscale/ixp425/ixp425reg.h
  projects/random_number_generator/sys/boot/arm/at91/libat91/mci_device.h
  projects/random_number_generator/sys/boot/i386/libfirewire/fwohci.h
  projects/random_number_generator/sys/boot/i386/libfirewire/fwohcireg.h
  projects/random_number_generator/sys/compat/freebsd32/freebsd32_misc.c
  projects/random_number_generator/sys/conf/files.powerpc
  projects/random_number_generator/sys/dev/aac/aacvar.h
  projects/random_number_generator/sys/dev/acpica/acpi_video.c
  projects/random_number_generator/sys/dev/agp/agp_i810.c
  projects/random_number_generator/sys/dev/ahci/ahci.h
  projects/random_number_generator/sys/dev/bktr/bktr_core.c
  projects/random_number_generator/sys/dev/cesa/cesa.h
  projects/random_number_generator/sys/dev/drm/i915_reg.h
  projects/random_number_generator/sys/dev/drm/mach64_drv.h
  projects/random_number_generator/sys/dev/drm/mga_drv.h
  projects/random_number_generator/sys/dev/drm/r128_drv.h
  projects/random_number_generator/sys/dev/drm/r300_reg.h
  projects/random_number_generator/sys/dev/drm/r600_blit.c
  projects/random_number_generator/sys/dev/drm/radeon_cp.c
  projects/random_number_generator/sys/dev/drm/radeon_drv.h
  projects/random_number_generator/sys/dev/drm/via_irq.c
  projects/random_number_generator/sys/dev/drm2/i915/i915_reg.h
  projects/random_number_generator/sys/dev/drm2/radeon/evergreen_blit_kms.c
  projects/random_number_generator/sys/dev/drm2/radeon/evergreen_cs.c
  projects/random_number_generator/sys/dev/drm2/radeon/evergreend.h
  projects/random_number_generator/sys/dev/drm2/radeon/nid.h
  projects/random_number_generator/sys/dev/drm2/radeon/r200.c
  projects/random_number_generator/sys/dev/drm2/radeon/r300.c
  projects/random_number_generator/sys/dev/drm2/radeon/r300_reg.h
  projects/random_number_generator/sys/dev/drm2/radeon/r500_reg.h
  projects/random_number_generator/sys/dev/drm2/radeon/r600_blit.c
  projects/random_number_generator/sys/dev/drm2/radeon/r600_blit_kms.c
  projects/random_number_generator/sys/dev/drm2/radeon/r600_cs.c
  projects/random_number_generator/sys/dev/drm2/radeon/r600d.h
  projects/random_number_generator/sys/dev/drm2/radeon/radeon_cp.c
  projects/random_number_generator/sys/dev/drm2/radeon/radeon_drv.h
  projects/random_number_generator/sys/dev/drm2/radeon/radeon_reg.h
  projects/random_number_generator/sys/dev/drm2/radeon/rv770d.h
  projects/random_number_generator/sys/dev/drm2/radeon/sid.h
  projects/random_number_generator/sys/dev/drm2/ttm/ttm_bo.c
  projects/random_number_generator/sys/dev/e1000/e1000_82575.h
  projects/random_number_generator/sys/dev/e1000/e1000_ich8lan.c
  projects/random_number_generator/sys/dev/e1000/e1000_regs.h
  projects/random_number_generator/sys/dev/etherswitch/arswitch/arswitchreg.h
  projects/random_number_generator/sys/dev/ffec/if_ffecreg.h
  projects/random_number_generator/sys/dev/firewire/firewire.c
  projects/random_number_generator/sys/dev/firewire/fwohci.c
  projects/random_number_generator/sys/dev/firewire/fwohcireg.h
  projects/random_number_generator/sys/dev/firewire/sbp.c
  projects/random_number_generator/sys/dev/firewire/sbp.h
  projects/random_number_generator/sys/dev/firewire/sbp_targ.c
  projects/random_number_generator/sys/dev/hatm/if_hatmreg.h
  projects/random_number_generator/sys/dev/hwpmc/hwpmc_piv.h
  projects/random_number_generator/sys/dev/iscsi/iscsi.c
  projects/random_number_generator/sys/dev/iwn/if_iwnreg.h
  projects/random_number_generator/sys/dev/mge/if_mgevar.h
  projects/random_number_generator/sys/dev/mpt/mpt_cam.c
  projects/random_number_generator/sys/dev/msk/if_mskreg.h
  projects/random_number_generator/sys/dev/mvs/mvs.h
  projects/random_number_generator/sys/dev/mxge/mxge_mcp.h
  projects/random_number_generator/sys/dev/qlxge/qls_dump.c
  projects/random_number_generator/sys/dev/ral/rt2560reg.h
  projects/random_number_generator/sys/dev/ral/rt2661reg.h
  projects/random_number_generator/sys/dev/ral/rt2860reg.h
  projects/random_number_generator/sys/dev/sound/pci/hda/hdaa.h
  projects/random_number_generator/sys/dev/uart/uart_cpu_powerpc.c
  projects/random_number_generator/sys/dev/usb/controller/ehci.h
  projects/random_number_generator/sys/dev/usb/wlan/if_rumreg.h
  projects/random_number_generator/sys/dev/usb/wlan/if_runreg.h
  projects/random_number_generator/sys/dev/usb/wlan/if_uralreg.h
  projects/random_number_generator/sys/dev/usb/wlan/if_urtwreg.h
  projects/random_number_generator/sys/dev/usb/wlan/if_zydreg.h
  projects/random_number_generator/sys/dev/wpi/if_wpireg.h
  projects/random_number_generator/sys/geom/raid/tr_raid1e.c
  projects/random_number_generator/sys/i386/pci/pci_cfgreg.c
  projects/random_number_generator/sys/kern/kern_descrip.c
  projects/random_number_generator/sys/kern/uipc_syscalls.c
  projects/random_number_generator/sys/mips/atheros/ar71xxreg.h
  projects/random_number_generator/sys/mips/atheros/ar934xreg.h
  projects/random_number_generator/sys/mips/atheros/if_argevar.h
  projects/random_number_generator/sys/mips/malta/gt_pci.c
  projects/random_number_generator/sys/mips/nlm/dev/net/nae.c
  projects/random_number_generator/sys/mips/nlm/xlp_machdep.c
  projects/random_number_generator/sys/mips/rmi/pic.h
  projects/random_number_generator/sys/ofed/drivers/infiniband/hw/mlx4/qp.c
  projects/random_number_generator/sys/ofed/drivers/infiniband/hw/mthca/mthca_mcg.c
  projects/random_number_generator/sys/ofed/drivers/infiniband/hw/mthca/mthca_qp.c
  projects/random_number_generator/sys/ofed/drivers/net/mlx4/mcg.c
  projects/random_number_generator/sys/powerpc/aim/trap_subr32.S
  projects/random_number_generator/sys/powerpc/aim/trap_subr64.S
  projects/random_number_generator/sys/powerpc/fpu/fpu_emu.c
  projects/random_number_generator/sys/powerpc/fpu/fpu_sqrt.c
  projects/random_number_generator/sys/powerpc/ofw/ofw_machdep.c
  projects/random_number_generator/sys/powerpc/powermac/nvbl.c
  projects/random_number_generator/sys/powerpc/powerpc/copyinout.c
  projects/random_number_generator/sys/sys/consio.h
  projects/random_number_generator/sys/sys/file.h
  projects/random_number_generator/sys/ufs/ffs/ffs_softdep.c
  projects/random_number_generator/sys/x86/iommu/intel_reg.h
  projects/random_number_generator/usr.sbin/bluetooth/bthidd/kbd.c
  projects/random_number_generator/usr.sbin/bsdconfig/includes/includes
Directory Properties:
  projects/random_number_generator/   (props changed)
  projects/random_number_generator/lib/libc/   (props changed)
  projects/random_number_generator/sbin/   (props changed)
  projects/random_number_generator/sys/   (props changed)
  projects/random_number_generator/sys/amd64/vmm/   (props changed)
  projects/random_number_generator/sys/boot/   (props changed)
  projects/random_number_generator/sys/conf/   (props changed)

Modified: projects/random_number_generator/Makefile.inc1
==============================================================================
--- projects/random_number_generator/Makefile.inc1	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/Makefile.inc1	Sun Dec  1 17:37:03 2013	(r258803)
@@ -1505,7 +1505,7 @@ _prebuild_libs=	${_kerberos5_lib_libasn1
 		lib/libradius lib/libsbuf lib/libtacplus \
 		${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \
 		${_cddl_lib_libzfs_core} \
-		lib/libutil ${_lib_libypclnt} lib/libz lib/msun \
+		lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \
 		${_secure_lib_libcrypto} ${_lib_libldns} \
 		${_secure_lib_libssh} ${_secure_lib_libssl}
 
@@ -1521,6 +1521,8 @@ _lib_libthr=	lib/libthr
 _ofed_lib=	contrib/ofed/usr.lib/
 .endif
 
+lib/libpjdlog__L: lib/libutil__L
+
 _generic_libs=	${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib ${_ofed_lib}
 .for _DIR in ${LOCAL_LIB_DIRS}
 .if exists(${.CURDIR}/${_DIR}/Makefile)

Modified: projects/random_number_generator/bin/sh/cd.c
==============================================================================
--- projects/random_number_generator/bin/sh/cd.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/bin/sh/cd.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -182,6 +182,7 @@ cdlogical(char *dest)
 	struct stat statb;
 	int first;
 	int badstat;
+	size_t len;
 
 	/*
 	 *  Check each component of the path. If we find a symlink or
@@ -189,8 +190,9 @@ cdlogical(char *dest)
 	 *  next time we get the value of the current directory.
 	 */
 	badstat = 0;
-	cdcomppath = stalloc(strlen(dest) + 1);
-	scopy(dest, cdcomppath);
+	len = strlen(dest);
+	cdcomppath = stalloc(len + 1);
+	memcpy(cdcomppath, dest, len + 1);
 	STARTSTACKSTR(p);
 	if (*dest == '/') {
 		STPUTC('/', p);
@@ -275,6 +277,7 @@ findcwd(char *dir)
 {
 	char *new;
 	char *p;
+	size_t len;
 
 	/*
 	 * If our argument is NULL, we don't know the current directory
@@ -283,8 +286,9 @@ findcwd(char *dir)
 	 */
 	if (dir == NULL || curdir == NULL)
 		return getpwd2();
-	cdcomppath = stalloc(strlen(dir) + 1);
-	scopy(dir, cdcomppath);
+	len = strlen(dir);
+	cdcomppath = stalloc(len + 1);
+	memcpy(cdcomppath, dir, len + 1);
 	STARTSTACKSTR(new);
 	if (*dir != '/') {
 		STPUTS(curdir, new);

Modified: projects/random_number_generator/bin/sh/exec.c
==============================================================================
--- projects/random_number_generator/bin/sh/exec.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/bin/sh/exec.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -187,14 +187,15 @@ padvance(const char **path, const char *
 {
 	const char *p, *start;
 	char *q;
-	size_t len;
+	size_t len, namelen;
 
 	if (*path == NULL)
 		return NULL;
 	start = *path;
 	for (p = start; *p && *p != ':' && *p != '%'; p++)
 		; /* nothing */
-	len = p - start + strlen(name) + 2;	/* "2" is for '/' and '\0' */
+	namelen = strlen(name);
+	len = p - start + namelen + 2;	/* "2" is for '/' and '\0' */
 	STARTSTACKSTR(q);
 	CHECKSTRSPACE(len, q);
 	if (p != start) {
@@ -202,7 +203,7 @@ padvance(const char **path, const char *
 		q += p - start;
 		*q++ = '/';
 	}
-	strcpy(q, name);
+	memcpy(q, name, namelen + 1);
 	pathopt = NULL;
 	if (*p == '%') {
 		pathopt = ++p;
@@ -527,6 +528,7 @@ cmdlookup(const char *name, int add)
 	const char *p;
 	struct tblentry *cmdp;
 	struct tblentry **pp;
+	size_t len;
 
 	p = name;
 	hashval = *p << 4;
@@ -541,11 +543,11 @@ cmdlookup(const char *name, int add)
 	}
 	if (add && cmdp == NULL) {
 		INTOFF;
-		cmdp = *pp = ckmalloc(sizeof (struct tblentry)
-					+ strlen(name) + 1);
+		len = strlen(name);
+		cmdp = *pp = ckmalloc(sizeof (struct tblentry) + len + 1);
 		cmdp->next = NULL;
 		cmdp->cmdtype = CMDUNKNOWN;
-		strcpy(cmdp->cmdname, name);
+		memcpy(cmdp->cmdname, name, len + 1);
 		INTON;
 	}
 	lastcmdentry = pp;

Modified: projects/random_number_generator/bin/sh/expand.c
==============================================================================
--- projects/random_number_generator/bin/sh/expand.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/bin/sh/expand.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -1307,9 +1307,11 @@ addfname(char *name)
 {
 	char *p;
 	struct strlist *sp;
+	size_t len;
 
-	p = stalloc(strlen(name) + 1);
-	scopy(name, p);
+	len = strlen(name);
+	p = stalloc(len + 1);
+	memcpy(p, name, len + 1);
 	sp = (struct strlist *)stalloc(sizeof *sp);
 	sp->text = p;
 	*exparg.lastp = sp;

Modified: projects/random_number_generator/bin/sh/memalloc.c
==============================================================================
--- projects/random_number_generator/bin/sh/memalloc.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/bin/sh/memalloc.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -98,9 +98,11 @@ char *
 savestr(const char *s)
 {
 	char *p;
+	size_t len;
 
-	p = ckmalloc(strlen(s) + 1);
-	scopy(s, p);
+	len = strlen(s);
+	p = ckmalloc(len + 1);
+	memcpy(p, s, len + 1);
 	return p;
 }
 

Modified: projects/random_number_generator/bin/sh/mystring.c
==============================================================================
--- projects/random_number_generator/bin/sh/mystring.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/bin/sh/mystring.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$");
  * String functions.
  *
  *	equal(s1, s2)		Return true if strings are equal.
- *	scopy(from, to)		Copy a string.
  *	number(s)		Convert a string of digits to an integer.
  *	is_number(s)		Return true if s is a string of digits.
  */
@@ -60,10 +59,6 @@ char nullstr[1];		/* zero length string 
  * equal - #defined in mystring.h
  */
 
-/*
- * scopy - #defined in mystring.h
- */
-
 
 /*
  * prefix -- see if pfx is a prefix of string.

Modified: projects/random_number_generator/bin/sh/mystring.h
==============================================================================
--- projects/random_number_generator/bin/sh/mystring.h	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/bin/sh/mystring.h	Sun Dec  1 17:37:03 2013	(r258803)
@@ -40,4 +40,3 @@ int number(const char *);
 int is_number(const char *);
 
 #define equal(s1, s2)	(strcmp(s1, s2) == 0)
-#define scopy(s1, s2)	((void)strcpy(s2, s1))

Modified: projects/random_number_generator/bin/sh/show.c
==============================================================================
--- projects/random_number_generator/bin/sh/show.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/bin/sh/show.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -390,11 +390,11 @@ opentrace(void)
 			else
 				p = "/tmp";
 		}
-		scopy(p, s);
+		strcpy(s, p);
 		strcat(s, "/trace");
 	}
 #else
-	scopy("./trace", s);
+	strcpy(s, "./trace");
 #endif /* not_this_way */
 	if ((tracefile = fopen(s, "a")) == NULL) {
 		fprintf(stderr, "Can't open %s: %s\n", s, strerror(errno));

Modified: projects/random_number_generator/bin/sh/var.c
==============================================================================
--- projects/random_number_generator/bin/sh/var.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/bin/sh/var.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -224,8 +224,9 @@ void
 setvar(const char *name, const char *val, int flags)
 {
 	const char *p;
-	int len;
-	int namelen;
+	size_t len;
+	size_t namelen;
+	size_t vallen;
 	char *nameeq;
 	int isbad;
 
@@ -244,18 +245,20 @@ setvar(const char *name, const char *val
 	}
 	namelen = p - name;
 	if (isbad)
-		error("%.*s: bad variable name", namelen, name);
+		error("%.*s: bad variable name", (int)namelen, name);
 	len = namelen + 2;		/* 2 is space for '=' and '\0' */
 	if (val == NULL) {
 		flags |= VUNSET;
+		vallen = 0;
 	} else {
-		len += strlen(val);
+		vallen = strlen(val);
+		len += vallen;
 	}
 	nameeq = ckmalloc(len);
 	memcpy(nameeq, name, namelen);
 	nameeq[namelen] = '=';
 	if (val)
-		scopy(val, nameeq + namelen + 1);
+		memcpy(nameeq + namelen + 1, val, vallen + 1);
 	else
 		nameeq[namelen + 1] = '\0';
 	setvareq(nameeq, flags);

Modified: projects/random_number_generator/bin/test/test.c
==============================================================================
--- projects/random_number_generator/bin/test/test.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/bin/test/test.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -67,9 +67,18 @@ error(const char *msg, ...)
 	operand ::= <any legal UNIX file name>
 */
 
+enum token_types {
+	UNOP = 0x100,
+	BINOP = 0x200,
+	BUNOP = 0x300,
+	BBINOP = 0x400,
+	PAREN = 0x500
+};
+
 enum token {
 	EOI,
-	FILRD,
+	OPERAND,
+	FILRD = UNOP + 1,
 	FILWR,
 	FILEX,
 	FILEXIST,
@@ -85,13 +94,13 @@ enum token {
 	FILSUID,
 	FILSGID,
 	FILSTCK,
-	FILNT,
-	FILOT,
-	FILEQ,
-	FILUID,
-	FILGID,
 	STREZ,
 	STRNZ,
+	FILUID,
+	FILGID,
+	FILNT = BINOP + 1,
+	FILOT,
+	FILEQ,
 	STREQ,
 	STRNE,
 	STRLT,
@@ -102,70 +111,62 @@ enum token {
 	INTGT,
 	INTLE,
 	INTLT,
-	UNOT,
-	BAND,
+	UNOT = BUNOP + 1,
+	BAND = BBINOP + 1,
 	BOR,
-	LPAREN,
-	RPAREN,
-	OPERAND
+	LPAREN = PAREN + 1,
+	RPAREN
 };
 
-enum token_types {
-	UNOP,
-	BINOP,
-	BUNOP,
-	BBINOP,
-	PAREN
-};
+#define TOKEN_TYPE(token) ((token) & 0xff00)
 
 static struct t_op {
 	char op_text[4];
-	short op_num, op_type;
+	short op_num;
 } const ops [] = {
-	{"-r",	FILRD,	UNOP},
-	{"-w",	FILWR,	UNOP},
-	{"-x",	FILEX,	UNOP},
-	{"-e",	FILEXIST,UNOP},
-	{"-f",	FILREG,	UNOP},
-	{"-d",	FILDIR,	UNOP},
-	{"-c",	FILCDEV,UNOP},
-	{"-b",	FILBDEV,UNOP},
-	{"-p",	FILFIFO,UNOP},
-	{"-u",	FILSUID,UNOP},
-	{"-g",	FILSGID,UNOP},
-	{"-k",	FILSTCK,UNOP},
-	{"-s",	FILGZ,	UNOP},
-	{"-t",	FILTT,	UNOP},
-	{"-z",	STREZ,	UNOP},
-	{"-n",	STRNZ,	UNOP},
-	{"-h",	FILSYM,	UNOP},		/* for backwards compat */
-	{"-O",	FILUID,	UNOP},
-	{"-G",	FILGID,	UNOP},
-	{"-L",	FILSYM,	UNOP},
-	{"-S",	FILSOCK,UNOP},
-	{"=",	STREQ,	BINOP},
-	{"==",	STREQ,	BINOP},
-	{"!=",	STRNE,	BINOP},
-	{"<",	STRLT,	BINOP},
-	{">",	STRGT,	BINOP},
-	{"-eq",	INTEQ,	BINOP},
-	{"-ne",	INTNE,	BINOP},
-	{"-ge",	INTGE,	BINOP},
-	{"-gt",	INTGT,	BINOP},
-	{"-le",	INTLE,	BINOP},
-	{"-lt",	INTLT,	BINOP},
-	{"-nt",	FILNT,	BINOP},
-	{"-ot",	FILOT,	BINOP},
-	{"-ef",	FILEQ,	BINOP},
-	{"!",	UNOT,	BUNOP},
-	{"-a",	BAND,	BBINOP},
-	{"-o",	BOR,	BBINOP},
-	{"(",	LPAREN,	PAREN},
-	{")",	RPAREN,	PAREN},
-	{"",	0,	0}
+	{"-r",	FILRD},
+	{"-w",	FILWR},
+	{"-x",	FILEX},
+	{"-e",	FILEXIST},
+	{"-f",	FILREG},
+	{"-d",	FILDIR},
+	{"-c",	FILCDEV},
+	{"-b",	FILBDEV},
+	{"-p",	FILFIFO},
+	{"-u",	FILSUID},
+	{"-g",	FILSGID},
+	{"-k",	FILSTCK},
+	{"-s",	FILGZ},
+	{"-t",	FILTT},
+	{"-z",	STREZ},
+	{"-n",	STRNZ},
+	{"-h",	FILSYM},		/* for backwards compat */
+	{"-O",	FILUID},
+	{"-G",	FILGID},
+	{"-L",	FILSYM},
+	{"-S",	FILSOCK},
+	{"=",	STREQ},
+	{"==",	STREQ},
+	{"!=",	STRNE},
+	{"<",	STRLT},
+	{">",	STRGT},
+	{"-eq",	INTEQ},
+	{"-ne",	INTNE},
+	{"-ge",	INTGE},
+	{"-gt",	INTGT},
+	{"-le",	INTLE},
+	{"-lt",	INTLT},
+	{"-nt",	FILNT},
+	{"-ot",	FILOT},
+	{"-ef",	FILEQ},
+	{"!",	UNOT},
+	{"-a",	BAND},
+	{"-o",	BOR},
+	{"(",	LPAREN},
+	{")",	RPAREN},
+	{"",	0}
 };
 
-static struct t_op const *t_wp_op;
 static int nargc;
 static char **t_wp;
 static int parenlevel;
@@ -295,10 +296,10 @@ primary(enum token n)
 		parenlevel--;
 		return res;
 	}
-	if (t_wp_op && t_wp_op->op_type == UNOP) {
+	if (TOKEN_TYPE(n) == UNOP) {
 		/* unary expression */
 		if (--nargc == 0)
-			syntax(t_wp_op->op_text, "argument expected");
+			syntax(NULL, "argument expected"); /* impossible */
 		switch (n) {
 		case STREZ:
 			return strlen(*++t_wp) == 0;
@@ -311,10 +312,8 @@ primary(enum token n)
 		}
 	}
 
-	if (t_lex(nargc > 0 ? t_wp[1] : NULL), t_wp_op && t_wp_op->op_type ==
-	    BINOP) {
+	if (TOKEN_TYPE(t_lex(nargc > 0 ? t_wp[1] : NULL)) == BINOP)
 		return binop();
-	}
 
 	return strlen(*t_wp) > 0;
 }
@@ -322,17 +321,17 @@ primary(enum token n)
 static int
 binop(void)
 {
-	const char *opnd1, *opnd2;
-	struct t_op const *op;
+	const char *opnd1, *op, *opnd2;
+	enum token n;
 
 	opnd1 = *t_wp;
-	(void) t_lex(nargc > 0 ? (--nargc, *++t_wp) : NULL);
-	op = t_wp_op;
+	op = nargc > 0 ? t_wp[1] : NULL;
+	n = t_lex(nargc > 0 ? (--nargc, *++t_wp) : NULL);
 
 	if ((opnd2 = nargc > 0 ? (--nargc, *++t_wp) : NULL) == NULL)
-		syntax(op->op_text, "argument expected");
+		syntax(op, "argument expected");
 
-	switch (op->op_num) {
+	switch (n) {
 	case STREQ:
 		return strcmp(opnd1, opnd2) == 0;
 	case STRNE:
@@ -424,22 +423,20 @@ t_lex(char *s)
 	struct t_op const *op = ops;
 
 	if (s == 0) {
-		t_wp_op = NULL;
 		return EOI;
 	}
 	while (*op->op_text) {
 		if (strcmp(s, op->op_text) == 0) {
-			if (((op->op_type == UNOP || op->op_type == BUNOP)
+			if (((TOKEN_TYPE(op->op_num) == UNOP ||
+			    TOKEN_TYPE(op->op_num) == BUNOP)
 						&& isunopoperand()) ||
 			    (op->op_num == LPAREN && islparenoperand()) ||
 			    (op->op_num == RPAREN && isrparenoperand()))
 				break;
-			t_wp_op = op;
 			return op->op_num;
 		}
 		op++;
 	}
-	t_wp_op = NULL;
 	return OPERAND;
 }
 
@@ -458,7 +455,7 @@ isunopoperand(void)
 	t = *(t_wp + 2);
 	while (*op->op_text) {
 		if (strcmp(s, op->op_text) == 0)
-			return op->op_type == BINOP &&
+			return TOKEN_TYPE(op->op_num) == BINOP &&
 			    (parenlevel == 0 || t[0] != ')' || t[1] != '\0');
 		op++;
 	}
@@ -480,7 +477,7 @@ islparenoperand(void)
 		return 0;
 	while (*op->op_text) {
 		if (strcmp(s, op->op_text) == 0)
-			return op->op_type == BINOP;
+			return TOKEN_TYPE(op->op_num) == BINOP;
 		op++;
 	}
 	return 0;

Modified: projects/random_number_generator/lib/Makefile
==============================================================================
--- projects/random_number_generator/lib/Makefile	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/lib/Makefile	Sun Dec  1 17:37:03 2013	(r258803)
@@ -35,6 +35,8 @@ SUBDIR_ORDERED=	${_csu} \
 	libc_nonshared \
 	libbsm \
 	libauditd \
+	libutil \
+	libpjdlog \
 	libcompiler_rt \
 	libcrypt \
 	libelf \
@@ -49,7 +51,6 @@ SUBDIR_ORDERED=	${_csu} \
 	librpcsvc \
 	libsbuf \
 	libtacplus \
-	libutil \
 	${_libypclnt} \
 	${_libcxxrt} \
 	${_libcplusplus}

Modified: projects/random_number_generator/lib/libc/sparc64/fpu/fpu.c
==============================================================================
--- projects/random_number_generator/lib/libc/sparc64/fpu/fpu.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/lib/libc/sparc64/fpu/fpu.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -202,7 +202,7 @@ static const int opmask[] = {0, 0, 1, 3,
  * Implement a move operation for all supported operand types. The additional
  * nand and xor parameters will be applied to the upper 32 bit word of the
  * source operand. This allows to implement fabs and fneg (for fp operands
- * only!) using this functions, too, by passing (1 << 31) for one of the
+ * only!) using this functions, too, by passing (1U << 31) for one of the
  * parameters, and 0 for the other.
  */
 static void
@@ -358,10 +358,10 @@ __fpu_execute(struct utrapframe *uf, str
 		__fpu_mov(fe, type, rd, rs2, 0, 0);
 		return (0);
 	case FOP(INS2_FPop1, INSFP1_FNEG):
-		__fpu_mov(fe, type, rd, rs2, 0, (1 << 31));
+		__fpu_mov(fe, type, rd, rs2, 0, (1U << 31));
 		return (0);
 	case FOP(INS2_FPop1, INSFP1_FABS):
-		__fpu_mov(fe, type, rd, rs2, (1 << 31), 0);
+		__fpu_mov(fe, type, rd, rs2, (1U << 31), 0);
 		return (0);
 	case FOP(INS2_FPop1, INSFP1_FSQRT):
 		__fpu_explode(fe, &fe->fe_f1, type, rs2);

Modified: projects/random_number_generator/lib/libc/sparc64/fpu/fpu_sqrt.c
==============================================================================
--- projects/random_number_generator/lib/libc/sparc64/fpu/fpu_sqrt.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/lib/libc/sparc64/fpu/fpu_sqrt.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -257,7 +257,7 @@ __fpu_sqrt(fe)
 	 * double x correctly while doing the `known q=1.0'.
 	 *
 	 * We do this one mantissa-word at a time, as noted above, to
-	 * save work.  To avoid `(1 << 31) << 1', we also do the top bit
+	 * save work.  To avoid `(1U << 31) << 1', we also do the top bit
 	 * outside of each per-word loop.
 	 *
 	 * The calculation `t = y + bit' breaks down into `t0 = y0, ...,

Modified: projects/random_number_generator/lib/libc/sys/chmod.2
==============================================================================
--- projects/random_number_generator/lib/libc/sys/chmod.2	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/lib/libc/sys/chmod.2	Sun Dec  1 17:37:03 2013	(r258803)
@@ -28,7 +28,7 @@
 .\"     @(#)chmod.2	8.1 (Berkeley) 6/4/93
 .\" $FreeBSD$
 .\"
-.Dd April 10, 2008
+.Dd December 1, 2013
 .Dt CHMOD 2
 .Os
 .Sh NAME
@@ -139,21 +139,24 @@ defined in
 
 #define S_ISUID 0004000    /* set user id on execution */
 #define S_ISGID 0002000    /* set group id on execution */
-#ifndef __BSD_VISIBLE
-#define S_ISTXT 0001000    /* sticky bit */
-#endif
+#define S_ISVTX 0001000    /* sticky bit */
 .Ed
 .Pp
+The non-standard
+.Dv S_ISTXT
+is a synonym for
+.Dv S_ISVTX .
+.Pp
 The
 .Fx
 VM system totally ignores the sticky bit
-.Pq Dv ISTXT
+.Pq Dv S_ISVTX
 for executables.
 On UFS-based file systems (FFS, LFS) the sticky
 bit may only be set upon directories.
 .Pp
 If mode
-.Dv ISTXT
+.Dv S_ISVTX
 (the `sticky bit') is set on a directory,
 an unprivileged user may not delete or rename
 files of other users in that directory.
@@ -296,12 +299,15 @@ The
 system call is expected to conform to
 .St -p1003.1-90 ,
 except for the return of
-.Er EFTYPE
-and the use of
-.Dv S_ISTXT .
+.Er EFTYPE .
+The
+.Dv S_ISVTX
+bit on directories is expected to conform to
+.St -susv3 .
 The
 .Fn fchmodat
-system call follows The Open Group Extended API Set 2 specification.
+system call is expected to conform to
+.St -p1003.1-2008 .
 .Sh HISTORY
 The
 .Fn chmod

Modified: projects/random_number_generator/lib/libc/sys/wait.2
==============================================================================
--- projects/random_number_generator/lib/libc/sys/wait.2	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/lib/libc/sys/wait.2	Sun Dec  1 17:37:03 2013	(r258803)
@@ -48,7 +48,7 @@
 .Fn wait "int *status"
 .Ft pid_t
 .Fn waitpid "pid_t wpid" "int *status" "int options"
-.In sys/signal.h
+.In signal.h
 .Ft int
 .Fn waitid "idtype_t idtype" "id_t id" "siginfo_t *info" "int options"
 .In sys/time.h

Modified: projects/random_number_generator/lib/libc/xdr/xdr_rec.c
==============================================================================
--- projects/random_number_generator/lib/libc/xdr/xdr_rec.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/lib/libc/xdr/xdr_rec.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -106,7 +106,7 @@ static const struct  xdr_ops xdrrec_ops 
  * meet the needs of xdr and rpc based on tcp.
  */
 
-#define LAST_FRAG ((u_int32_t)(1 << 31))
+#define LAST_FRAG ((u_int32_t)(1U << 31))
 
 typedef struct rec_strm {
 	char *tcp_handle;

Modified: projects/random_number_generator/release/Makefile
==============================================================================
--- projects/random_number_generator/release/Makefile	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/release/Makefile	Sun Dec  1 17:37:03 2013	(r258803)
@@ -16,6 +16,7 @@
 #            (by default, the directory above this one) 
 #  PORTSDIR: location of ports tree to distribute (default: /usr/ports)
 #  DOCDIR:   location of doc tree (default: /usr/doc)
+#  NOPKG:    if set, do not distribute third-party packages
 #  NOPORTS:  if set, do not distribute ports tree
 #  NOSRC:    if set, do not distribute source tree
 #  NODOC:    if set, do not generate release documentation
@@ -28,11 +29,15 @@ PORTSDIR?=	/usr/ports
 DOCDIR?=	/usr/doc
 RELNOTES_LANG?= en_US.ISO8859-1
 
-TARGET?=	${MACHINE}
+.if !defined(TARGET) || empty(TARGET)
+TARGET=		${MACHINE}
+.endif
+.if !defined(TARGET_ARCH) || empty(TARGET_ARCH)
 .if ${TARGET} == ${MACHINE}
-TARGET_ARCH?=	${MACHINE_ARCH}
+TARGET_ARCH=	${MACHINE_ARCH}
 .else
-TARGET_ARCH?=	${TARGET}
+TARGET_ARCH=	${TARGET}
+.endif
 .endif
 IMAKE=		${MAKE} TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET}
 DISTDIR=	dist
@@ -74,7 +79,7 @@ IMAGES=
 .if exists(${.CURDIR}/${TARGET}/mkisoimages.sh)
 RELEASE_TARGETS+= cdrom
 IMAGES+=	disc1.iso bootonly.iso
-. if(!defined(NODVD))
+. if !defined(NODVD)
 RELEASE_TARGETS+= dvdrom
 IMAGES+=	dvd1.iso
 . endif
@@ -86,7 +91,12 @@ IMAGES+=	memstick.img
 IMAGES+=	mini-memstick.img
 .endif
 
+CLEANFILES=	packagesystem *.txz MANIFEST system ${IMAGES}
+CLEANDIRS=	dist ftp release bootonly dvd
+beforeclean:
+	chflags -R noschg .
 .include <bsd.obj.mk>
+clean: beforeclean
 
 base.txz:
 	mkdir -p ${DISTDIR}
@@ -212,7 +222,7 @@ packagesystem: base.txz kernel.txz ${EXT
 	touch ${.TARGET}
 
 pkg-stage:
-.if(exists(${.CURDIR}/${TARGET}/pkg-stage.conf))
+.if !defined(NOPKG) && exists(${.CURDIR}/${TARGET}/pkg-stage.conf)
 	sh ${.CURDIR}/scripts/pkg-stage.sh ${.CURDIR}/${TARGET}/pkg-stage.conf \
 		${REVISION}
 .endif
@@ -228,15 +238,6 @@ release:
 	${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj
 	${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS}
 
-clean:
-	chflags -R noschg .
-	rm -rf dist ftp
-	rm -f packagesystem
-	rm -f *.txz MANIFEST
-	rm -f system
-	rm -rf release bootonly dvd
-	rm -f ${IMAGES}
-
 install:
 .if defined(DESTDIR) && !empty(DESTDIR)
 	mkdir -p ${DESTDIR}

Modified: projects/random_number_generator/release/release.sh
==============================================================================
--- projects/random_number_generator/release/release.sh	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/release/release.sh	Sun Dec  1 17:37:03 2013	(r258803)
@@ -176,9 +176,9 @@ build_doc_ports() {
 	_OSVERSION=$(sysctl -n kern.osreldate)
 	if [ -d ${CHROOTDIR}/usr/doc ] && [ "x${NODOC}" = "x" ]; then
 		PBUILD_FLAGS="OSVERSION=${_OSVERSION} BATCH=yes"
-		PBUILD_FLAGS="${PBUILD_FLAGS} OPTIONS_UNSET='FOP IGOR'"
+		PBUILD_FLAGS="${PBUILD_FLAGS}"
 		chroot ${CHROOTDIR} make -C /usr/ports/textproc/docproj \
-			${PBUILD_FLAGS} install clean distclean
+			${PBUILD_FLAGS} OPTIONS_UNSET="FOP IGOR" install clean distclean
 	fi
 }
 

Modified: projects/random_number_generator/sbin/Makefile
==============================================================================
--- projects/random_number_generator/sbin/Makefile	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sbin/Makefile	Sun Dec  1 17:37:03 2013	(r258803)
@@ -72,7 +72,7 @@ SUBDIR=adjkerntz \
 	swapon \
 	sysctl \
 	tunefs \
-	umount \
+	umount
 
 .if ${MK_ATM} != "no"
 SUBDIR+=	atm

Modified: projects/random_number_generator/share/mk/bsd.libnames.mk
==============================================================================
--- projects/random_number_generator/share/mk/bsd.libnames.mk	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/share/mk/bsd.libnames.mk	Sun Dec  1 17:37:03 2013	(r258803)
@@ -127,6 +127,7 @@ MINUSLPAM+=	-lypclnt
 
 LIBPANEL?=	${DESTDIR}${LIBDIR}/libpanel.a
 LIBPCAP?=	${DESTDIR}${LIBDIR}/libpcap.a
+LIBPJDLOG?=	${DESTDIR}${LIBDIR}/libpjdlog.a
 LIBPMC?=	${DESTDIR}${LIBDIR}/libpmc.a
 LIBPROC?=	${DESTDIR}${LIBDIR}/libproc.a
 LIBPROCSTAT?=	${DESTDIR}${LIBDIR}/libprocstat.a

Modified: projects/random_number_generator/sys/amd64/pci/pci_cfgreg.c
==============================================================================
--- projects/random_number_generator/sys/amd64/pci/pci_cfgreg.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/amd64/pci/pci_cfgreg.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -184,7 +184,7 @@ pci_cfgenable(unsigned bus, unsigned slo
 	if (bus <= PCI_BUSMAX && slot <= PCI_SLOTMAX && func <= PCI_FUNCMAX &&
 	    (unsigned)reg <= PCI_REGMAX && bytes != 3 &&
 	    (unsigned)bytes <= 4 && (reg & (bytes - 1)) == 0) {
-		outl(CONF1_ADDR_PORT, (1 << 31) | (bus << 16) | (slot << 11) 
+		outl(CONF1_ADDR_PORT, (1U << 31) | (bus << 16) | (slot << 11) 
 		    | (func << 8) | (reg & ~0x03));
 		dataport = CONF1_DATA_PORT + (reg & 0x03);
 	}

Modified: projects/random_number_generator/sys/amd64/vmm/intel/vmcs.h
==============================================================================
--- projects/random_number_generator/sys/amd64/vmm/intel/vmcs.h	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/amd64/vmm/intel/vmcs.h	Sun Dec  1 17:37:03 2013	(r258803)
@@ -318,7 +318,7 @@ uint64_t vmcs_read(uint32_t encoding);
 /*
  * VMCS IDT-Vectoring information fields
  */
-#define	VMCS_IDT_VEC_VALID		(1 << 31)
+#define	VMCS_IDT_VEC_VALID		(1U << 31)
 #define	VMCS_IDT_VEC_ERRCODE_VALID	(1 << 11)
 
 /*

Modified: projects/random_number_generator/sys/amd64/vmm/intel/vmx_controls.h
==============================================================================
--- projects/random_number_generator/sys/amd64/vmm/intel/vmx_controls.h	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/amd64/vmm/intel/vmx_controls.h	Sun Dec  1 17:37:03 2013	(r258803)
@@ -56,7 +56,7 @@
 #define	PROCBASED_MSR_BITMAPS		(1 << 28)
 #define	PROCBASED_MONITOR_EXITING	(1 << 29)
 #define	PROCBASED_PAUSE_EXITING		(1 << 30)
-#define	PROCBASED_SECONDARY_CONTROLS	(1 << 31)
+#define	PROCBASED_SECONDARY_CONTROLS	(1U << 31)
 
 /* Secondary Processor-Based VM-Execution Controls */
 #define	PROCBASED2_VIRTUALIZE_APIC	(1 << 0)

Modified: projects/random_number_generator/sys/amd64/vmm/intel/vtd.c
==============================================================================
--- projects/random_number_generator/sys/amd64/vmm/intel/vtd.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/amd64/vmm/intel/vtd.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -73,11 +73,11 @@ struct vtdmap {
 
 #define	VTD_GCR_WBF		(1 << 27)
 #define	VTD_GCR_SRTP		(1 << 30)
-#define	VTD_GCR_TE		(1 << 31)
+#define	VTD_GCR_TE		(1U << 31)
 
 #define	VTD_GSR_WBFS		(1 << 27)
 #define	VTD_GSR_RTPS		(1 << 30)
-#define	VTD_GSR_TES		(1 << 31)
+#define	VTD_GSR_TES		(1U << 31)
 
 #define	VTD_CCR_ICC		(1UL << 63)	/* invalidate context cache */
 #define	VTD_CCR_CIRG_GLOBAL	(1UL << 61)	/* global invalidation */

Modified: projects/random_number_generator/sys/arm/arm/db_trace.c
==============================================================================
--- projects/random_number_generator/sys/arm/arm/db_trace.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/arm/db_trace.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -376,7 +376,7 @@ db_stack_trace_cmd(struct unwind_state *
 		index = db_find_index(state->start_pc);
 
 		if (index->insn != EXIDX_CANTUNWIND) {
-			if (index->insn & (1 << 31)) {
+			if (index->insn & (1U << 31)) {
 				/* The data is within the instruction */
 				state->insn = &index->insn;
 			} else {

Modified: projects/random_number_generator/sys/arm/arm/pl190.c
==============================================================================
--- projects/random_number_generator/sys/arm/arm/pl190.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/arm/pl190.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -113,7 +113,7 @@ pl190_intc_attach(device_t dev)
 	/* Disable all interrupts */
 	intc_vic_write_4(VICINTENCLEAR, 0xffffffff);
 	/* Enable INT31, SIC IRQ */
-	intc_vic_write_4(VICINTENABLE, (1 << 31));
+	intc_vic_write_4(VICINTENABLE, (1U << 31));
 
 	id = 0;
 	for (i = 3; i >= 0; i--) {

Modified: projects/random_number_generator/sys/arm/at91/if_macbvar.h
==============================================================================
--- projects/random_number_generator/sys/arm/at91/if_macbvar.h	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/at91/if_macbvar.h	Sun Dec  1 17:37:03 2013	(r258803)
@@ -18,7 +18,7 @@
 struct eth_tx_desc {
 	uint32_t		addr;
 	uint32_t		flags;
-#define TD_OWN		(1 << 31)
+#define TD_OWN		(1U << 31)
 #define TD_LAST		(1 << 15)
 #define	TD_WRAP_MASK		(1 << 30)
 };
@@ -30,7 +30,7 @@ struct eth_rx_desc {
 #define	RD_OWN			0x00000001
 
 	uint32_t		flags;
-#define RD_BROADCAST		(1 << 31)
+#define RD_BROADCAST		(1U << 31)
 #define RD_MULTICAST		(1 << 30)
 #define RD_UNICAST		(1 << 29)
 #define RD_EXTERNAL		(1 << 28)

Modified: projects/random_number_generator/sys/arm/broadcom/bcm2835/bcm2835_dma.c
==============================================================================
--- projects/random_number_generator/sys/arm/broadcom/bcm2835/bcm2835_dma.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/broadcom/bcm2835/bcm2835_dma.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -74,7 +74,7 @@ __FBSDID("$FreeBSD$");
 #define		CS_WAITWRT		(1 << 28)
 #define		CS_DISDBG		(1 << 29)
 #define		CS_ABORT		(1 << 30)
-#define		CS_RESET		(1 << 31)
+#define		CS_RESET		(1U << 31)
 #define	BCM_DMA_CBADDR(n)	(0x100*(n) + 0x04)
 #define	BCM_DMA_INFO(n)		(0x100*(n) + 0x08)
 #define		INFO_INT_EN		(1 << 0)

Modified: projects/random_number_generator/sys/arm/econa/if_ece.c
==============================================================================
--- projects/random_number_generator/sys/arm/econa/if_ece.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/econa/if_ece.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -1243,7 +1243,7 @@ configure_cpu_port(struct ece_softc *sc)
 	/* SA learning Disable */
 	cpu_port_config |= (SA_LEARNING_DISABLE);
 	/* set data offset + 2 */
-	cpu_port_config &= ~(1 << 31);
+	cpu_port_config &= ~(1U << 31);
 
 	write_4(sc, CPU_PORT_CONFIG, cpu_port_config);
 

Modified: projects/random_number_generator/sys/arm/freescale/imx/imx6_anatopreg.h
==============================================================================
--- projects/random_number_generator/sys/arm/freescale/imx/imx6_anatopreg.h	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/freescale/imx/imx6_anatopreg.h	Sun Dec  1 17:37:03 2013	(r258803)
@@ -37,7 +37,7 @@
 #define	IMX6_ANALOG_CCM_PLL_USB1_SET			0x014
 #define	IMX6_ANALOG_CCM_PLL_USB1_CLR			0x018
 #define	IMX6_ANALOG_CCM_PLL_USB1_TOG			0x01C
-#define	   IMX6_ANALOG_CCM_PLL_USB_LOCK			  (1 << 31)
+#define	   IMX6_ANALOG_CCM_PLL_USB_LOCK			  (1U << 31)
 #define	   IMX6_ANALOG_CCM_PLL_USB_BYPASS		  (1 << 16)
 #define	   IMX6_ANALOG_CCM_PLL_USB_ENABLE		  (1 << 13)
 #define	   IMX6_ANALOG_CCM_PLL_USB_POWER		  (1 << 12)

Modified: projects/random_number_generator/sys/arm/freescale/imx/imx6_usbphy.c
==============================================================================
--- projects/random_number_generator/sys/arm/freescale/imx/imx6_usbphy.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/freescale/imx/imx6_usbphy.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -57,7 +57,7 @@ __FBSDID("$FreeBSD$");
 #define	CTRL_SET_REG			0x0034
 #define	CTRL_CLR_REG			0x0038
 #define	CTRL_TOGGLE_REG			0x003c
-#define	  CTRL_SFTRST			  (1 << 31)
+#define	  CTRL_SFTRST			  (1U << 31)
 #define	  CTRL_CLKGATE			  (1 << 30)
 #define	  CTRL_ENUTMILEVEL3		  (1 << 15)
 #define	  CTRL_ENUTMILEVEL2		  (1 << 14)

Modified: projects/random_number_generator/sys/arm/freescale/imx/imx_gptreg.h
==============================================================================
--- projects/random_number_generator/sys/arm/freescale/imx/imx_gptreg.h	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/freescale/imx/imx_gptreg.h	Sun Dec  1 17:37:03 2013	(r258803)
@@ -32,7 +32,7 @@
 /* Registers definition for Freescale i.MX515 Generic Periodic Timer */
 
 #define	IMX_GPT_CR	0x0000 /* Control Register          R/W */
-#define		GPT_CR_FO3		(1 << 31)
+#define		GPT_CR_FO3		(1U << 31)
 #define		GPT_CR_FO2		(1 << 30)
 #define		GPT_CR_FO1		(1 << 29)
 #define		GPT_CR_OM3_SHIFT	26

Modified: projects/random_number_generator/sys/arm/freescale/vybrid/vf_anadig.c
==============================================================================
--- projects/random_number_generator/sys/arm/freescale/vybrid/vf_anadig.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/freescale/vybrid/vf_anadig.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -90,7 +90,7 @@ __FBSDID("$FreeBSD$");
 #define	USB_LOOPBACK(n)			(0x1E0 + 0x60 * n)
 #define	USB_MISC(n)			(0x1F0 + 0x60 * n)
 
-#define	ANADIG_PLL_LOCKED	(1 << 31)
+#define	ANADIG_PLL_LOCKED	(1U << 31)
 #define	ENABLE_LINREG		(1 << 0)
 #define	EN_CLK_TO_UTMI		(1 << 30)
 

Modified: projects/random_number_generator/sys/arm/freescale/vybrid/vf_ccm.c
==============================================================================
--- projects/random_number_generator/sys/arm/freescale/vybrid/vf_ccm.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/freescale/vybrid/vf_ccm.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -79,7 +79,7 @@ __FBSDID("$FreeBSD$");
 #define	CCM_CPPDSR	0x88	/* PLL PFD Disable Status Register */
 #define	CCM_CCOWR	0x8C	/* CORE Wakeup Register */
 
-#define	PLL3_PFD4_EN	(1 << 31)
+#define	PLL3_PFD4_EN	(1U << 31)
 #define	PLL3_PFD3_EN	(1 << 30)
 #define	PLL3_PFD2_EN	(1 << 29)
 #define	PLL3_PFD1_EN	(1 << 28)

Modified: projects/random_number_generator/sys/arm/freescale/vybrid/vf_ehci.c
==============================================================================
--- projects/random_number_generator/sys/arm/freescale/vybrid/vf_ehci.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/freescale/vybrid/vf_ehci.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -105,7 +105,7 @@ __FBSDID("$FreeBSD$");
 #define	USBPHY_IP_CLR		0x98	/* PHY IP Block Register */
 #define	USBPHY_IP_TOG		0x9C	/* PHY IP Block Register */
 
-#define	USBPHY_CTRL_SFTRST	(1 << 31)
+#define	USBPHY_CTRL_SFTRST	(1U << 31)
 #define	USBPHY_CTRL_CLKGATE	(1 << 30)
 #define	USBPHY_DEBUG_CLKGATE	(1 << 30)
 

Modified: projects/random_number_generator/sys/arm/include/armreg.h
==============================================================================
--- projects/random_number_generator/sys/arm/include/armreg.h	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/include/armreg.h	Sun Dec  1 17:37:03 2013	(r258803)
@@ -360,7 +360,7 @@
 
 #define	CPU_CT_ARMV7		0x4
 /* ARM v7 Cache type definitions */
-#define	CPUV7_CT_CTYPE_WT	(1 << 31)
+#define	CPUV7_CT_CTYPE_WT	(1U << 31)
 #define	CPUV7_CT_CTYPE_WB	(1 << 30)
 #define	CPUV7_CT_CTYPE_RA	(1 << 29)
 #define	CPUV7_CT_CTYPE_WA	(1 << 28)

Modified: projects/random_number_generator/sys/arm/lpc/if_lpereg.h
==============================================================================
--- projects/random_number_generator/sys/arm/lpc/if_lpereg.h	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/lpc/if_lpereg.h	Sun Dec  1 17:37:03 2013	(r258803)
@@ -169,7 +169,7 @@ struct lpe_hwstatus {
 
 /* These are valid for both Rx and Tx descriptors */
 #define	LPE_HWDESC_SIZE_MASK	(1 << 10)
-#define	LPE_HWDESC_INTERRUPT	(1 << 31)
+#define	LPE_HWDESC_INTERRUPT	(1U << 31)
 
 /* These are valid for Tx descriptors */
 #define	LPE_HWDESC_LAST		(1 << 30)
@@ -186,7 +186,7 @@ struct lpe_hwstatus {
 #define	LPE_HWDESC_LATECOLL	(1 << 28)
 #define	LPE_HWDESC_UNDERRUN	(1 << 29)
 #define	LPE_HWDESC_TXNODESCR	(1 << 30)
-#define	LPE_HWDESC_ERROR	(1 << 31)
+#define	LPE_HWDESC_ERROR	(1U << 31)
 
 /* These are valid for Rx status descriptors */
 #define	LPE_HWDESC_CONTROL	(1 << 18)
@@ -202,7 +202,7 @@ struct lpe_hwstatus {
 #define	LPE_HWDESC_OVERRUN	(1 << 28)
 #define	LPE_HWDESC_RXNODESCR	(1 << 29)
 #define	LPE_HWDESC_LASTFLAG	(1 << 30)
-#define	LPE_HWDESC_ERROR	(1 << 31)
+#define	LPE_HWDESC_ERROR	(1U << 31)
 
 
 #endif	/* _ARM_LPC_IF_LPEREG_H */

Modified: projects/random_number_generator/sys/arm/lpc/lpcreg.h
==============================================================================
--- projects/random_number_generator/sys/arm/lpc/lpcreg.h	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/lpc/lpcreg.h	Sun Dec  1 17:37:03 2013	(r258803)
@@ -604,7 +604,7 @@
 #define	LPC_DMAC_CH_LLI			0x08
 #define	LPC_DMAC_CH_LLI_AHB1		(1 << 0)
 #define	LPC_DMAC_CH_CONTROL		0x0c
-#define	LPC_DMAC_CH_CONTROL_I		(1 << 31)
+#define	LPC_DMAC_CH_CONTROL_I		(1U << 31)
 #define	LPC_DMAC_CH_CONTROL_DI		(1 << 27)
 #define	LPC_DMAC_CH_CONTROL_SI		(1 << 26)
 #define	LPC_DMAC_CH_CONTROL_D		(1 << 25)

Modified: projects/random_number_generator/sys/arm/mv/mv_pci.c
==============================================================================
--- projects/random_number_generator/sys/arm/mv/mv_pci.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/mv/mv_pci.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -81,7 +81,7 @@ __FBSDID("$FreeBSD$");
 #define debugf(fmt, args...)
 #endif
 
-#define PCI_CFG_ENA		(1 << 31)
+#define PCI_CFG_ENA		(1U << 31)
 #define PCI_CFG_BUS(bus)	(((bus) & 0xff) << 16)
 #define PCI_CFG_DEV(dev)	(((dev) & 0x1f) << 11)
 #define PCI_CFG_FUN(fun)	(((fun) & 0x7) << 8)

Modified: projects/random_number_generator/sys/arm/samsung/exynos/ehci_exynos5.c
==============================================================================
--- projects/random_number_generator/sys/arm/samsung/exynos/ehci_exynos5.c	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/samsung/exynos/ehci_exynos5.c	Sun Dec  1 17:37:03 2013	(r258803)
@@ -82,7 +82,7 @@ __FBSDID("$FreeBSD$");
 #define	HOST_CTRL_SUSPEND	(1 << 4)
 #define	HOST_CTRL_RESET_LINK	(1 << 1)
 #define	HOST_CTRL_RESET_PHY	(1 << 0)
-#define	HOST_CTRL_RESET_PHY_ALL	(1 << 31)
+#define	HOST_CTRL_RESET_PHY_ALL	(1U << 31)
 
 /* Forward declarations */
 static int	exynos_ehci_attach(device_t dev);

Modified: projects/random_number_generator/sys/arm/xscale/i8134x/i81342reg.h
==============================================================================
--- projects/random_number_generator/sys/arm/xscale/i8134x/i81342reg.h	Sun Dec  1 17:29:07 2013	(r258802)
+++ projects/random_number_generator/sys/arm/xscale/i8134x/i81342reg.h	Sun Dec  1 17:37:03 2013	(r258803)
@@ -83,7 +83,7 @@
 #define IOP34X_ADMA_PQTE	(1 << 18) /* P+Q Transfer Enable */
 #define IOP34X_ADMA_PTD		(1 << 19) /* P Transfer Disable */
 #define IOP34X_ADMA_ROE		(1 << 30) /* Relaxed Ordering Enable */
-#define IOP34X_ADMA_NSE		(1 << 31) /* No Snoop Enable */
+#define IOP34X_ADMA_NSE		(1U << 31) /* No Snoop Enable */
 
 #define IOP34X_PBBAR0		0x81588 /* PBI Base Address Register 0 */
 #define IOP34X_PBBAR0_ADDRMASK	0xfffff000
@@ -113,7 +113,7 @@
 #define SMC_SDBR		0x8180c /* Base Register */
 #define SMC_SDBR_BASEADDR	(1 << 27)
 #define SMC_SDBR_BASEADDR_MASK	((1 << 27) | (1 << 28) | (1 << 29) | (1 << 30) \
-    				| (1 << 31))
+    				| (1U << 31))
 #define SMC_SDUBR		0x81810 /* Upper Base Register */
 #define SMC_SBSR		0x81814 /* SDRAM Bank Size Register */
 #define SMC_SBSR_BANK_NB	(1 << 2) /* Number of DDR Banks
@@ -128,7 +128,7 @@

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

From owner-svn-src-projects@FreeBSD.ORG  Sun Dec  1 18:37:31 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id BC49A3C8;
 Sun,  1 Dec 2013 18:37:31 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8F67D1458;
 Sun,  1 Dec 2013 18:37:31 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1IbVEU055396;
 Sun, 1 Dec 2013 18:37:31 GMT (envelope-from markm@svn.freebsd.org)
Received: (from markm@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1IbVWl055395;
 Sun, 1 Dec 2013 18:37:31 GMT (envelope-from markm@svn.freebsd.org)
Message-Id: <201312011837.rB1IbVWl055395@svn.freebsd.org>
From: Mark Murray <markm@FreeBSD.org>
Date: Sun, 1 Dec 2013 18:37:31 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258804 - projects/random_number_generator
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Dec 2013 18:37:31 -0000

Author: markm
Date: Sun Dec  1 18:37:31 2013
New Revision: 258804
URL: http://svnweb.freebsd.org/changeset/base/258804

Log:
  MFC - tracking commit

Modified:
Directory Properties:
  projects/random_number_generator/   (props changed)

From owner-svn-src-projects@FreeBSD.ORG  Sun Dec  1 19:55:52 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 931EAA05;
 Sun,  1 Dec 2013 19:55:52 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 7321817DA;
 Sun,  1 Dec 2013 19:55:52 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1JtqWX082537;
 Sun, 1 Dec 2013 19:55:52 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1JtqZe082536;
 Sun, 1 Dec 2013 19:55:52 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201312011955.rB1JtqZe082536@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Sun, 1 Dec 2013 19:55:52 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258809 - projects/sendfile/sys/kern
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Dec 2013 19:55:52 -0000

Author: glebius
Date: Sun Dec  1 19:55:51 2013
New Revision: 258809
URL: http://svnweb.freebsd.org/changeset/base/258809

Log:
  Simplify SF_MNOWAIT handling introducing several variables.

Modified:
  projects/sendfile/sys/kern/uipc_syscalls.c

Modified: projects/sendfile/sys/kern/uipc_syscalls.c
==============================================================================
--- projects/sendfile/sys/kern/uipc_syscalls.c	Sun Dec  1 19:45:04 2013	(r258808)
+++ projects/sendfile/sys/kern/uipc_syscalls.c	Sun Dec  1 19:55:51 2013	(r258809)
@@ -2337,7 +2337,7 @@ vn_sendfile(struct file *fp, int sockfd,
 	struct shmfd *shmfd;
 	struct vattr va;
 	off_t off, fsbytes, sbytes, rem, obj_size;
-	int error, bsize, hdrlen, mnw;
+	int error, bsize, hdrlen, mwait, merror, sfwait;
 	bool inflight_called;
 
 	pg = NULL;
@@ -2345,7 +2345,6 @@ vn_sendfile(struct file *fp, int sockfd,
 	so = NULL;
 	m = NULL;
 	fsbytes = sbytes = 0;
-	mnw = 0;
 	rem = nbytes;
 	obj_size = 0;
 	inflight_called = false;
@@ -2365,8 +2364,15 @@ vn_sendfile(struct file *fp, int sockfd,
 	 * caller to retry later.
 	 * XXX: Experimental.
 	 */
-	if (flags & SF_MNOWAIT)
-		mnw = 1;
+	if (flags & SF_MNOWAIT) {
+		mwait = M_NOWAIT;
+		merror = EAGAIN;
+		sfwait = SFB_NOWAIT;
+	} else {
+		mwait = M_WAITOK;
+		merror = ENOBUFS;
+		sfwait = SFB_CATCH;
+	}
 
 #ifdef MAC
 	error = mac_socket_check_send(td->td_ucred, so);
@@ -2389,9 +2395,9 @@ vn_sendfile(struct file *fp, int sockfd,
 			else
 				nbytes = 0;
 		}
-		mh = m_uiotombuf(hdr_uio, (mnw ? M_NOWAIT : M_WAITOK), 0, 0, 0);
+		mh = m_uiotombuf(hdr_uio, mwait, 0, 0, 0);
 		if (mh == NULL) {
-			error = mnw ? EAGAIN : ENOBUFS;
+			error = merror;
 			goto out;
 		}
 		hdrlen = m_length(mh, &mhtail);
@@ -2558,8 +2564,9 @@ retry_space:
 			 * threads might exhaust the buffers and then
 			 * deadlock.
 			 */
-			sf = sf_buf_alloc(pg, (mnw || m != NULL) ? SFB_NOWAIT :
-			    SFB_CATCH);
+			if (m != NULL)
+				sfwait = SFB_NOWAIT;
+			sf = sf_buf_alloc(pg, sfwait);
 			if (sf == NULL) {
 				SFSTAT_INC(sf_allocfail);
 				vm_page_lock(pg);
@@ -2568,7 +2575,7 @@ retry_space:
 				    ("%s: object disappeared", __func__));
 				vm_page_unlock(pg);
 				if (m == NULL)
-					error = (mnw ? EAGAIN : EINTR);
+					error = merror;
 				break;
 			}
 
@@ -2576,16 +2583,16 @@ retry_space:
 			 * Get an mbuf and set it up as having
 			 * external storage.
 			 */
-			m0 = m_get((mnw ? M_NOWAIT : M_WAITOK), MT_DATA);
+			m0 = m_get(mwait, MT_DATA);
 			if (m0 == NULL) {
-				error = (mnw ? EAGAIN : ENOBUFS);
+				error = merror;
 				(void)sf_buf_mext(NULL, NULL, sf);
 				break;
 			}
 			if (m_extadd(m0, (caddr_t )sf_buf_kva(sf), PAGE_SIZE,
-			    sf_buf_mext, sfs, sf, M_RDONLY, EXT_SFBUF,
-			    (mnw ? M_NOWAIT : M_WAITOK)) != 0) {
-				error = (mnw ? EAGAIN : ENOBUFS);
+			    sf_buf_mext, sfs, sf, M_RDONLY, EXT_SFBUF, mwait)
+			    != 0) {
+				error = merror;
 				(void)sf_buf_mext(NULL, NULL, sf);
 				m_freem(m0);
 				break;

From owner-svn-src-projects@FreeBSD.ORG  Sun Dec  1 20:32:17 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9597B23F;
 Sun,  1 Dec 2013 20:32:17 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 81FAD194B;
 Sun,  1 Dec 2013 20:32:17 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1KWHQa096176;
 Sun, 1 Dec 2013 20:32:17 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1KWHTR096175;
 Sun, 1 Dec 2013 20:32:17 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201312012032.rB1KWHTR096175@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Sun, 1 Dec 2013 20:32:17 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258813 - projects/sendfile/sys/kern
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Dec 2013 20:32:17 -0000

Author: glebius
Date: Sun Dec  1 20:32:16 2013
New Revision: 258813
URL: http://svnweb.freebsd.org/changeset/base/258813

Log:
  More correct code that handles sf wait logic.
  
  Submitted by:	kib

Modified:
  projects/sendfile/sys/kern/uipc_syscalls.c

Modified: projects/sendfile/sys/kern/uipc_syscalls.c
==============================================================================
--- projects/sendfile/sys/kern/uipc_syscalls.c	Sun Dec  1 20:03:00 2013	(r258812)
+++ projects/sendfile/sys/kern/uipc_syscalls.c	Sun Dec  1 20:32:16 2013	(r258813)
@@ -2564,9 +2564,7 @@ retry_space:
 			 * threads might exhaust the buffers and then
 			 * deadlock.
 			 */
-			if (m != NULL)
-				sfwait = SFB_NOWAIT;
-			sf = sf_buf_alloc(pg, sfwait);
+			sf = sf_buf_alloc(pg, m != NULL : SFB_NOWAIT ? sfwait);
 			if (sf == NULL) {
 				SFSTAT_INC(sf_allocfail);
 				vm_page_lock(pg);

From owner-svn-src-projects@FreeBSD.ORG  Sun Dec  1 20:38:51 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id E2A8B33D;
 Sun,  1 Dec 2013 20:38:51 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id CECD7195E;
 Sun,  1 Dec 2013 20:38:51 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1KcpMp096957;
 Sun, 1 Dec 2013 20:38:51 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1KcpUv096956;
 Sun, 1 Dec 2013 20:38:51 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201312012038.rB1KcpUv096956@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Sun, 1 Dec 2013 20:38:51 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258814 - projects/sendfile/sys/kern
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Dec 2013 20:38:52 -0000

Author: glebius
Date: Sun Dec  1 20:38:51 2013
New Revision: 258814
URL: http://svnweb.freebsd.org/changeset/base/258814

Log:
  Make it compilable.

Modified:
  projects/sendfile/sys/kern/uipc_syscalls.c

Modified: projects/sendfile/sys/kern/uipc_syscalls.c
==============================================================================
--- projects/sendfile/sys/kern/uipc_syscalls.c	Sun Dec  1 20:32:16 2013	(r258813)
+++ projects/sendfile/sys/kern/uipc_syscalls.c	Sun Dec  1 20:38:51 2013	(r258814)
@@ -2564,7 +2564,7 @@ retry_space:
 			 * threads might exhaust the buffers and then
 			 * deadlock.
 			 */
-			sf = sf_buf_alloc(pg, m != NULL : SFB_NOWAIT ? sfwait);
+			sf = sf_buf_alloc(pg, m != NULL ? SFB_NOWAIT : sfwait);
 			if (sf == NULL) {
 				SFSTAT_INC(sf_allocfail);
 				vm_page_lock(pg);

From owner-svn-src-projects@FreeBSD.ORG  Sun Dec  1 20:56:04 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 2893E557;
 Sun,  1 Dec 2013 20:56:04 +0000 (UTC)
Received: from mail-qa0-x22b.google.com (mail-qa0-x22b.google.com
 [IPv6:2607:f8b0:400d:c00::22b])
 (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B70D91A09;
 Sun,  1 Dec 2013 20:56:03 +0000 (UTC)
Received: by mail-qa0-f43.google.com with SMTP id ii20so3632369qab.2
 for <multiple recipients>; Sun, 01 Dec 2013 12:56:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=mime-version:sender:in-reply-to:references:date:message-id:subject
 :from:to:cc:content-type;
 bh=+dzbIw7OEnaCuwJrCw7tWXa+bkVG8/AJSjCiqNR5H7Y=;
 b=V6cF1YcoeYtEdGaLh2P46nRaXRYQPBnDg/+paDJrYg2qvgnJOnSjE5RX2xBSheDqNU
 M6M2DW7SSGChsFbDDoZ0gGECEbjZkWzOkZIGhwGRpxsEAlyXe15hqYJh3F7jfCfBn/qj
 uO0Sc/8yq8hyND1F9rB0CttCSCA+96onJu4Il/FJtjLnQuy3N9SpvI6JmtjnbxSrII6O
 Wfqc8U25Rm09xuesa1hItjlhtK/9n6XSl7AyqptWPAWR8OfmkGZCSjwtVz7DbLriTMVM
 jmfFcd6aYDLc+6K0bOBvzByiLGdYlREAeUaE2vGlHWZCekO6ED9Z2C6kAN0JCBk03Tgh
 h0zw==
MIME-Version: 1.0
X-Received: by 10.229.56.200 with SMTP id z8mr107227700qcg.1.1385931362884;
 Sun, 01 Dec 2013 12:56:02 -0800 (PST)
Sender: adrian.chadd@gmail.com
Received: by 10.224.53.200 with HTTP; Sun, 1 Dec 2013 12:56:02 -0800 (PST)
In-Reply-To: <201312012032.rB1KWHTR096175@svn.freebsd.org>
References: <201312012032.rB1KWHTR096175@svn.freebsd.org>
Date: Sun, 1 Dec 2013 12:56:02 -0800
X-Google-Sender-Auth: pfGZm0bzG1biQTkB28dqsERc1oE
Message-ID: <CAJ-VmokgxoCA-aHa6Y1RdEr=3_dTwFPCQ=QXSG2bbmMp3tgsBA@mail.gmail.com>
Subject: Re: svn commit: r258813 - projects/sendfile/sys/kern
From: Adrian Chadd <adrian@freebsd.org>
To: Gleb Smirnoff <glebius@freebsd.org>
Content-Type: text/plain; charset=ISO-8859-1
Cc: svn-src-projects@freebsd.org,
 "src-committers@freebsd.org" <src-committers@freebsd.org>
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Dec 2013 20:56:04 -0000

Is this required for -HEAD right now?


-a

On 1 December 2013 12:32, Gleb Smirnoff <glebius@freebsd.org> wrote:
> Author: glebius
> Date: Sun Dec  1 20:32:16 2013
> New Revision: 258813
> URL: http://svnweb.freebsd.org/changeset/base/258813
>
> Log:
>   More correct code that handles sf wait logic.
>
>   Submitted by: kib
>
> Modified:
>   projects/sendfile/sys/kern/uipc_syscalls.c
>
> Modified: projects/sendfile/sys/kern/uipc_syscalls.c
> ==============================================================================
> --- projects/sendfile/sys/kern/uipc_syscalls.c  Sun Dec  1 20:03:00 2013        (r258812)
> +++ projects/sendfile/sys/kern/uipc_syscalls.c  Sun Dec  1 20:32:16 2013        (r258813)
> @@ -2564,9 +2564,7 @@ retry_space:
>                          * threads might exhaust the buffers and then
>                          * deadlock.
>                          */
> -                       if (m != NULL)
> -                               sfwait = SFB_NOWAIT;
> -                       sf = sf_buf_alloc(pg, sfwait);
> +                       sf = sf_buf_alloc(pg, m != NULL : SFB_NOWAIT ? sfwait);
>                         if (sf == NULL) {
>                                 SFSTAT_INC(sf_allocfail);
>                                 vm_page_lock(pg);

From owner-svn-src-projects@FreeBSD.ORG  Sun Dec  1 21:04:25 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 875D8681;
 Sun,  1 Dec 2013 21:04:25 +0000 (UTC)
Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id E86801A59;
 Sun,  1 Dec 2013 21:04:24 +0000 (UTC)
Received: from cell.glebius.int.ru (localhost [127.0.0.1])
 by cell.glebius.int.ru (8.14.7/8.14.7) with ESMTP id rB1L47k9049103
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Mon, 2 Dec 2013 01:04:07 +0400 (MSK)
 (envelope-from glebius@FreeBSD.org)
Received: (from glebius@localhost)
 by cell.glebius.int.ru (8.14.7/8.14.7/Submit) id rB1L47xH049102;
 Mon, 2 Dec 2013 01:04:07 +0400 (MSK)
 (envelope-from glebius@FreeBSD.org)
X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to
 glebius@FreeBSD.org using -f
Date: Mon, 2 Dec 2013 01:04:07 +0400
From: Gleb Smirnoff <glebius@FreeBSD.org>
To: Adrian Chadd <adrian@freebsd.org>
Subject: Re: svn commit: r258813 - projects/sendfile/sys/kern
Message-ID: <20131201210407.GB48919@FreeBSD.org>
References: <201312012032.rB1KWHTR096175@svn.freebsd.org>
 <CAJ-VmokgxoCA-aHa6Y1RdEr=3_dTwFPCQ=QXSG2bbmMp3tgsBA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAJ-VmokgxoCA-aHa6Y1RdEr=3_dTwFPCQ=QXSG2bbmMp3tgsBA@mail.gmail.com>
User-Agent: Mutt/1.5.22 (2013-10-16)
Cc: svn-src-projects@freebsd.org,
 "src-committers@freebsd.org" <src-committers@freebsd.org>
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Dec 2013 21:04:25 -0000

On Sun, Dec 01, 2013 at 12:56:02PM -0800, Adrian Chadd wrote:
A> Is this required for -HEAD right now?

No.


-- 
Totus tuus, Glebius.

From owner-svn-src-projects@FreeBSD.ORG  Sun Dec  1 21:10:07 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id ABE3F944;
 Sun,  1 Dec 2013 21:10:07 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 972861A7A;
 Sun,  1 Dec 2013 21:10:07 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1LA7OK008021;
 Sun, 1 Dec 2013 21:10:07 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1LA7MW008020;
 Sun, 1 Dec 2013 21:10:07 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201312012110.rB1LA7MW008020@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Sun, 1 Dec 2013 21:10:07 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258815 - projects/sendfile/sys/kern
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Dec 2013 21:10:07 -0000

Author: glebius
Date: Sun Dec  1 21:10:07 2013
New Revision: 258815
URL: http://svnweb.freebsd.org/changeset/base/258815

Log:
  An attempt of major rewrite of sendfile(2).
  
  The core change is that now we don't use VOP_READ() to fetch pages
  from storage to memory, but VOP_GETPAGES() instead.
  
  This was considered by David Greenman in original implementation in 1998,
  but he decided to use VOP_READ(), to utilize read ahead provided by FFS.
  Apparently, from a pure Mach VM view that choice wasn't a correct one, but
  worked for a decade and a half.  Recently, investigations from Scott Long
  have shown that:
    a) sendfile(2) leaves touched pages cached by buf layer, they are wired,
  and at a high load, buf layer can hold them too long, so that a pagedaemon
  sweep starts.
    b) the readahead heuristic from FFS isn't enough, and better provide a
  manual static readahead to the sendfile itself via a global sysctl.
  
  Changes:
  
  1) sendfile_readpage() goes away entirely.
  2) sendfile_swapin() emerges.  This function takes array of vm_pages,
     that needs to be fetched from storage to wired memory.  The function
     iterates through pages, gets a readahead hint from vm_pager_has_page(),
     and then asks vm_page_get_pages() for a block of pages.
  
     Notice, that sendfile_swapin() doesn't differentiate between vnode backed
     descriptors and shared memory backed, like old code used to.
  
     Also notice, that function is a pure VM function, and can be moved to
     sys/vm, being renamed.
  
     For now function ignores configured readahead sysctl.
  
  3) Main vn_sendfile() cycle gets simplier.
     - Outer cycle is driven by the "rem" variable, that is initialized at the
       beginning and shrinks as we go forward.  The only exception for "rem" to
       unexpectedly change its value is a file resize.
     - Inner cycle is driven by number of pages, and number of pages is
       calculated as minimum of available space in socket and "rem".
  
  Basic performance testing showed no regressions in timing. Number of I/Os
  decreased comparing to sendfile() from head, but increased compared to
  previous version of the projects/sendfile.  On a sample 300 Mb file:
  
                  	I/Os
  head            	3247
  projects/sendfile        680
  new code           	2826
  
  A file fetched immediately gets into inactive memory. Top quote from
  head, after reboot and fetch of a 300 Mb file:
  
    Mem: 26M Active, 192M Inact, 177M Wired, 159M Buf, 588M Free
  
  And from new code:
  
    Mem: 25M Active, 320M Inact, 46M Wired, 22M Buf, 592M Free
  
  In collaboration with:	kib
  Sponsored by:		Netflix
  Sponsored by:		Nginx, Inc.

Modified:
  projects/sendfile/sys/kern/uipc_syscalls.c

Modified: projects/sendfile/sys/kern/uipc_syscalls.c
==============================================================================
--- projects/sendfile/sys/kern/uipc_syscalls.c	Sun Dec  1 20:38:51 2013	(r258814)
+++ projects/sendfile/sys/kern/uipc_syscalls.c	Sun Dec  1 21:10:07 2013	(r258815)
@@ -2075,156 +2075,86 @@ freebsd4_sendfile(struct thread *td, str
 }
 #endif /* COMPAT_FREEBSD4 */
 
-static int
-sendfile_read(vm_object_t obj, struct mbuf *m0, struct vnode *vp, int flags,
-    off_t off0, int *readsize, int bsize, struct thread *td)
-{
-	struct mbuf *m, *mp = NULL;
+struct page_descr {
 	off_t off;
-	int error, read = 0;
+	off_t xfsize;
+};
 
-	VM_OBJECT_WLOCK(obj);
-
-	/* Skip valid pages, if any. */
-	for (m = m0, off = off0; m != NULL;
-	    off += m->m_len, mp = m, m = m->m_next) {
-		vm_page_t pg;
+static void
+sendfile_swapin(vm_object_t obj, vm_page_t *pa, struct page_descr *pd,
+    int npages, off_t off, off_t len)
+{
+	int rv;
 
-		KASSERT(m->m_ext.ext_type == EXT_SFBUF, ("EXT_SFBUF expected"));
-		pg = sf_buf_page((struct sf_buf *)m->m_ext.ext_arg2);
+	KASSERT(npages * PAGE_SIZE >= len, ("%s: npages %d len %ju",
+	    __func__, npages, (uintmax_t)len));
 
-		if (!pg->valid ||
-		    !vm_page_is_valid(pg, off & PAGE_MASK, m->m_len))
-			break;
+	VM_OBJECT_WLOCK(obj);
+	for (int i = 0; i < npages; i++) {
+		vm_offset_t pgoff;
+		off_t xfsize;
 
-		read += m->m_len;
-	}
+		pgoff = (vm_offset_t)(off & PAGE_MASK);
+		xfsize = omin(PAGE_SIZE - pgoff, len);
 
-	if (m == NULL) {
-		VM_OBJECT_WUNLOCK(obj);
-		KASSERT(*readsize == read, ("%s: readsize %d read %d", __func__,
-		    *readsize, read));
+		pd[i].off = off;
+		pd[i].xfsize = xfsize;
+		pa[i] = vm_page_grab(obj, OFF_TO_IDX(off),
+		    VM_ALLOC_WIRED | VM_ALLOC_NORMAL);
 
-		return (0);
+		off += xfsize;
+		len -= xfsize;
 	}
 
-	if (flags & SF_NODISKIO) {
-#if 0
-		/*
-		 * XXXGL: for for multiple pages.
-		 */
-		if (vp == NULL)
-			vm_page_xunbusy(m);
-#endif
-		*readsize = read;
-		VM_OBJECT_WUNLOCK(obj);
-		error = EBUSY;
-		goto done;
-	}
+	for (int i = 0; i < npages; i++) {
+		int j, a;
 
-	/*
-	 * Get the page from backing store.
-	 */
-	if (vp != NULL) {
-		struct uio auio;
-		struct iovec aiov;
-		ssize_t toread;
+		if (vm_page_is_valid(pa[i], pd[i].off & PAGE_MASK,
+		    pd[i].xfsize)) {
+			vm_page_xunbusy(pa[i]);
+			continue;
+		}
 
-		VM_OBJECT_WUNLOCK(obj);
-#ifdef MAC
-		/*
-		 * XXX: Because we don't have fp->f_cred here, we
-		 * pass in NOCRED.  This is probably wrong, but is
-		 * consistent with our original implementation.
-		 */
-		error = mac_vnode_check_read(td->td_ucred, NOCRED, vp);
-		if (error)
-			goto done;
-#endif
+		for (j = i + 1; j < npages; j++)
+			if (vm_page_is_valid(pa[j], pd[j].off & PAGE_MASK,
+			    pd[j].xfsize))
+				break;
 
-		toread = *readsize - read + sfreadahead * MAXBSIZE;
-		toread = roundup2(toread, MAXBSIZE);
+		while (!vm_pager_has_page(obj, OFF_TO_IDX(pd[i].off),
+		    NULL, &a) && i < j) {
+			pmap_zero_page(pa[i]);
+			pa[i]->valid = VM_PAGE_BITS_ALL;
+			pa[i]->dirty = 0;
+			vm_page_xunbusy(pa[i]);
+			i++;
+		}
+		if (i == j)
+			continue;
 
-		auio.uio_iov = &aiov;
-		auio.uio_iovcnt = 1;
-		aiov.iov_base = NULL;
-		aiov.iov_len = toread;
-		auio.uio_resid = toread;
-		auio.uio_offset = trunc_page(off);
-		auio.uio_segflg = UIO_NOCOPY;
-		auio.uio_rw = UIO_READ;
-		auio.uio_td = td;
+		rv = vm_pager_get_pages(obj, pa + i, min(a + 1, npages - i), 0);
 
-		/*
-		 * Use VOP_READ() instead of the pager interface for
-		 * the vnode, to allow the read-ahead.
-		 */
-		error = VOP_READ(vp, &auio, IO_NODELOCKED | IO_VMIO |
-		    ((toread / bsize) << IO_SEQSHIFT), td->td_ucred);
+		KASSERT(rv == VM_PAGER_OK, ("%s: pager fail obj %p page %p",
+		    __func__, obj, pa[i]));
 
+		vm_page_xunbusy(pa[i]);
 		SFSTAT_INC(sf_iocnt);
-	} else {
-		/*
-		 * XXXGL: need fix for for multiple pages.
-		 */
-		error = EDOOFUS;
-		VM_OBJECT_WUNLOCK(obj);
-#if 0
-		if (vm_pager_has_page(obj, pindex, NULL, NULL)) {
-			rv = vm_pager_get_pages(obj, &m, 1, 0);
-			SFSTAT_INC(sf_iocnt);
-			m = vm_page_lookup(obj, pindex);
-			if (m == NULL)
-				error = EIO;
-			else if (rv != VM_PAGER_OK) {
-				vm_page_lock(m);
-				vm_page_free(m);
-				vm_page_unlock(m);
-				m = NULL;
-				error = EIO;
-			}
-		} else {
-			pmap_zero_page(m);
-			m->valid = VM_PAGE_BITS_ALL;
-			m->dirty = 0;
-		}
-		if (m != NULL)
-			vm_page_xunbusy(m);
-#endif
-	}
+		for (; a > 0 && i < npages; a--, i++) {
+			vm_page_t p;
 
-done:
-	if (error) {
-		/*
-		 * Free rest of the mbuf chain in case of either hard or
-		 * soft (EBUSY) error.
-		 */
-		if (mp) {  
-			KASSERT(mp->m_next == m,
-			    ("%s: bad mp %p", __func__, mp));
-			mp->m_next = NULL;
+			p = pa[i];
+			pa[i] = vm_page_lookup(obj, OFF_TO_IDX(pd[i].off));
+			if (p != pa[i])
+				printf("p %p pa[i] %p\n", p, pa[i]);
 		}
-		m_freem(m);
 	}
-#ifdef INVARIANTS
-	  else {
-		VM_OBJECT_WLOCK(obj);
-		for (m = m0, off = off0; m != NULL;
-		    off += m->m_len, m = m->m_next) {
-			vm_page_t pg;
-
-			pg = sf_buf_page((struct sf_buf *)m->m_ext.ext_arg2);
-
-			KASSERT((pg->wire_count > 0 && vm_page_is_valid(pg,
-			    off & PAGE_MASK, m->m_len)),
-			    ("wrong page %p state off %#jx len %d",
-			    pg, (uintmax_t)off, m->m_len));
-		}
-		VM_OBJECT_WUNLOCK(obj);
-	}
-#endif
 
-	return (error);
+	for (int i = 0; i < npages; i++)
+		KASSERT((pa[i]->wire_count > 0 && vm_page_is_valid(pa[i],
+		    pd[i].off & PAGE_MASK, pd[i].xfsize)),
+		    ("wrong page %p state off 0x%jx len 0x%jx",
+		    pa[i], (uintmax_t)pd[i].off, (uintmax_t)pd[i].xfsize));
+
+	VM_OBJECT_WUNLOCK(obj);
 }
 
 static int
@@ -2333,27 +2263,19 @@ vn_sendfile(struct file *fp, int sockfd,
 	struct socket *so;
 	struct mbuf *m, *mh, *mhtail;
 	struct sf_buf *sf;
-	struct vm_page *pg;
 	struct shmfd *shmfd;
 	struct vattr va;
-	off_t off, fsbytes, sbytes, rem, obj_size;
-	int error, bsize, hdrlen, mwait, merror, sfwait;
-	bool inflight_called;
+	off_t off, sbytes, rem, obj_size;
+	int error, serror, bsize, hdrlen, mwait, merror, sfwait;
 
-	pg = NULL;
 	obj = NULL;
 	so = NULL;
 	m = NULL;
-	fsbytes = sbytes = 0;
-	rem = nbytes;
-	obj_size = 0;
-	inflight_called = false;
+	sbytes = 0;
 
 	error = sendfile_getobj(td, fp, &obj, &vp, &shmfd, &obj_size, &bsize);
 	if (error != 0)
 		return (error);
-	if (rem == 0)
-		rem = obj_size;
 
 	error = kern_sendfile_getsock(td, sockfd, &sock_fp, &so);
 	if (error != 0)
@@ -2406,6 +2328,8 @@ vn_sendfile(struct file *fp, int sockfd,
 		hdrlen = 0;
 	}
 
+	rem = nbytes ? omin(nbytes, obj_size - offset) : obj_size - offset;
+
 	/*
 	 * Protect against multiple writers to the socket.
 	 *
@@ -2425,22 +2349,14 @@ vn_sendfile(struct file *fp, int sockfd,
 	 * The outer loop checks the state and available space of the socket
 	 * and takes care of the overall progress.
 	 */
-	for (off = offset; ; ) {
+	for (off = offset; rem > 0; ) {
+		vm_page_t *pa;
+		struct page_descr *pd;
+		u_int npages;
 		struct mbuf *mtail;
-		off_t loopoff;
-		int loopbytes;
 		int space;
-		int done;
-
-		if ((nbytes != 0 && nbytes == fsbytes) ||
-		    (nbytes == 0 && obj_size == fsbytes))
-			break;
 
 		mtail = NULL;
-		loopbytes = 0;
-		space = 0;
-		done = 0;
-
 		/*
 		 * Check the socket state for ongoing connection,
 		 * no errors and space in socket buffer.
@@ -2516,46 +2432,43 @@ retry_space:
 				VOP_UNLOCK(vp, 0);
 				goto done;
 			}
-			obj_size = va.va_size;
+			if (va.va_size != obj_size) {
+				if (nbytes == 0)
+					rem += va.va_size - obj_size;
+				else if (offset + nbytes > va.va_size)
+					rem -= (offset + nbytes - va.va_size);
+				obj_size = va.va_size;
+			}
+		}
+
+		if (space > rem)
+			space = rem;
+
+		npages = howmany(space - (PAGE_SIZE - off & PAGE_MASK),
+		    PAGE_SIZE);
+		if (off & PAGE_MASK)
+			npages++;
+		pa = malloc(npages * sizeof(vm_page_t), M_TEMP, mwait);
+		if (pa == NULL) {
+			error = merror;
+			goto done;
+		}
+		pd = malloc(npages * sizeof(*pd), M_TEMP, mwait);
+		if (pd == NULL) {
+			free(pa, M_TEMP);
+			error = merror;
+			goto done;
 		}
+		sendfile_swapin(obj, pa, pd, npages, off, space);
 
 		/*
 		 * Loop and construct maximum sized mbuf chain to be bulk
 		 * dumped into socket buffer.
 		 */
-		loopoff = off;
-		while (space > loopbytes) {
-			vm_offset_t pgoff;
-			vm_pindex_t pindex;
-			off_t xfsize;
+		for (int i = 0; i < npages; i++) {
 			struct mbuf *m0;
 
 			/*
-			 * Calculate the amount to transfer.
-			 * Not to exceed a page, the EOF,
-			 * or the passed in nbytes.
-			 */
-			pgoff = (vm_offset_t)(loopoff & PAGE_MASK);
-			rem = obj_size - offset;
-			if (nbytes != 0)
-				rem = omin(rem, nbytes);
-			rem -= fsbytes + loopbytes;
-			xfsize = omin(PAGE_SIZE - pgoff, rem);
-			xfsize = omin(space - loopbytes, xfsize);
-			if (xfsize <= 0) {
-				done = 1;		/* all data sent */
-				break;
-			}
-
-			pindex = OFF_TO_IDX(loopoff);
-			VM_OBJECT_WLOCK(obj);
-			pg = vm_page_grab(obj, pindex,
-			    (vp != NULL ? VM_ALLOC_NOBUSY |
-			    VM_ALLOC_IGN_SBUSY : 0) |
-			    VM_ALLOC_WIRED | VM_ALLOC_NORMAL);
-			VM_OBJECT_WUNLOCK(obj);
-
-			/*
 			 * Get a sendfile buf.  When allocating the
 			 * first buffer for mbuf chain, we usually
 			 * wait as long as necessary, but this wait
@@ -2564,14 +2477,15 @@ retry_space:
 			 * threads might exhaust the buffers and then
 			 * deadlock.
 			 */
-			sf = sf_buf_alloc(pg, m != NULL ? SFB_NOWAIT : sfwait);
+			sf = sf_buf_alloc(pa[i],
+			    m != NULL ? SFB_NOWAIT : sfwait);
 			if (sf == NULL) {
 				SFSTAT_INC(sf_allocfail);
-				vm_page_lock(pg);
-				vm_page_unwire(pg, 0);
-				KASSERT(pg->object != NULL,
-				    ("%s: object disappeared", __func__));
-				vm_page_unlock(pg);
+				for (int j = i; j < npages; j++) {
+					vm_page_lock(pa[j]);
+					vm_page_unwire(pa[j], 0);
+					vm_page_unlock(pa[j]);
+				}
 				if (m == NULL)
 					error = merror;
 				break;
@@ -2590,13 +2504,19 @@ retry_space:
 			if (m_extadd(m0, (caddr_t )sf_buf_kva(sf), PAGE_SIZE,
 			    sf_buf_mext, sfs, sf, M_RDONLY, EXT_SFBUF, mwait)
 			    != 0) {
+				for (int j = i + 1; j < npages; j++) {
+					vm_page_lock(pa[j]);
+					vm_page_unwire(pa[j], 0);
+					vm_page_unlock(pa[j]);
+				}
 				error = merror;
 				(void)sf_buf_mext(NULL, NULL, sf);
 				m_freem(m0);
 				break;
 			}
-			m0->m_data = (char *)sf_buf_kva(sf) + pgoff;
-			m0->m_len = xfsize;
+			m0->m_data = (char *)sf_buf_kva(sf) +
+			    (pd[i].off & PAGE_MASK);
+			m0->m_len = pd[i].xfsize;
 
 			/* Append to mbuf chain. */
 			if (mtail != NULL)
@@ -2606,8 +2526,8 @@ retry_space:
 			mtail = m0;
 
 			/* Keep track of bytes processed. */
-			loopbytes += xfsize;
-			loopoff += xfsize;
+			off += pd[i].xfsize;
+			rem -= pd[i].xfsize;
 
 			/*
 			 * XXX eventually this should be a sfsync
@@ -2617,16 +2537,12 @@ retry_space:
 				sf_sync_ref(sfs);
 		}
 
-		error = sendfile_read(obj, m, vp, flags, off, &loopbytes,
-		    bsize, td);
-		if (loopbytes)
-			off += loopbytes;
-		else
-			m = NULL;
-
 		if (vp != NULL)
 			VOP_UNLOCK(vp, 0);
 
+		free(pa, M_TEMP);
+		free(pd, M_TEMP);
+
 		/* Prepend header, if any. */
 		if (hdrlen) {
 			mhtail->m_next = m;
@@ -2634,47 +2550,31 @@ retry_space:
 		}
 
 		/* Add the buffer chain to the socket buffer. */
-		if (loopbytes + hdrlen > 0) {
-			int err;
+		KASSERT(m_length(m, NULL) == space + hdrlen,
+		    ("%s: mlen %u space %d hdrlen %d",
+		    __func__, m_length(m, NULL), space, hdrlen));
 
-			KASSERT(m_length(m, NULL) == loopbytes + hdrlen,
-			    ("%s: mlen %u loop %d hdr %d", __func__,
-			    m_length(m, NULL), loopbytes, hdrlen));
-
-			SOCKBUF_LOCK(&so->so_snd);
-			if (so->so_snd.sb_state & SBS_CANTSENDMORE) {
-				error = EPIPE;
-				SOCKBUF_UNLOCK(&so->so_snd);
-				goto done;
-			}
+		SOCKBUF_LOCK(&so->so_snd);
+		if (so->so_snd.sb_state & SBS_CANTSENDMORE) {
+			error = EPIPE;
 			SOCKBUF_UNLOCK(&so->so_snd);
-			CURVNET_SET(so->so_vnet);
-			/* Avoid error aliasing. */
-			err = (*so->so_proto->pr_usrreqs->pru_send)
-				    (so, 0, m, NULL, NULL, td);
-			CURVNET_RESTORE();
-			if (err == 0) {
-				/*
-				 * We need two counters to get the
-				 * file offset and nbytes to send
-				 * right:
-				 * - sbytes contains the total amount
-				 *   of bytes sent, including headers.
-				 * - fsbytes contains the total amount
-				 *   of bytes sent from the file.
-				 */
-				sbytes += loopbytes + hdrlen;
-				fsbytes += loopbytes;
-				if (hdrlen)
-					hdrlen = 0;
-			} else if (error == 0)
-				error = err;
-			m = NULL;	/* pru_send always consumes */
-		}
-
-		/* Quit outer loop on error or when we're done. */
-		if (done)
-			break;
+			goto done;
+		}
+		SOCKBUF_UNLOCK(&so->so_snd);
+		CURVNET_SET(so->so_vnet);
+		/* Avoid error aliasing. */
+		serror = (*so->so_proto->pr_usrreqs->pru_send)
+			    (so, 0, m, NULL, NULL, td);
+		CURVNET_RESTORE();
+		if (serror == 0) {
+			sbytes += space + hdrlen;
+			if (hdrlen)
+				hdrlen = 0;
+		} else if (error == 0)
+			error = serror;
+		m = NULL;	/* pru_send always consumes */
+
+		/* Quit outer loop on error. */
 		if (error != 0)
 			goto done;
 	}

From owner-svn-src-projects@FreeBSD.ORG  Sun Dec  1 21:44:07 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 2A52C14A;
 Sun,  1 Dec 2013 21:44:07 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 161421BFB;
 Sun,  1 Dec 2013 21:44:07 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB1Li6GH020564;
 Sun, 1 Dec 2013 21:44:06 GMT (envelope-from andrew@svn.freebsd.org)
Received: (from andrew@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB1Li6RV020560;
 Sun, 1 Dec 2013 21:44:06 GMT (envelope-from andrew@svn.freebsd.org)
Message-Id: <201312012144.rB1Li6RV020560@svn.freebsd.org>
From: Andrew Turner <andrew@FreeBSD.org>
Date: Sun, 1 Dec 2013 21:44:06 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258816 - in projects/specific_leg/sys/arm: arm
 broadcom/bcm2835 ti
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Dec 2013 21:44:07 -0000

Author: andrew
Date: Sun Dec  1 21:44:05 2013
New Revision: 258816
URL: http://svnweb.freebsd.org/changeset/base/258816

Log:
  Move bus_dma_get_range and bus_dma_get_range_nb to use the platform code.

Modified:
  projects/specific_leg/sys/arm/arm/platform.c
  projects/specific_leg/sys/arm/arm/platform_if.m
  projects/specific_leg/sys/arm/broadcom/bcm2835/bcm2835_machdep.c
  projects/specific_leg/sys/arm/ti/ti_machdep.c

Modified: projects/specific_leg/sys/arm/arm/platform.c
==============================================================================
--- projects/specific_leg/sys/arm/arm/platform.c	Sun Dec  1 21:10:07 2013	(r258815)
+++ projects/specific_leg/sys/arm/arm/platform.c	Sun Dec  1 21:44:05 2013	(r258816)
@@ -34,11 +34,13 @@ __FBSDID("$FreeBSD$");
  * through a previously registered kernel object.
  */
 
+#define	_ARM32_BUS_DMA_PRIVATE
 #include <sys/param.h>
 #include <sys/kernel.h>
 #include <sys/lock.h>
 #include <sys/ktr.h>
 #include <sys/mutex.h>
+#include <sys/rman.h>
 #include <sys/systm.h>
 #include <sys/smp.h>
 #include <sys/sysctl.h>
@@ -47,6 +49,7 @@ __FBSDID("$FreeBSD$");
 #include <vm/vm.h>
 #include <vm/vm_page.h>
 
+#include <machine/bus_dma.h>
 #include <machine/cpu.h>
 #include <machine/intr.h>
 #include <machine/md_var.h>
@@ -185,3 +188,14 @@ arm_unmask_irq(uintptr_t irq)
 	PLATFORM_UNMASK_IRQ(plat_obj, irq);
 }
 
+struct arm32_dma_range *
+bus_dma_get_range(void)
+{
+	return PLATFORM_BUS_DMA_GET_RANGE(plat_obj);
+}
+
+int
+bus_dma_get_range_nb(void)
+{
+	return PLATFORM_BUS_DMA_GET_RANGE_NB(plat_obj);
+}

Modified: projects/specific_leg/sys/arm/arm/platform_if.m
==============================================================================
--- projects/specific_leg/sys/arm/arm/platform_if.m	Sun Dec  1 21:10:07 2013	(r258815)
+++ projects/specific_leg/sys/arm/arm/platform_if.m	Sun Dec  1 21:44:05 2013	(r258816)
@@ -56,6 +56,18 @@ CODE {
 	{
 		return;
 	}
+
+	static struct arm32_dma_range *
+	platform_null_bus_dma_get_range(platform_t plat)
+	{
+		return (NULL);
+	}
+
+	static int platform_null_bus_dma_get_range_nb(platform_t plat)
+	{
+		return (0);
+	}
+
 #if 0
 	static int platform_null_smp_first_cpu(platform_t plat,
 	    struct cpuref  *cpuref)
@@ -156,3 +168,15 @@ METHOD void unmask_irq {
 	uintptr_t	irq;
 };
 
+/**
+ */
+METHOD struct arm32_dma_range * bus_dma_get_range {
+	platform_t	_plat;
+} DEFAULT platform_null_bus_dma_get_range;
+
+/**
+ */
+METHOD int bus_dma_get_range_nb {
+	platform_t	_plat;
+} DEFAULT platform_null_bus_dma_get_range_nb;
+

Modified: projects/specific_leg/sys/arm/broadcom/bcm2835/bcm2835_machdep.c
==============================================================================
--- projects/specific_leg/sys/arm/broadcom/bcm2835/bcm2835_machdep.c	Sun Dec  1 21:10:07 2013	(r258815)
+++ projects/specific_leg/sys/arm/broadcom/bcm2835/bcm2835_machdep.c	Sun Dec  1 21:44:05 2013	(r258816)
@@ -116,20 +116,6 @@ bcm2835_devmap_init(platform_t plat)
 	return (0);
 }
 
-struct arm32_dma_range *
-bus_dma_get_range(void)
-{
-
-	return (NULL);
-}
-
-int
-bus_dma_get_range_nb(void)
-{
-
-	return (0);
-}
-
 void
 cpu_reset()
 {

Modified: projects/specific_leg/sys/arm/ti/ti_machdep.c
==============================================================================
--- projects/specific_leg/sys/arm/ti/ti_machdep.c	Sun Dec  1 21:10:07 2013	(r258815)
+++ projects/specific_leg/sys/arm/ti/ti_machdep.c	Sun Dec  1 21:44:05 2013	(r258816)
@@ -127,20 +127,6 @@ ti_am335x_devmap_init(platform_t plat)
 }
 #endif
 
-struct arm32_dma_range *
-bus_dma_get_range(void)
-{
-
-	return (NULL);
-}
-
-int
-bus_dma_get_range_nb(void)
-{
-
-	return (0);
-}
-
 void
 cpu_reset()
 {

From owner-svn-src-projects@FreeBSD.ORG  Sun Dec  1 23:51:32 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 6AD0D145;
 Sun,  1 Dec 2013 23:51:32 +0000 (UTC)
Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 39D731075;
 Sun,  1 Dec 2013 23:51:31 +0000 (UTC)
Received: from jre-mbp.elischer.org
 (ppp121-45-246-96.lns20.per2.internode.on.net [121.45.246.96])
 (authenticated bits=0)
 by vps1.elischer.org (8.14.7/8.14.7) with ESMTP id rB1NpIHI001942
 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
 Sun, 1 Dec 2013 15:51:24 -0800 (PST)
 (envelope-from julian@freebsd.org)
Message-ID: <529BCB70.3000308@freebsd.org>
Date: Mon, 02 Dec 2013 07:51:12 +0800
From: Julian Elischer <julian@freebsd.org>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9;
 rv:24.0) Gecko/20100101 Thunderbird/24.1.1
MIME-Version: 1.0
To: Gleb Smirnoff <glebius@FreeBSD.org>, src-committers@freebsd.org,
 svn-src-projects@freebsd.org
Subject: Re: svn commit: r258815 - projects/sendfile/sys/kern
References: <201312012110.rB1LA7MW008020@svn.freebsd.org>
In-Reply-To: <201312012110.rB1LA7MW008020@svn.freebsd.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 01 Dec 2013 23:51:32 -0000

On 12/2/13, 5:10 AM, Gleb Smirnoff wrote:
> Author: glebius
> Date: Sun Dec  1 21:10:07 2013
>
>    Basic performance testing showed no regressions in timing. Number of I/Os
>    decreased comparing to sendfile() from head, but increased compared to
>    previous version of the projects/sendfile.  On a sample 300 Mb file:
>    
>                    	I/Os
>    head            	3247
>    projects/sendfile        680
>    new code           	2826
>    
>
is there planned future work to reduce the number of reads to the same 
order as the previous prototype?
(i.e. around 1000 or less  vs around 3000)

From owner-svn-src-projects@FreeBSD.ORG  Mon Dec  2 06:12:35 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 10550113;
 Mon,  2 Dec 2013 06:12:35 +0000 (UTC)
Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8D14F143C;
 Mon,  2 Dec 2013 06:12:33 +0000 (UTC)
Received: from cell.glebius.int.ru (localhost [127.0.0.1])
 by cell.glebius.int.ru (8.14.7/8.14.7) with ESMTP id rB26CV11051305
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Mon, 2 Dec 2013 10:12:32 +0400 (MSK)
 (envelope-from glebius@FreeBSD.org)
Received: (from glebius@localhost)
 by cell.glebius.int.ru (8.14.7/8.14.7/Submit) id rB26CVM9051304;
 Mon, 2 Dec 2013 10:12:31 +0400 (MSK)
 (envelope-from glebius@FreeBSD.org)
X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to
 glebius@FreeBSD.org using -f
Date: Mon, 2 Dec 2013 10:12:31 +0400
From: Gleb Smirnoff <glebius@FreeBSD.org>
To: Julian Elischer <julian@freebsd.org>
Subject: Re: svn commit: r258815 - projects/sendfile/sys/kern
Message-ID: <20131202061231.GC48919@FreeBSD.org>
References: <201312012110.rB1LA7MW008020@svn.freebsd.org>
 <529BCB70.3000308@freebsd.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <529BCB70.3000308@freebsd.org>
User-Agent: Mutt/1.5.22 (2013-10-16)
Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Dec 2013 06:12:35 -0000

On Mon, Dec 02, 2013 at 07:51:12AM +0800, Julian Elischer wrote:
J> On 12/2/13, 5:10 AM, Gleb Smirnoff wrote:
J> > Author: glebius
J> > Date: Sun Dec  1 21:10:07 2013
J> >
J> >    Basic performance testing showed no regressions in timing. Number of I/Os
J> >    decreased comparing to sendfile() from head, but increased compared to
J> >    previous version of the projects/sendfile.  On a sample 300 Mb file:
J> >    
J> >                    	I/Os
J> >    head            	3247
J> >    projects/sendfile        680
J> >    new code           	2826
J> >    
J> >
J> is there planned future work to reduce the number of reads to the same 
J> order as the previous prototype?
J> (i.e. around 1000 or less  vs around 3000)

I should have noticed that this is 'netstat -m' output, number of sendfile
initiated I/Os, not disk statistics.

The number of IOs isn't the Graal we are seeking for. Graal is overall
performance. Previous version of branch counted VOP_READs. They were large
enough, up to the size of the socket buffer. But apparently lower filesystem
code split them into smaller. Now we count vm_pager_get_pages(), but amount
of pages we pass to it is hinted by vm_pager_has_page(). And the latter
hints us about how many pages can it grab with a single disk I/O.

-- 
Totus tuus, Glebius.

From owner-svn-src-projects@FreeBSD.ORG  Mon Dec  2 06:14:12 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 093C127B;
 Mon,  2 Dec 2013 06:14:12 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id E643E1458;
 Mon,  2 Dec 2013 06:14:11 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB26EBtZ066309;
 Mon, 2 Dec 2013 06:14:11 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB26E6Cc066256;
 Mon, 2 Dec 2013 06:14:06 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201312020614.rB26E6Cc066256@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Mon, 2 Dec 2013 06:14:06 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258836 - in projects/altix2/sys: amd64/amd64
 amd64/include arm/arm arm/include conf dev/pci i386/i386 i386/include
 ia64/ia64 ia64/include kern mips/include mips/mips powerpc/include po...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Dec 2013 06:14:12 -0000

Author: marcel
Date: Mon Dec  2 06:14:05 2013
New Revision: 258836
URL: http://svnweb.freebsd.org/changeset/base/258836

Log:
  Replace option BUSDMA_MI with LEGACY_BUS_DMA and provide the beginning
  of a compatibility shim from the legacy bus_dma interface to the new
  busdma/mi interface. The shim makes it possible (by intent) to switch
  to busdma/mi without first having to port drivers to it. Use the new
  LEGACY_BUS_DMA option to compile-in the actual legacy implementation
  when *not* using busdma/mi and thus when now using the shim. Otherwise
  the shim provides the implementation, which tends to do something else.
  
  The shim needs fleshing out to be functional. In its current form it
  merely allows LINT to build (for amd64).

Added:
  projects/altix2/sys/sys/bus_dma_compat.h
Modified:
  projects/altix2/sys/amd64/amd64/vm_machdep.c
  projects/altix2/sys/amd64/include/md_var.h
  projects/altix2/sys/arm/arm/vm_machdep.c
  projects/altix2/sys/arm/include/md_var.h
  projects/altix2/sys/conf/files
  projects/altix2/sys/conf/files.amd64
  projects/altix2/sys/conf/files.arm
  projects/altix2/sys/conf/files.i386
  projects/altix2/sys/conf/files.ia64
  projects/altix2/sys/conf/files.mips
  projects/altix2/sys/conf/files.pc98
  projects/altix2/sys/conf/files.powerpc
  projects/altix2/sys/conf/options
  projects/altix2/sys/dev/pci/vga_pci.c
  projects/altix2/sys/i386/i386/vm_machdep.c
  projects/altix2/sys/i386/include/md_var.h
  projects/altix2/sys/ia64/ia64/vm_machdep.c
  projects/altix2/sys/ia64/include/md_var.h
  projects/altix2/sys/kern/kern_intr.c
  projects/altix2/sys/kern/subr_bus.c
  projects/altix2/sys/mips/include/md_var.h
  projects/altix2/sys/mips/mips/vm_machdep.c
  projects/altix2/sys/powerpc/include/md_var.h
  projects/altix2/sys/powerpc/powerpc/vm_machdep.c
  projects/altix2/sys/sparc64/sparc64/vm_machdep.c
  projects/altix2/sys/sys/bus.h
  projects/altix2/sys/sys/bus_dma.h

Modified: projects/altix2/sys/amd64/amd64/vm_machdep.c
==============================================================================
--- projects/altix2/sys/amd64/amd64/vm_machdep.c	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/amd64/amd64/vm_machdep.c	Mon Dec  2 06:14:05 2013	(r258836)
@@ -697,15 +697,17 @@ cpu_reset_real()
 	while(1);
 }
 
+#if defined(LEGACY_BUS_DMA)
 /*
  * Software interrupt handler for queued VM system processing.
  */   
 void  
 swi_vm(void *dummy) 
-{     
+{
 	if (busdma_swi_pending != 0)
 		busdma_swi();
 }
+#endif
 
 /*
  * Tell whether this address is in some physical memory region.

Modified: projects/altix2/sys/amd64/include/md_var.h
==============================================================================
--- projects/altix2/sys/amd64/include/md_var.h	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/amd64/include/md_var.h	Mon Dec  2 06:14:05 2013	(r258836)
@@ -38,7 +38,12 @@
 
 extern	long	Maxmem;
 extern	u_int	basemem;
+
+#if defined(LEGACY_BUS_DMA)
 extern	int	busdma_swi_pending;
+void	busdma_swi(void);
+#endif
+
 extern	u_int	cpu_exthigh;
 extern	u_int	cpu_feature;
 extern	u_int	cpu_feature2;
@@ -87,7 +92,6 @@ struct	dumperinfo;
 
 void	*alloc_fpusave(int flags);
 void	amd64_syscall(struct thread *td, int traced);
-void	busdma_swi(void);
 void	cpu_setregs(void);
 void	ctx_fpusave(void *);
 void	doreti_iret(void) __asm(__STRING(doreti_iret));

Modified: projects/altix2/sys/arm/arm/vm_machdep.c
==============================================================================
--- projects/altix2/sys/arm/arm/vm_machdep.c	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/arm/arm/vm_machdep.c	Mon Dec  2 06:14:05 2013	(r258836)
@@ -466,6 +466,7 @@ cpu_set_fork_handler(struct thread *td, 
 	    ("cpu_set_fork_handler: Incorrect stack alignment"));
 }
 
+#if defined(LEGACY_BUS_DMA)
 /*
  * Software interrupt handler for queued VM system processing.
  */
@@ -476,6 +477,7 @@ swi_vm(void *dummy)
 	if (busdma_swi_pending)
 		busdma_swi();
 }
+#endif
 
 void
 cpu_exit(struct thread *td)

Modified: projects/altix2/sys/arm/include/md_var.h
==============================================================================
--- projects/altix2/sys/arm/include/md_var.h	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/arm/include/md_var.h	Mon Dec  2 06:14:05 2013	(r258836)
@@ -71,8 +71,12 @@ enum cpu_class {
 extern enum cpu_class cpu_class;
 
 struct dumperinfo;
+
+#if defined(LEGACY_BUS_DMA)
 extern int busdma_swi_pending;
 void busdma_swi(void);
+#endif
+
 void dump_add_page(vm_paddr_t);
 void dump_drop_page(vm_paddr_t);
 void minidumpsys(struct dumperinfo *);

Modified: projects/altix2/sys/conf/files
==============================================================================
--- projects/altix2/sys/conf/files	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/conf/files	Mon Dec  2 06:14:05 2013	(r258836)
@@ -2863,7 +2863,7 @@ kern/subr_acl_posix1e.c		optional ufs_ac
 kern/subr_autoconf.c		standard
 kern/subr_blist.c		standard
 kern/subr_bus.c			standard
-kern/subr_bus_dma.c		standard
+kern/subr_bus_dma.c		optional legacy_bus_dma
 kern/subr_busdma.c		standard
 kern/subr_bufring.c		standard
 kern/subr_capability.c		standard

Modified: projects/altix2/sys/conf/files.amd64
==============================================================================
--- projects/altix2/sys/conf/files.amd64	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/conf/files.amd64	Mon Dec  2 06:14:05 2013	(r258836)
@@ -550,8 +550,8 @@ x86/isa/nmi.c			standard
 x86/isa/orm.c			optional	isa
 x86/pci/pci_bus.c		optional	pci
 x86/pci/qpi.c			optional	pci
-x86/x86/busdma_bounce.c		standard
-x86/x86/busdma_machdep.c	standard
+x86/x86/busdma_bounce.c		optional	legacy_bus_dma
+x86/x86/busdma_machdep.c	optional	legacy_bus_dma
 x86/x86/dump_machdep.c		standard
 x86/x86/fdt_machdep.c		optional	fdt
 x86/x86/intr_machdep.c		standard

Modified: projects/altix2/sys/conf/files.arm
==============================================================================
--- projects/altix2/sys/conf/files.arm	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/conf/files.arm	Mon Dec  2 06:14:05 2013	(r258836)
@@ -5,8 +5,21 @@ arm/arm/bcopyinout.S		standard
 arm/arm/blockio.S		standard
 arm/arm/bootconfig.c		standard
 arm/arm/bus_space_asm_generic.S	standard
-arm/arm/busdma_machdep.c 	optional	cpu_arm9 | cpu_arm9e | cpu_fa526 | cpu_sa1100 | cpu_sa1110 | cpu_xscale_80219 | cpu_xscale_80321 | cpu_xscale_81342 | cpu_xscale_ixp425 | cpu_xscale_ixp435 | cpu_xscale_pxa2x0
-arm/arm/busdma_machdep-v6.c 	optional	cpu_arm1136 | cpu_arm1176 | cpu_cortexa | cpu_mv_pj4b
+arm/arm/busdma_machdep.c 	optional	legacy_bus_dma cpu_arm9
+arm/arm/busdma_machdep.c 	optional	legacy_bus_dma cpu_arm9e
+arm/arm/busdma_machdep.c 	optional	legacy_bus_dma cpu_fa526
+arm/arm/busdma_machdep.c 	optional	legacy_bus_dma cpu_sa1100
+arm/arm/busdma_machdep.c 	optional	legacy_bus_dma cpu_sa1110
+arm/arm/busdma_machdep.c 	optional	legacy_bus_dma cpu_xscale_80219
+arm/arm/busdma_machdep.c 	optional	legacy_bus_dma cpu_xscale_80321
+arm/arm/busdma_machdep.c 	optional	legacy_bus_dma cpu_xscale_81342
+arm/arm/busdma_machdep.c 	optional	legacy_bus_dma cpu_xscale_ixp425
+arm/arm/busdma_machdep.c 	optional	legacy_bus_dma cpu_xscale_ixp435
+arm/arm/busdma_machdep.c 	optional	legacy_bus_dma cpu_xscale_pxa2x0
+arm/arm/busdma_machdep-v6.c 	optional	legacy_bus_dma cpu_arm1136
+arm/arm/busdma_machdep-v6.c 	optional	legacy_bus_dma cpu_arm1176
+arm/arm/busdma_machdep-v6.c 	optional	legacy_bus_dma cpu_cortexa
+arm/arm/busdma_machdep-v6.c 	optional	legacy_bus_dma cpu_mv_pj4b
 arm/arm/copystr.S		standard
 arm/arm/cpufunc.c		standard
 arm/arm/cpufunc_asm.S		standard
@@ -72,7 +85,7 @@ font.h				optional	sc			\
 	compile-with	"uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h" \
 	no-obj no-implicit-rule before-depend				\
 	clean	"font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8"
-kern/subr_busdma_bufalloc.c	standard
+kern/subr_busdma_bufalloc.c	optional	legacy_bus_dma
 kern/subr_dummy_vdso_tc.c	standard
 libkern/arm/aeabi_unwind.c	standard
 libkern/arm/divsi3.S		standard

Modified: projects/altix2/sys/conf/files.i386
==============================================================================
--- projects/altix2/sys/conf/files.i386	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/conf/files.i386	Mon Dec  2 06:14:05 2013	(r258836)
@@ -573,8 +573,8 @@ x86/isa/nmi.c			standard
 x86/isa/orm.c			optional isa
 x86/pci/pci_bus.c		optional pci
 x86/pci/qpi.c			optional pci
-x86/x86/busdma_bounce.c		standard
-x86/x86/busdma_machdep.c	standard
+x86/x86/busdma_bounce.c		optional legacy_bus_dma
+x86/x86/busdma_machdep.c	optional legacy_bus_dma
 x86/x86/dump_machdep.c		standard
 x86/x86/fdt_machdep.c		optional fdt
 x86/x86/intr_machdep.c		standard

Modified: projects/altix2/sys/conf/files.ia64
==============================================================================
--- projects/altix2/sys/conf/files.ia64	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/conf/files.ia64	Mon Dec  2 06:14:05 2013	(r258836)
@@ -72,7 +72,7 @@ ia64/ia32/ia32_signal.c		optional	compat
 ia64/ia32/ia32_trap.c		optional	compat_freebsd32
 ia64/ia64/autoconf.c		standard
 ia64/ia64/bus_machdep.c		standard
-ia64/ia64/busdma_machdep.c	standard
+ia64/ia64/busdma_machdep.c	optional	legacy_bus_dma
 ia64/ia64/clock.c		standard
 ia64/ia64/context.S		standard
 ia64/ia64/db_machdep.c		optional	ddb

Modified: projects/altix2/sys/conf/files.mips
==============================================================================
--- projects/altix2/sys/conf/files.mips	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/conf/files.mips	Mon Dec  2 06:14:05 2013	(r258836)
@@ -8,7 +8,7 @@
 mips/mips/autoconf.c			standard
 mips/mips/bus_space_generic.c		standard
 mips/mips/bus_space_fdt.c		optional	fdt
-mips/mips/busdma_machdep.c		standard
+mips/mips/busdma_machdep.c		optional	legacy_bus_dma
 mips/mips/cache.c			standard
 mips/mips/cache_mipsNN.c		standard
 mips/mips/cpu.c				standard

Modified: projects/altix2/sys/conf/files.pc98
==============================================================================
--- projects/altix2/sys/conf/files.pc98	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/conf/files.pc98	Mon Dec  2 06:14:05 2013	(r258836)
@@ -247,8 +247,8 @@ x86/isa/atpic.c			optional atpic	
 x86/isa/clock.c			standard
 x86/isa/isa.c			optional isa
 x86/pci/pci_bus.c		optional pci
-x86/x86/busdma_bounce.c		standard
-x86/x86/busdma_machdep.c	standard
+x86/x86/busdma_bounce.c		optional legacy_bus_dma
+x86/x86/busdma_machdep.c	optional legacy_bus_dma
 x86/x86/dump_machdep.c		standard
 x86/x86/intr_machdep.c		standard
 x86/x86/io_apic.c		optional apic

Modified: projects/altix2/sys/conf/files.powerpc
==============================================================================
--- projects/altix2/sys/conf/files.powerpc	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/conf/files.powerpc	Mon Dec  2 06:14:05 2013	(r258836)
@@ -169,7 +169,7 @@ powerpc/powerpc/altivec.c	standard
 powerpc/powerpc/autoconf.c	standard
 powerpc/powerpc/bcopy.c		standard
 powerpc/powerpc/bus_machdep.c	standard
-powerpc/powerpc/busdma_machdep.c standard
+powerpc/powerpc/busdma_machdep.c optional	legacy_bus_dma
 powerpc/powerpc/clock.c		standard
 powerpc/powerpc/copyinout.c	standard
 powerpc/powerpc/copystr.c	standard

Modified: projects/altix2/sys/conf/options
==============================================================================
--- projects/altix2/sys/conf/options	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/conf/options	Mon Dec  2 06:14:05 2013	(r258836)
@@ -73,7 +73,6 @@ ATSE_CFI_HACK	opt_cfi.h
 AUDIT		opt_global.h
 BOOTHOWTO	opt_global.h
 BOOTVERBOSE	opt_global.h
-BUSDMA_MI	opt_global.h
 CALLOUT_PROFILING
 CAPABILITIES	opt_capsicum.h
 CAPABILITY_MODE	opt_capsicum.h
@@ -132,6 +131,7 @@ KSTACK_MAX_PAGES
 KSTACK_PAGES
 KTRACE
 KTRACE_REQUEST_POOL	opt_ktrace.h
+LEGACY_BUS_DMA	opt_global.h
 LIBICONV
 MAC		opt_global.h
 MAC_BIBA	opt_dontuse.h

Modified: projects/altix2/sys/dev/pci/vga_pci.c
==============================================================================
--- projects/altix2/sys/dev/pci/vga_pci.c	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/dev/pci/vga_pci.c	Mon Dec  2 06:14:05 2013	(r258836)
@@ -508,12 +508,14 @@ vga_pci_msix_count(device_t dev, device_
 	return (pci_msix_count(dev));
 }
 
+#if defined(LEGACY_BUS_DMA)
 static bus_dma_tag_t
 vga_pci_get_dma_tag(device_t bus, device_t child)
 {
 
 	return (bus_get_dma_tag(bus));
 }
+#endif
 
 static device_method_t vga_pci_methods[] = {
 	/* Device interface */
@@ -532,7 +534,9 @@ static device_method_t vga_pci_methods[]
 	DEVMETHOD(bus_release_resource,	vga_pci_release_resource),
 	DEVMETHOD(bus_activate_resource, bus_generic_activate_resource),
 	DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource),
+#if defined(LEGACY_BUS_DMA)
 	DEVMETHOD(bus_get_dma_tag,	vga_pci_get_dma_tag),
+#endif
 
 	/* PCI interface */
 	DEVMETHOD(pci_read_config,	vga_pci_read_config),

Modified: projects/altix2/sys/i386/i386/vm_machdep.c
==============================================================================
--- projects/altix2/sys/i386/i386/vm_machdep.c	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/i386/i386/vm_machdep.c	Mon Dec  2 06:14:05 2013	(r258836)
@@ -946,15 +946,17 @@ sf_buf_free(struct sf_buf *sf)
 	mtx_unlock(&sf_buf_lock);
 }
 
+#if defined(LEGACY_BUS_DMA)
 /*
  * Software interrupt handler for queued VM system processing.
  */   
 void  
 swi_vm(void *dummy) 
-{     
+{
 	if (busdma_swi_pending != 0)
 		busdma_swi();
 }
+#endif
 
 /*
  * Tell whether this address is in some physical memory region.

Modified: projects/altix2/sys/i386/include/md_var.h
==============================================================================
--- projects/altix2/sys/i386/include/md_var.h	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/i386/include/md_var.h	Mon Dec  2 06:14:05 2013	(r258836)
@@ -38,7 +38,12 @@
 
 extern	long	Maxmem;
 extern	u_int	basemem;	/* PA of original top of base memory */
+
+#if defined(LEGACY_BUS_DMA)
 extern	int	busdma_swi_pending;
+void	busdma_swi(void);
+#endif
+
 extern	u_int	cpu_exthigh;
 extern	u_int	cpu_feature;
 extern	u_int	cpu_feature2;
@@ -81,7 +86,6 @@ struct  dbreg;
 struct	dumperinfo;
 
 void	bcopyb(const void *from, void *to, size_t len);
-void	busdma_swi(void);
 void	cpu_setregs(void);
 void	cpu_switch_load_gs(void) __asm(__STRING(cpu_switch_load_gs));
 void	doreti_iret(void) __asm(__STRING(doreti_iret));

Modified: projects/altix2/sys/ia64/ia64/vm_machdep.c
==============================================================================
--- projects/altix2/sys/ia64/ia64/vm_machdep.c	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/ia64/ia64/vm_machdep.c	Mon Dec  2 06:14:05 2013	(r258836)
@@ -351,6 +351,7 @@ cpu_exit(struct thread *td)
 {
 }
 
+#if defined(LEGACY_BUS_DMA)
 /*
  * Software interrupt handler for queued VM system processing.
  */   
@@ -361,3 +362,4 @@ swi_vm(void *dummy) 
 	if (busdma_swi_pending != 0)
 		busdma_swi();
 }
+#endif

Modified: projects/altix2/sys/ia64/include/md_var.h
==============================================================================
--- projects/altix2/sys/ia64/include/md_var.h	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/ia64/include/md_var.h	Mon Dec  2 06:14:05 2013	(r258836)
@@ -75,10 +75,13 @@ struct ia64_init_return {
 
 extern uint64_t ia64_lapic_addr;
 extern vm_paddr_t paddr_max;
+
+#if defined(LEGACY_BUS_DMA)
 extern u_int busdma_swi_pending;
+void	busdma_swi(void);
+#endif
 
 void	*acpi_find_table(const char *sig);
-void	busdma_swi(void);
 int	copyout_regstack(struct thread *, uint64_t *, uint64_t *);
 void	cpu_mp_add(u_int, u_int, u_int);
 void	cpu_pcpu_setup(struct pcpu *, u_int, u_int);

Modified: projects/altix2/sys/kern/kern_intr.c
==============================================================================
--- projects/altix2/sys/kern/kern_intr.c	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/kern/kern_intr.c	Mon Dec  2 06:14:05 2013	(r258836)
@@ -119,7 +119,6 @@ static void	priv_ithread_execute_handler
 #endif
 static void	ithread_loop(void *);
 static void	ithread_update(struct intr_thread *ithd);
-static void	start_softintr(void *);
 
 /* Map an interrupt type to an ithread priority. */
 u_char
@@ -1861,6 +1860,7 @@ DB_SHOW_COMMAND(intr, db_show_intr)
 }
 #endif /* DDB */
 
+#if defined(LEGACY_BUS_DMA)
 /*
  * Start standard software interrupt threads
  */
@@ -1873,6 +1873,7 @@ start_softintr(void *dummy)
 }
 SYSINIT(start_softintr, SI_SUB_SOFTINTR, SI_ORDER_FIRST, start_softintr,
     NULL);
+#endif
 
 /*
  * Sysctls used by systat and others: hw.intrnames and hw.intrcnt.

Modified: projects/altix2/sys/kern/subr_bus.c
==============================================================================
--- projects/altix2/sys/kern/subr_bus.c	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/kern/subr_bus.c	Mon Dec  2 06:14:05 2013	(r258836)
@@ -4434,6 +4434,7 @@ bus_child_location_str(device_t child, c
 	return (BUS_CHILD_LOCATION_STR(parent, child, buf, buflen));
 }
 
+#if defined(LEGACY_BUS_DMA)
 /**
  * @brief Wrapper function for BUS_GET_DMA_TAG().
  *
@@ -4450,6 +4451,7 @@ bus_get_dma_tag(device_t dev)
 		return (NULL);
 	return (BUS_GET_DMA_TAG(parent, dev));
 }
+#endif /* LEGACY_BUS_DMA */
 
 /* Resume all devices and then notify userland that we're up again. */
 static int

Modified: projects/altix2/sys/mips/include/md_var.h
==============================================================================
--- projects/altix2/sys/mips/include/md_var.h	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/mips/include/md_var.h	Mon Dec  2 06:14:05 2013	(r258836)
@@ -73,8 +73,10 @@ void	mips_pcpu0_init(void);
 void	mips_proc0_init(void);
 void	mips_postboot_fixup(void);
 
+#if defined(LEGACY_BUS_DMA)
 extern int busdma_swi_pending;
 void	busdma_swi(void);
+#endif
 
 struct	dumperinfo;
 void	dump_add_page(vm_paddr_t);

Modified: projects/altix2/sys/mips/mips/vm_machdep.c
==============================================================================
--- projects/altix2/sys/mips/mips/vm_machdep.c	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/mips/mips/vm_machdep.c	Mon Dec  2 06:14:05 2013	(r258836)
@@ -590,6 +590,7 @@ sf_buf_free(struct sf_buf *sf)
 }
 #endif	/* !__mips_n64 */
 
+#if defined(LEGACY_BUS_DMA)
 /*
  * Software interrupt handler for queued VM system processing.
  */
@@ -600,6 +601,7 @@ swi_vm(void *dummy)
 	if (busdma_swi_pending)
 		busdma_swi();
 }
+#endif
 
 int
 cpu_set_user_tls(struct thread *td, void *tls_base)

Modified: projects/altix2/sys/powerpc/include/md_var.h
==============================================================================
--- projects/altix2/sys/powerpc/include/md_var.h	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/powerpc/include/md_var.h	Mon Dec  2 06:14:05 2013	(r258836)
@@ -42,7 +42,11 @@ extern	int	szsigcode64;
 #endif
 
 extern	long	Maxmem;
+
+#if defined(LEGACY_BUS_DMA)
 extern	int	busdma_swi_pending;
+void	busdma_swi(void);
+#endif
 
 extern	vm_offset_t	kstack0;
 extern	vm_offset_t	kstack0_phys;
@@ -53,7 +57,6 @@ extern  int hw_direct_map;
 
 void	__syncicache(void *, int);
 
-void	busdma_swi(void);
 int	is_physical_memory(vm_offset_t addr);
 int	mem_valid(vm_offset_t addr, int len);
 

Modified: projects/altix2/sys/powerpc/powerpc/vm_machdep.c
==============================================================================
--- projects/altix2/sys/powerpc/powerpc/vm_machdep.c	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/powerpc/powerpc/vm_machdep.c	Mon Dec  2 06:14:05 2013	(r258836)
@@ -362,6 +362,7 @@ sf_buf_free(struct sf_buf *sf)
 	mtx_unlock(&sf_buf_lock);
 }
 
+#if defined(LEGACY_BUS_DMA)
 /*
  * Software interrupt handler for queued VM system processing.
  */
@@ -372,6 +373,7 @@ swi_vm(void *dummy)
 	if (busdma_swi_pending != 0)
 		busdma_swi();
 }
+#endif
 
 /*
  * Tell whether this address is in some physical memory region.

Modified: projects/altix2/sys/sparc64/sparc64/vm_machdep.c
==============================================================================
--- projects/altix2/sys/sparc64/sparc64/vm_machdep.c	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/sparc64/sparc64/vm_machdep.c	Mon Dec  2 06:14:05 2013	(r258836)
@@ -494,12 +494,14 @@ sf_buf_free(struct sf_buf *sf)
 	mtx_unlock(&sf_freelist.sf_lock);
 }
 
+#if defined(LEGACY_BUS_DMA)
 void
 swi_vm(void *v)
 {
 
 	/* Nothing to do here - busdma bounce buffers are not implemented. */
 }
+#endif
 
 void *
 uma_small_alloc(uma_zone_t zone, int bytes, u_int8_t *flags, int wait)

Modified: projects/altix2/sys/sys/bus.h
==============================================================================
--- projects/altix2/sys/sys/bus.h	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/sys/bus.h	Mon Dec  2 06:14:05 2013	(r258836)
@@ -388,7 +388,6 @@ int	bus_activate_resource(device_t dev, 
 			      struct resource *r);
 int	bus_deactivate_resource(device_t dev, int type, int rid,
 				struct resource *r);
-bus_dma_tag_t bus_get_dma_tag(device_t dev);
 int	bus_release_resource(device_t dev, int type, int rid,
 			     struct resource *r);
 int	bus_free_resource(device_t dev, int type, struct resource *r);
@@ -411,6 +410,10 @@ int	bus_child_pnpinfo_str(device_t child
 int	bus_child_location_str(device_t child, char *buf, size_t buflen);
 void	bus_enumerate_hinted_children(device_t bus);
 
+#if defined(LEGACY_BUS_DMA)
+bus_dma_tag_t bus_get_dma_tag(device_t dev);
+#endif
+
 static __inline struct resource *
 bus_alloc_resource_any(device_t dev, int type, int *rid, u_int flags)
 {

Modified: projects/altix2/sys/sys/bus_dma.h
==============================================================================
--- projects/altix2/sys/sys/bus_dma.h	Mon Dec  2 06:09:52 2013	(r258835)
+++ projects/altix2/sys/sys/bus_dma.h	Mon Dec  2 06:14:05 2013	(r258836)
@@ -128,17 +128,6 @@ struct uio;
 #define	BUS_DMASYNC_POSTWRITE	8
 
 /*
- *	bus_dma_segment_t
- *
- *	Describes a single contiguous DMA transaction.  Values
- *	are suitable for programming into DMA registers.
- */
-typedef struct bus_dma_segment {
-	bus_addr_t	ds_addr;	/* DMA address */
-	bus_size_t	ds_len;		/* length of transfer */
-} bus_dma_segment_t;
-
-/*
  * A function that returns 1 if the address cannot be accessed by
  * a device and 0 if it can be.
  */
@@ -149,6 +138,19 @@ typedef int bus_dma_filter_t(void *, bus
  */
 void busdma_lock_mutex(void *arg, bus_dma_lock_op_t op);
 
+#if defined(LEGACY_BUS_DMA)
+
+/*
+ *	bus_dma_segment_t
+ *
+ *	Describes a single contiguous DMA transaction.  Values
+ *	are suitable for programming into DMA registers.
+ */
+typedef struct bus_dma_segment {
+	bus_addr_t	ds_addr;	/* DMA address */
+	bus_size_t	ds_len;		/* length of transfer */
+} bus_dma_segment_t;
+
 /*
  * Allocate a device specific dma_tag encapsulating the constraints of
  * the parent tag in addition to other restrictions specified:
@@ -344,4 +346,11 @@ bus_dma_segment_t *_bus_dmamap_complete(
 
 #endif /* __sparc64__ */
 
+#else /* LEGACY_BUS_DMA */
+
+#include <sys/busdma.h>
+#include <sys/bus_dma_compat.h>
+
+#endif /* LEGACY_BUS_DMA */
+
 #endif /* _BUS_DMA_H_ */

Added: projects/altix2/sys/sys/bus_dma_compat.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/altix2/sys/sys/bus_dma_compat.h	Mon Dec  2 06:14:05 2013	(r258836)
@@ -0,0 +1,185 @@
+#ifndef _SYS_BUS_DMA_COMPAT_H_
+#define	_SYS_BUS_DMA_COMPAT_H_
+
+#include <sys/errno.h>
+#include <sys/systm.h>
+
+#include <machine/bus.h>
+
+typedef struct bus_dma_segment {
+	TAILQ_ENTRY(bus_dma_segment) ds_link;
+	u_int		ds_idx;
+	bus_addr_t	ds_addr;	/* bus address */
+	vm_paddr_t	ds_physaddr;
+	vm_offset_t	ds_virtaddr;
+	vm_size_t	ds_len;
+} bus_dma_segment_t;
+
+typedef void bus_dmamap_callback_t(void *, bus_dma_segment_t *, int, int);
+typedef void bus_dmamap_callback2_t(void *, bus_dma_segment_t *, int,
+    bus_size_t, int);
+
+#define	bus_dmamap_t		busdma_md_t
+
+#ifdef CTASSERT
+CTASSERT(__alignof(device_t) > 1);
+CTASSERT(__alignof(bus_dma_tag_t) > 1);
+#endif
+
+static bus_dma_tag_t __inline
+bus_get_dma_tag(device_t dev)
+{
+	bus_dma_tag_t tag;
+	uintptr_t token;
+
+	token = (uintptr_t)(void *)dev;
+	token |= 1;
+	tag = (bus_dma_tag_t)(void *)token;
+	return (tag);
+}
+
+static int __inline
+bus_dma_tag_create(bus_dma_tag_t dt, bus_size_t align, bus_addr_t bndry,
+    bus_addr_t lowaddr, bus_addr_t highaddr, bus_dma_filter_t *filtfunc,
+    void *filtfuncarg, bus_size_t maxsz, int nsegs, bus_size_t maxsegsz,
+    int flags, bus_dma_lock_t *lockfunc, void *lockfuncarg,
+    bus_dma_tag_t *tag_p)
+{
+	busdma_tag_t tag;
+	device_t dev;
+	uintptr_t token;
+	int error;
+
+	KASSERT(highaddr == BUS_SPACE_MAXADDR, ("%s: bad highaddr", __func__));
+
+	token = (uintptr_t)(void *)dt;
+	if (token & 1UL) {
+		dev = (device_t)(void *)(token - 1UL);
+		error = busdma_tag_create(dev, align, bndry, lowaddr, maxsz,
+		    nsegs, maxsegsz, 0, flags, &tag);
+	} else {
+		tag = (busdma_tag_t)(void *)dt;
+		error = busdma_tag_derive(tag, align, bndry, lowaddr, maxsz,
+		    nsegs, maxsegsz, 0, flags, &tag);
+	}
+	*tag_p = (bus_dma_tag_t)(void *)tag;
+
+	/* XXX lockfunc, lockfuncarg */
+	/* XXX filtfunc, filtfuncarg */
+	return (error);
+}
+
+static int __inline
+bus_dma_tag_destroy(bus_dma_tag_t tag)
+{
+	uintptr_t token;
+
+	token = (uintptr_t)(void *)tag;
+	KASSERT((token & 1) == 0, ("%s: bad tag", __func__));
+	return (ENOSYS);
+}
+
+static int __inline
+bus_dmamap_create(bus_dma_tag_t tag, int flags, bus_dmamap_t *mapp)
+{
+
+	return (ENOSYS);
+}
+
+static int __inline
+bus_dmamap_destroy(bus_dma_tag_t tag, bus_dmamap_t map)
+{
+
+	return (ENOSYS);
+}
+
+static int __inline
+bus_dmamap_load(bus_dma_tag_t tag, bus_dmamap_t map, void *buf,
+    bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg,
+    int flags)
+{
+
+	return (ENOSYS);
+}
+
+static int __inline
+bus_dmamap_load_bio(bus_dma_tag_t tag, bus_dmamap_t map, struct bio *bio,
+    bus_dmamap_callback_t *callback, void *callback_arg, int flags)
+{
+
+	return (ENOSYS);
+}
+
+static int __inline
+bus_dmamap_load_ccb(bus_dma_tag_t tag, bus_dmamap_t map, union ccb *ccb,
+    bus_dmamap_callback_t *callback, void *callback_arg, int flags)
+{
+
+	return (ENOSYS);
+}
+
+static int __inline
+bus_dmamap_load_mbuf(bus_dma_tag_t tag, bus_dmamap_t map, struct mbuf *mbuf,
+    bus_dmamap_callback2_t *callback, void *callback_arg, int flags)
+{
+
+	return (ENOSYS);
+}
+
+static int __inline
+bus_dmamap_load_mbuf_sg(bus_dma_tag_t tag, bus_dmamap_t map, struct mbuf *mbuf,
+    bus_dma_segment_t *segs, int *nsegs, int flags)
+{
+
+	return (ENOSYS);
+}
+
+static int __inline
+bus_dmamap_load_uio(bus_dma_tag_t tag, bus_dmamap_t map, struct uio *ui,
+    bus_dmamap_callback2_t *callback, void *callback_arg, int flags)
+{
+
+	return (ENOSYS);
+}
+
+static void __inline
+bus_dmamap_sync(bus_dma_tag_t tag, bus_dmamap_t map, bus_dmasync_op_t op)
+{
+	u_int nop;
+	int error;
+
+	nop = 0;
+	if (op & BUS_DMASYNC_PREREAD)
+		nop |= BUSDMA_SYNC_PREREAD;
+	if (op & BUS_DMASYNC_POSTREAD)
+		nop |= BUSDMA_SYNC_POSTREAD;
+	if (op & BUS_DMASYNC_PREWRITE)
+		nop |= BUSDMA_SYNC_PREWRITE;
+	if (op & BUS_DMASYNC_POSTWRITE)
+		nop |= BUSDMA_SYNC_POSTWRITE;
+	KASSERT((nop & (BUSDMA_SYNC_BEFORE | BUSDMA_SYNC_AFTER)) !=
+	    (BUSDMA_SYNC_BEFORE | BUSDMA_SYNC_AFTER),
+	    ("%s: bad op", __func__));
+	error = busdma_sync_range(map, op, 0UL, ~0UL);
+	KASSERT(error == 0, ("%s: got error", __func__));
+}
+
+static void __inline
+bus_dmamap_unload(bus_dma_tag_t tag, bus_dmamap_t map)
+{
+}
+
+static int __inline
+bus_dmamem_alloc(bus_dma_tag_t tag, void **vaddr, int flags,
+    bus_dmamap_t *mapp)
+{
+
+	return (ENOSYS);
+}
+
+static void __inline
+bus_dmamem_free(bus_dma_tag_t tag, void *vaddr, bus_dmamap_t map)
+{
+}
+
+#endif /* _SYS_BUS_DMA_COMPAT_H_ */

From owner-svn-src-projects@FreeBSD.ORG  Mon Dec  2 08:36:56 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 42355523;
 Mon,  2 Dec 2013 08:36:56 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2B59A1C4E;
 Mon,  2 Dec 2013 08:36:56 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB28aurq028503;
 Mon, 2 Dec 2013 08:36:56 GMT (envelope-from markm@svn.freebsd.org)
Received: (from markm@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rB28ar2p028491;
 Mon, 2 Dec 2013 08:36:53 GMT (envelope-from markm@svn.freebsd.org)
Message-Id: <201312020836.rB28ar2p028491@svn.freebsd.org>
From: Mark Murray <markm@FreeBSD.org>
Date: Mon, 2 Dec 2013 08:36:53 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258839 - in projects/random_number_generator:
 contrib/gcc/cp contrib/gcclibs/libcpp contrib/gcclibs/libiberty
 contrib/gcclibs/libiberty/testsuite sys/arm/at91 sys/dev/bge sys/dev/drm2/...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Dec 2013 08:36:56 -0000

Author: markm
Date: Mon Dec  2 08:36:53 2013
New Revision: 258839
URL: http://svnweb.freebsd.org/changeset/base/258839

Log:
  MFC - Tracking Commit

Added:
  projects/random_number_generator/contrib/gcclibs/libiberty/ChangeLog.gcc43
     - copied unchanged from r258837, head/contrib/gcclibs/libiberty/ChangeLog.gcc43
  projects/random_number_generator/sys/dev/nand/nfc_at91.c
     - copied unchanged from r258837, head/sys/dev/nand/nfc_at91.c
Modified:
  projects/random_number_generator/contrib/gcc/cp/ChangeLog.gcc43
  projects/random_number_generator/contrib/gcc/cp/mangle.c
  projects/random_number_generator/contrib/gcclibs/libcpp/ChangeLog.gcc43
  projects/random_number_generator/contrib/gcclibs/libcpp/expr.c
  projects/random_number_generator/contrib/gcclibs/libcpp/lex.c
  projects/random_number_generator/contrib/gcclibs/libcpp/macro.c
  projects/random_number_generator/contrib/gcclibs/libcpp/pch.c
  projects/random_number_generator/contrib/gcclibs/libiberty/choose-temp.c
  projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.c
  projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.h
  projects/random_number_generator/contrib/gcclibs/libiberty/floatformat.c
  projects/random_number_generator/contrib/gcclibs/libiberty/functions.texi
  projects/random_number_generator/contrib/gcclibs/libiberty/pex-unix.c
  projects/random_number_generator/contrib/gcclibs/libiberty/strsignal.c
  projects/random_number_generator/contrib/gcclibs/libiberty/testsuite/demangle-expected
  projects/random_number_generator/contrib/gcclibs/libiberty/testsuite/test-demangle.c
  projects/random_number_generator/sys/arm/at91/at91_pioreg.h
  projects/random_number_generator/sys/arm/at91/files.at91
  projects/random_number_generator/sys/dev/bge/if_bge.c
  projects/random_number_generator/sys/dev/bge/if_bgereg.h
  projects/random_number_generator/sys/dev/drm2/i915/i915_reg.h
  projects/random_number_generator/sys/dev/iwn/if_iwn.c
  projects/random_number_generator/sys/dev/iwn/if_iwnreg.h
  projects/random_number_generator/sys/dev/iwn/if_iwnvar.h
  projects/random_number_generator/sys/dev/ofw/ofw_fdt.c
  projects/random_number_generator/sys/dev/uart/uart_cpu_powerpc.c
  projects/random_number_generator/sys/kern/kern_mib.c
  projects/random_number_generator/sys/kern/uipc_syscalls.c
  projects/random_number_generator/sys/netinet/tcp_input.c
  projects/random_number_generator/sys/powerpc/booke/platform_bare.c
  projects/random_number_generator/sys/powerpc/include/ofw_machdep.h
  projects/random_number_generator/sys/powerpc/mpc85xx/platform_mpc85xx.c
  projects/random_number_generator/sys/powerpc/ofw/ofw_machdep.c
  projects/random_number_generator/sys/powerpc/powermac/platform_powermac.c
  projects/random_number_generator/sys/powerpc/powerpc/platform.c
  projects/random_number_generator/sys/powerpc/powerpc/platform_if.m
  projects/random_number_generator/sys/powerpc/ps3/platform_ps3.c
  projects/random_number_generator/sys/powerpc/pseries/platform_chrp.c
  projects/random_number_generator/sys/powerpc/wii/platform_wii.c
Directory Properties:
  projects/random_number_generator/   (props changed)
  projects/random_number_generator/contrib/gcc/   (props changed)
  projects/random_number_generator/sys/   (props changed)

Modified: projects/random_number_generator/contrib/gcc/cp/ChangeLog.gcc43
==============================================================================
--- projects/random_number_generator/contrib/gcc/cp/ChangeLog.gcc43	Mon Dec  2 08:21:28 2013	(r258838)
+++ projects/random_number_generator/contrib/gcc/cp/ChangeLog.gcc43	Mon Dec  2 08:36:53 2013	(r258839)
@@ -1,4 +1,4 @@
-2007-07-09  Geoffrey Keating  <geoffk@apple.com>
+2007-07-09  Geoffrey Keating  <geoffk@apple.com> (r126529)
 
 	PR 32617
 	* decl.c (cxx_init_decl_processing): Don't set
@@ -18,6 +18,13 @@
 	* decl2.c (determine_visibility): Remove duplicate code for
 	handling type info.
 
+2007-05-05  Geoffrey Keating  <geoffk@apple.com> (r124467)
+
+	PR 31775
+	* mangle.c (write_mangled_name): Mangle static variable names.
+	(write_unqualified_name): Use local-source-name for
+	namespace-scope static variables.
+
 2007-03-12  Seongbae Park <seongbae.park@gmail.com> (r122851)
 
 	* decl.c (compute_array_index_type): New warning flag warn_vla.

Modified: projects/random_number_generator/contrib/gcc/cp/mangle.c
==============================================================================
--- projects/random_number_generator/contrib/gcc/cp/mangle.c	Mon Dec  2 08:21:28 2013	(r258838)
+++ projects/random_number_generator/contrib/gcc/cp/mangle.c	Mon Dec  2 08:36:53 2013	(r258839)
@@ -688,7 +688,8 @@ write_mangled_name (const tree decl, boo
 	}
     }
   else if (TREE_CODE (decl) == VAR_DECL
-	   /* The names of global variables aren't mangled.  */
+	   /* The names of non-static global variables aren't mangled.  */
+	   && DECL_EXTERNAL_LINKAGE_P (decl)
 	   && (CP_DECL_CONTEXT (decl) == global_namespace
 	       /* And neither are `extern "C"' variables.  */
 	       || DECL_EXTERN_C_P (decl)))
@@ -1086,7 +1087,10 @@ write_template_prefix (const tree node)
 
     <unqualified-name>  ::= <operator-name>
 			::= <special-name>
-			::= <source-name>  */
+			::= <source-name>
+			::= <local-source-name> 
+
+    <local-source-name>	::= L <source-name> <discriminator> */
 
 static void
 write_unqualified_name (const tree decl)
@@ -1126,6 +1130,16 @@ write_unqualified_name (const tree decl)
 
       write_string (oni[DECL_OVERLOADED_OPERATOR_P (decl)].mangled_name);
     }
+  else if (VAR_OR_FUNCTION_DECL_P (decl) && ! TREE_PUBLIC (decl)
+	   && DECL_NAMESPACE_SCOPE_P (decl)
+	   && decl_linkage (decl) == lk_internal)
+    {
+      MANGLE_TRACE_TREE ("local-source-name", decl);
+      write_char ('L');
+      write_source_name (DECL_NAME (decl));
+      /* The default discriminator is 1, and that's all we ever use,
+	 so there's no code to output one here.  */
+    }
   else
     write_source_name (DECL_NAME (decl));
 }

Modified: projects/random_number_generator/contrib/gcclibs/libcpp/ChangeLog.gcc43
==============================================================================
--- projects/random_number_generator/contrib/gcclibs/libcpp/ChangeLog.gcc43	Mon Dec  2 08:21:28 2013	(r258838)
+++ projects/random_number_generator/contrib/gcclibs/libcpp/ChangeLog.gcc43	Mon Dec  2 08:36:53 2013	(r258839)
@@ -7,6 +7,11 @@
 	* include/cpplib.h: Add CPP_N_BINARY, to be used for 0b-prefixed
 	binary integer constants.
 	
+2007-05-31  Dave Korn  <dave.korn@artimi.com> (r125212)
+
+	PR preprocessor/14331
+	* lex.c (_cpp_get_fresh_line):  Don't warn if no newline at EOF.
+
 2007-05-21  Ian Lance Taylor  <iant@google.com> (r124929)
 
 	* internal.h (struct cpp_reader): Add new fields:
@@ -23,6 +28,29 @@
 	(_cpp_cleanup_files): Free pfile->nonexistent_file_hash and
 	pfile->nonexistent_file_ob.
 
+2007-05-14  Janis Johnson  <janis187@us.ibm.com> (r124731)
+
+	PR c/31924
+	* expr.c (interpret_float_suffix): Check for invalid suffix.
+
+2007-05-02  Eric Christopher  <echristo@apple.com> (r124358)
+
+	* expr.c (num_div_op): Don't overflow if the result is
+	zero.
+
+2007-05-02  Tom Tromey  <tromey@redhat.com> (r124356)
+
+	PR preprocessor/28709:
+	* macro.c (paste_tokens): Remove PASTE_LEFT from the old lhs.
+
+2007-01-30  Tom Tromey  <tromey@redhat.com> (r121340)
+
+	PR preprocessor/29966:
+	* macro.c (lex_expansion_token): Save and restore cpp_reader's
+	cur_token.
+	(_cpp_create_definition): Don't restore cur_token here.
+	* lex.c (_cpp_lex_token): Added assertion.
+
 2006-12-29  Ian Lance Taylor  <iant@google.com> (r120263)
 
 	* lex.c (_cpp_clean_line): Add uses of __builtin_expect.  Don't

Modified: projects/random_number_generator/contrib/gcclibs/libcpp/expr.c
==============================================================================
--- projects/random_number_generator/contrib/gcclibs/libcpp/expr.c	Mon Dec  2 08:21:28 2013	(r258838)
+++ projects/random_number_generator/contrib/gcclibs/libcpp/expr.c	Mon Dec  2 08:36:53 2013	(r258839)
@@ -87,16 +87,19 @@ interpret_float_suffix (const uchar *s, 
   while (len--)
     switch (s[len])
       {
-      case 'f': case 'F': f++; break;
-      case 'l': case 'L': l++; break;
-      case 'i': case 'I':
-      case 'j': case 'J': i++; break;
-      case 'd': case 'D': 
-	/* Disallow fd, ld suffixes.  */
-	if (d && (f || l))
+      case 'f': case 'F':
+	if (d > 0)
+	  return 0;
+	f++;
+	break;
+      case 'l': case 'L':
+	if (d > 0)
 	  return 0;
-	d++;
+	l++;
 	break;
+      case 'i': case 'I':
+      case 'j': case 'J': i++; break;
+      case 'd': case 'D': d++; break;
       default:
 	return 0;
       }
@@ -494,7 +497,7 @@ append_digit (cpp_num num, int digit, in
   if (add_low + digit < add_low)
     add_high++;
   add_low += digit;
-    
+
   if (result.low + add_low < result.low)
     add_high++;
   if (result.high + add_high < result.high)
@@ -1580,7 +1583,8 @@ num_div_op (cpp_reader *pfile, cpp_num l
 	{
 	  if (negate)
 	    result = num_negate (result, precision);
-	  result.overflow = num_positive (result, precision) ^ !negate;
+	  result.overflow = (num_positive (result, precision) ^ !negate
+			     && !num_zerop (result));
 	}
 
       return result;

Modified: projects/random_number_generator/contrib/gcclibs/libcpp/lex.c
==============================================================================
--- projects/random_number_generator/contrib/gcclibs/libcpp/lex.c	Mon Dec  2 08:21:28 2013	(r258838)
+++ projects/random_number_generator/contrib/gcclibs/libcpp/lex.c	Mon Dec  2 08:36:53 2013	(r258839)
@@ -766,6 +766,11 @@ _cpp_lex_token (cpp_reader *pfile)
 	  pfile->cur_run = next_tokenrun (pfile->cur_run);
 	  pfile->cur_token = pfile->cur_run->base;
 	}
+      /* We assume that the current token is somewhere in the current
+	 run.  */
+      if (pfile->cur_token < pfile->cur_run->base
+	  || pfile->cur_token >= pfile->cur_run->limit)
+	abort ();
 
       if (pfile->lookaheads)
 	{
@@ -847,11 +852,8 @@ _cpp_get_fresh_line (cpp_reader *pfile)
 	  && buffer->next_line > buffer->rlimit
 	  && !buffer->from_stage3)
 	{
-	  /* Only warn once.  */
+	  /* Clip to buffer size.  */
 	  buffer->next_line = buffer->rlimit;
-	  cpp_error_with_line (pfile, CPP_DL_PEDWARN, pfile->line_table->highest_line,
-			       CPP_BUF_COLUMN (buffer, buffer->cur),
-			       "no newline at end of file");
 	}
 
       return_at_eof = buffer->return_at_eof;

Modified: projects/random_number_generator/contrib/gcclibs/libcpp/macro.c
==============================================================================
--- projects/random_number_generator/contrib/gcclibs/libcpp/macro.c	Mon Dec  2 08:21:28 2013	(r258838)
+++ projects/random_number_generator/contrib/gcclibs/libcpp/macro.c	Mon Dec  2 08:36:53 2013	(r258839)
@@ -1,6 +1,7 @@
 /* Part of CPP library.  (Macro and #define handling.)
    Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
-   1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+   1999, 2000, 2001, 2002, 2003, 2004, 2005,
+   2006 Free Software Foundation, Inc.
    Written by Per Bothner, 1994.
    Based on CCCP program by Paul Rubin, June 1986
    Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -438,19 +439,18 @@ static bool
 paste_tokens (cpp_reader *pfile, const cpp_token **plhs, const cpp_token *rhs)
 {
   unsigned char *buf, *end, *lhsend;
-  const cpp_token *lhs;
+  cpp_token *lhs;
   unsigned int len;
 
-  lhs = *plhs;
-  len = cpp_token_len (lhs) + cpp_token_len (rhs) + 1;
+  len = cpp_token_len (*plhs) + cpp_token_len (rhs) + 1;
   buf = (unsigned char *) alloca (len);
-  end = lhsend = cpp_spell_token (pfile, lhs, buf, false);
+  end = lhsend = cpp_spell_token (pfile, *plhs, buf, false);
 
   /* Avoid comment headers, since they are still processed in stage 3.
      It is simpler to insert a space here, rather than modifying the
      lexer to ignore comments in some circumstances.  Simply returning
      false doesn't work, since we want to clear the PASTE_LEFT flag.  */
-  if (lhs->type == CPP_DIV && rhs->type != CPP_EQ)
+  if ((*plhs)->type == CPP_DIV && rhs->type != CPP_EQ)
     *end++ = ' ';
   end = cpp_spell_token (pfile, rhs, end, false);
   *end = '\n';
@@ -460,13 +460,22 @@ paste_tokens (cpp_reader *pfile, const c
 
   /* Set pfile->cur_token as required by _cpp_lex_direct.  */
   pfile->cur_token = _cpp_temp_token (pfile);
-  *plhs = _cpp_lex_direct (pfile);
+  lhs = _cpp_lex_direct (pfile);
   if (pfile->buffer->cur != pfile->buffer->rlimit)
     {
+      source_location saved_loc = lhs->src_loc;
+
       _cpp_pop_buffer (pfile);
       _cpp_backup_tokens (pfile, 1);
       *lhsend = '\0';
 
+      /* We have to remove the PASTE_LEFT flag from the old lhs, but
+	 we want to keep the new location.  */
+      *lhs = **plhs;
+      *plhs = lhs;
+      lhs->src_loc = saved_loc;
+      lhs->flags &= ~PASTE_LEFT;
+
       /* Mandatory error for all apart from assembler.  */
       if (CPP_OPTION (pfile, lang) != CLK_ASM)
 	cpp_error (pfile, CPP_DL_ERROR,
@@ -475,6 +484,7 @@ paste_tokens (cpp_reader *pfile, const c
       return false;
     }
 
+  *plhs = lhs;
   _cpp_pop_buffer (pfile);
   return true;
 }
@@ -1405,10 +1415,12 @@ alloc_expansion_token (cpp_reader *pfile
 static cpp_token *
 lex_expansion_token (cpp_reader *pfile, cpp_macro *macro)
 {
-  cpp_token *token;
+  cpp_token *token, *saved_cur_token;
 
+  saved_cur_token = pfile->cur_token;
   pfile->cur_token = alloc_expansion_token (pfile, macro);
   token = _cpp_lex_direct (pfile);
+  pfile->cur_token = saved_cur_token;
 
   /* Is this a parameter?  */
   if (token->type == CPP_NAME
@@ -1597,18 +1609,12 @@ _cpp_create_definition (cpp_reader *pfil
     ok = _cpp_create_trad_definition (pfile, macro);
   else
     {
-      cpp_token *saved_cur_token = pfile->cur_token;
-
       ok = create_iso_definition (pfile, macro);
 
-      /* Restore lexer position because of games lex_expansion_token()
-	 plays lexing the macro.  We set the type for SEEN_EOL() in
-	 directives.c.
+      /* We set the type for SEEN_EOL() in directives.c.
 
 	 Longer term we should lex the whole line before coming here,
 	 and just copy the expansion.  */
-      saved_cur_token[-1].type = pfile->cur_token[-1].type;
-      pfile->cur_token = saved_cur_token;
 
       /* Stop the lexer accepting __VA_ARGS__.  */
       pfile->state.va_args_ok = 0;

Modified: projects/random_number_generator/contrib/gcclibs/libcpp/pch.c
==============================================================================
--- projects/random_number_generator/contrib/gcclibs/libcpp/pch.c	Mon Dec  2 08:21:28 2013	(r258838)
+++ projects/random_number_generator/contrib/gcclibs/libcpp/pch.c	Mon Dec  2 08:36:53 2013	(r258839)
@@ -35,14 +35,14 @@ static int write_defs (cpp_reader *, cpp
 static int save_macros (cpp_reader *, cpp_hashnode *, void *);
 
 /* This structure represents a macro definition on disk.  */
-struct macrodef_struct 
+struct macrodef_struct
 {
   unsigned int definition_length;
   unsigned short name_length;
   unsigned short flags;
 };
 
-/* This is how we write out a macro definition.  
+/* This is how we write out a macro definition.
    Suitable for being called by cpp_forall_identifiers.  */
 
 static int
@@ -54,7 +54,7 @@ write_macdef (cpp_reader *pfile, cpp_has
     case NT_VOID:
       if (! (hn->flags & NODE_POISONED))
 	return 1;
-      
+
     case NT_MACRO:
       if ((hn->flags & NODE_BUILTIN))
 	return 1;
@@ -76,7 +76,7 @@ write_macdef (cpp_reader *pfile, cpp_has
 	    defn = NODE_NAME (hn);
 	    s.definition_length = s.name_length;
 	  }
-	
+
 	if (fwrite (&s, sizeof (s), 1, f) != 1
 	    || fwrite (defn, 1, s.definition_length, f) != s.definition_length)
 	  {
@@ -86,7 +86,7 @@ write_macdef (cpp_reader *pfile, cpp_has
 	  }
       }
       return 1;
-      
+
     case NT_ASSERTION:
       /* Not currently implemented.  */
       return 1;
@@ -123,7 +123,7 @@ static int
 save_idents (cpp_reader *pfile ATTRIBUTE_UNUSED, cpp_hashnode *hn, void *ss_p)
 {
   struct cpp_savedstate *const ss = (struct cpp_savedstate *)ss_p;
-  
+
   if (hn->type != NT_VOID)
     {
       struct cpp_string news;
@@ -136,7 +136,7 @@ save_idents (cpp_reader *pfile ATTRIBUTE
 	{
 	  struct cpp_string *sp;
 	  unsigned char *text;
-	  
+
 	  sp = XNEW (struct cpp_string);
 	  *slot = sp;
 
@@ -157,7 +157,7 @@ hashmem (const void *p_p, size_t sz)
   const unsigned char *p = (const unsigned char *)p_p;
   size_t i;
   hashval_t h;
-  
+
   h = 0;
   for (i = 0; i < sz; i++)
     h = h * 67 - (*p++ - 113);
@@ -194,10 +194,10 @@ cpp_save_state (cpp_reader *r, FILE *f)
 {
   /* Save the list of non-void identifiers for the dependency checking.  */
   r->savedstate = XNEW (struct cpp_savedstate);
-  r->savedstate->definedhash = htab_create (100, cpp_string_hash, 
+  r->savedstate->definedhash = htab_create (100, cpp_string_hash,
 					    cpp_string_eq, NULL);
   cpp_forall_identifiers (r, save_idents, r->savedstate);
-  
+
   /* Write out the list of defined identifiers.  */
   cpp_forall_identifiers (r, write_macdef, f);
 
@@ -210,20 +210,20 @@ static int
 count_defs (cpp_reader *pfile ATTRIBUTE_UNUSED, cpp_hashnode *hn, void *ss_p)
 {
   struct cpp_savedstate *const ss = (struct cpp_savedstate *)ss_p;
-  
+
   switch (hn->type)
     {
     case NT_MACRO:
       if (hn->flags & NODE_BUILTIN)
 	return 1;
-      
+
       /* else fall through.  */
 
     case NT_VOID:
       {
 	struct cpp_string news;
 	void **slot;
-	
+
 	news.len = NODE_LEN (hn);
 	news.text = NODE_NAME (hn);
 	slot = (void **) htab_find (ss->definedhash, &news);
@@ -249,20 +249,20 @@ static int
 write_defs (cpp_reader *pfile ATTRIBUTE_UNUSED, cpp_hashnode *hn, void *ss_p)
 {
   struct cpp_savedstate *const ss = (struct cpp_savedstate *)ss_p;
-  
+
   switch (hn->type)
     {
     case NT_MACRO:
       if (hn->flags & NODE_BUILTIN)
 	return 1;
-      
+
       /* else fall through.  */
 
     case NT_VOID:
       {
 	struct cpp_string news;
 	void **slot;
-	
+
 	news.len = NODE_LEN (hn);
 	news.text = NODE_NAME (hn);
 	slot = (void **) htab_find (ss->definedhash, &news);
@@ -303,7 +303,7 @@ cpp_write_pch_deps (cpp_reader *r, FILE 
   struct cpp_savedstate *const ss = r->savedstate;
   unsigned char *definedstrs;
   size_t i;
-  
+
   /* Collect the list of identifiers which have been seen and
      weren't defined to anything previously.  */
   ss->hashsize = 0;
@@ -404,7 +404,7 @@ collect_ht_nodes (cpp_reader *pfile ATTR
    with the preprocessor's current definitions.  It will be consistent
    when:
 
-   - anything that was defined just before the PCH was generated 
+   - anything that was defined just before the PCH was generated
      is defined the same way now; and
    - anything that was not defined then, but is defined now, was not
      used by the PCH.
@@ -430,10 +430,10 @@ cpp_valid_state (cpp_reader *r, const ch
     {
       cpp_hashnode *h;
       const unsigned char *newdefn;
-      
+
       if (read (fd, &m, sizeof (m)) != sizeof (m))
 	goto error;
-      
+
       if (m.name_length == 0)
 	break;
 
@@ -453,10 +453,10 @@ cpp_valid_state (cpp_reader *r, const ch
 	  namebuf = XNEWVEC (unsigned char, namebufsz);
 	}
 
-      if ((size_t)read (fd, namebuf, m.definition_length) 
+      if ((size_t)read (fd, namebuf, m.definition_length)
 	  != m.definition_length)
 	goto error;
-      
+
       h = cpp_lookup (r, namebuf, m.name_length);
       if (m.flags & NODE_POISONED
 	  || h->type != NT_MACRO
@@ -470,7 +470,7 @@ cpp_valid_state (cpp_reader *r, const ch
 	}
 
       newdefn = cpp_macro_definition (r, h);
-      
+
       if (m.definition_length != ustrlen (newdefn)
 	  || memcmp (namebuf, newdefn, m.definition_length) != 0)
 	{
@@ -498,17 +498,17 @@ cpp_valid_state (cpp_reader *r, const ch
   nl.defs = XNEWVEC (cpp_hashnode *, nl.asize);
   cpp_forall_identifiers (r, &collect_ht_nodes, &nl);
   qsort (nl.defs, nl.n_defs, sizeof (cpp_hashnode *), &comp_hashnodes);
- 
+
   /* Loop through nl.defs and undeftab, both of which are sorted lists.
      There should be no matches.  */
   first = undeftab;
   last = undeftab + m.definition_length;
   i = 0;
- 
+
   while (first < last && i < nl.n_defs)
     {
       int cmp = ustrcmp (first, NODE_NAME (nl.defs[i]));
- 
+
       if (cmp < 0)
  	first += ustrlen (first) + 1;
       else if (cmp > 0)
@@ -516,13 +516,13 @@ cpp_valid_state (cpp_reader *r, const ch
       else
 	{
 	  if (CPP_OPTION (r, warn_invalid_pch))
-	    cpp_error (r, CPP_DL_WARNING_SYSHDR, 
+	    cpp_error (r, CPP_DL_WARNING_SYSHDR,
 		       "%s: not used because `%s' is defined",
 		       name, first);
 	  goto fail;
 	}
     }
-   
+
   free(nl.defs);
   free (undeftab);
 
@@ -545,7 +545,7 @@ cpp_valid_state (cpp_reader *r, const ch
 
 /* Save all the existing macros.  */
 
-struct save_macro_data 
+struct save_macro_data
 {
   uchar **defns;
   size_t count;
@@ -567,7 +567,7 @@ struct save_macro_data 
    file were not saved in this way, but this is not done (yet), except
    for builtins, and for #assert by default.  */
 
-static int 
+static int
 save_macros (cpp_reader *r, cpp_hashnode *h, void *data_p)
 {
   struct save_macro_data *data = (struct save_macro_data *)data_p;
@@ -577,9 +577,9 @@ save_macros (cpp_reader *r, cpp_hashnode
       if (data->count == data->array_size)
 	{
 	  data->array_size *= 2;
-	  data->defns = XRESIZEVEC (uchar *, data->defns, (data->array_size)); 
+	  data->defns = XRESIZEVEC (uchar *, data->defns, (data->array_size));
 	}
-      
+
       switch (h->type)
 	{
 	case NT_ASSERTION:
@@ -596,7 +596,7 @@ save_macros (cpp_reader *r, cpp_hashnode
 	    data->defns[data->count][defnlen] = '\n';
 	  }
 	  break;
-	  
+
 	default:
 	  abort ();
 	}
@@ -612,7 +612,7 @@ void
 cpp_prepare_state (cpp_reader *r, struct save_macro_data **data)
 {
   struct save_macro_data *d = XNEW (struct save_macro_data);
-  
+
   d->array_size = 512;
   d->defns = XNEWVEC (uchar *, d->array_size);
   d->count = 0;
@@ -622,7 +622,7 @@ cpp_prepare_state (cpp_reader *r, struct
 }
 
 /* Given a precompiled header that was previously determined to be valid,
-   apply all its definitions (and undefinitions) to the current state. 
+   apply all its definitions (and undefinitions) to the current state.
    DEPNAME is passed to deps_restore.  */
 
 int
@@ -632,7 +632,7 @@ cpp_read_state (cpp_reader *r, const cha
   size_t i;
   struct lexer_state old_state;
 
-  /* Restore spec_nodes, which will be full of references to the old 
+  /* Restore spec_nodes, which will be full of references to the old
      hashtable entries and so will now be invalid.  */
   {
     struct spec_nodes *s = &r->spec_nodes;
@@ -691,7 +691,7 @@ cpp_read_state (cpp_reader *r, const cha
     goto error;
 
   return 0;
-  
+
  error:
   cpp_errno (r, CPP_DL_ERROR, "while reading precompiled header");
   return -1;

Copied: projects/random_number_generator/contrib/gcclibs/libiberty/ChangeLog.gcc43 (from r258837, head/contrib/gcclibs/libiberty/ChangeLog.gcc43)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/random_number_generator/contrib/gcclibs/libiberty/ChangeLog.gcc43	Mon Dec  2 08:36:53 2013	(r258839, copy of r258837, head/contrib/gcclibs/libiberty/ChangeLog.gcc43)
@@ -0,0 +1,60 @@
+2007-05-05  Geoffrey Keating  <geoffk@apple.com> (r124467)
+
+	PR 31775
+	* mangle.c (write_mangled_name): Mangle static variable names.
+	(write_unqualified_name): Use local-source-name for
+	namespace-scope static variables.
+
+2007-03-15  Geoffrey Keating  <geoffk@apple.com> (r122972)
+
+	* cp-demangle.c (d_encoding): Exit early on error.
+	(d_pointer_to_member_type): Exit early if cplus_demangle_type
+	returns NULL.
+	(cplus_demangle_type): Likewise.
+	* testsuite/demangle-expected: New testcase.
+
+2007-01-31  Ben Elliston  <bje@au.ibm.com> (r121364)
+
+	* strsignal.c (psignal): Change type of signo to int.
+	* functions.texi: Regenerate.
+
+2007-01-12  Ben Elliston  <bje@au.ibm.com> (r120702)
+
+	* pex-unix.c (writeerr): Cast write result to void.
+
+	* choose-temp.c (choose_temp_base): Check the result of the call
+	to mktemp rather than testing the length of the modified string.
+
+2006-12-20  Geoffrey Keating  <geoffk@apple.com> (r120097)
+
+	* cp-demangle.h: Add comment explaining what to do to avoid
+	overrunning string.
+	(d_check_char): New.
+	(d_next_char): Don't advance past trailing '\0'.
+	* cp-demangle.c (cplus_demangle_mangled_name): Use d_check_char.
+	(d_nested_name): Likewise.
+	(d_special_name): Likewise.
+	(d_call_offset): Likewise.
+	(d_function_type): Likewise.
+	(d_array_type): Likewise.
+	(d_pointer_to_member_type): Likewise.
+	(d_template_param): Likewise.
+	(d_template_args): Likewise.
+	(d_template_arg): Likewise.
+	(d_expr_primary): Likewise.
+	(d_local_name): Likewise.
+	(d_substitution): Likewise.
+	(d_ctor_dtor_name): Use d_advance rather than d_next_char.
+	* testsuite/test-demangle.c: Include sys/mman.h.
+	(MAP_ANONYMOUS): Define.
+	(protect_end): New.
+	(main): Use protect_end.
+	* testsuite/demangle-expected: Add testcases for overrunning
+	the end of the string.
+
+2006-11-07  Julian Brown  <julian@codesourcery.com> (r118552)
+
+	* floatformat.c (get_field): Fix segfault with little-endian word
+	order on 64-bit hosts.
+	(put_field): Likewise.
+	(min): Move definition.

Modified: projects/random_number_generator/contrib/gcclibs/libiberty/choose-temp.c
==============================================================================
--- projects/random_number_generator/contrib/gcclibs/libiberty/choose-temp.c	Mon Dec  2 08:21:28 2013	(r258838)
+++ projects/random_number_generator/contrib/gcclibs/libiberty/choose-temp.c	Mon Dec  2 08:36:53 2013	(r258839)
@@ -65,8 +65,7 @@ choose_temp_base (void)
   strcpy (temp_filename, base);
   strcpy (temp_filename + len, TEMP_FILE);
 
-  mktemp (temp_filename);
-  if (strlen (temp_filename) == 0)
+  if (mktemp (temp_filename) == 0)
     abort ();
   return temp_filename;
 }

Modified: projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.c
==============================================================================
--- projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.c	Mon Dec  2 08:21:28 2013	(r258838)
+++ projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.c	Mon Dec  2 08:36:53 2013	(r258839)
@@ -913,9 +913,9 @@ CP_STATIC_IF_GLIBCPP_V3
 struct demangle_component *
 cplus_demangle_mangled_name (struct d_info *di, int top_level)
 {
-  if (d_next_char (di) != '_')
+  if (! d_check_char (di, '_'))
     return NULL;
-  if (d_next_char (di) != 'Z')
+  if (! d_check_char (di, 'Z'))
     return NULL;
   return d_encoding (di, top_level);
 }
@@ -1021,7 +1021,7 @@ d_encoding (struct d_info *di, int top_l
 	}
 
       peek = d_peek_char (di);
-      if (peek == '\0' || peek == 'E')
+      if (dc == NULL || peek == '\0' || peek == 'E')
 	return dc;
       return d_make_comp (di, DEMANGLE_COMPONENT_TYPED_NAME, dc,
 			  d_bare_function_type (di, has_return_type (dc)));
@@ -1054,11 +1054,9 @@ d_name (struct d_info *di)
     case 'Z':
       return d_local_name (di);
 
-/* APPLE LOCAL begin mainline 2007-05-09 5173149 */ \
     case 'L':
       return d_unqualified_name (di);
 	
-/* APPLE LOCAL end mainline 2007-05-09 5173149 */ \
     case 'S':
       {
 	int subst;
@@ -1128,7 +1126,7 @@ d_nested_name (struct d_info *di)
   struct demangle_component *ret;
   struct demangle_component **pret;
 
-  if (d_next_char (di) != 'N')
+  if (! d_check_char (di, 'N'))
     return NULL;
 
   pret = d_cv_qualifiers (di, &ret, 1);
@@ -1139,7 +1137,7 @@ d_nested_name (struct d_info *di)
   if (*pret == NULL)
     return NULL;
 
-  if (d_next_char (di) != 'E')
+  if (! d_check_char (di, 'E'))
     return NULL;
 
   return ret;
@@ -1179,10 +1177,8 @@ d_prefix (struct d_info *di)
       if (IS_DIGIT (peek)
 	  || IS_LOWER (peek)
 	  || peek == 'C'
-/* APPLE LOCAL begin mainline 2007-05-09 5173149 */ \
 	  || peek == 'D'
 	  || peek == 'L')
-/* APPLE LOCAL end mainline 2007-05-09 5173149 */ \
 	dc = d_unqualified_name (di);
       else if (peek == 'S')
 	dc = d_substitution (di, 1);
@@ -1216,11 +1212,9 @@ d_prefix (struct d_info *di)
 /* <unqualified-name> ::= <operator-name>
                       ::= <ctor-dtor-name>
                       ::= <source-name>
- APPLE LOCAL begin mainline 2007-05-09 5173149
 		      ::= <local-source-name> 
 
     <local-source-name>	::= L <source-name> <discriminator>
- APPLE LOCAL end mainline 2007-05-09 5173149
 */
 
 static struct demangle_component *
@@ -1242,7 +1236,6 @@ d_unqualified_name (struct d_info *di)
     }
   else if (peek == 'C' || peek == 'D')
     return d_ctor_dtor_name (di);
-/* APPLE LOCAL begin mainline 2007-05-09 5173149 */ \
   else if (peek == 'L')
     {
       struct demangle_component * ret;
@@ -1256,7 +1249,6 @@ d_unqualified_name (struct d_info *di)
 	return NULL;
       return ret;
     }
-/* APPLE LOCAL end mainline 2007-05-09 5173149 */ \
   else
     return NULL;
 }
@@ -1477,11 +1469,8 @@ d_operator_name (struct d_info *di)
 static struct demangle_component *
 d_special_name (struct d_info *di)
 {
-  char c;
-
   di->expansion += 20;
-  c = d_next_char (di);
-  if (c == 'T')
+  if (d_check_char (di, 'T'))
     {
       switch (d_next_char (di))
 	{
@@ -1530,7 +1519,7 @@ d_special_name (struct d_info *di)
 	    offset = d_number (di);
 	    if (offset < 0)
 	      return NULL;
-	    if (d_next_char (di) != '_')
+	    if (! d_check_char (di, '_'))
 	      return NULL;
 	    base_type = cplus_demangle_type (di);
 	    /* We don't display the offset.  FIXME: We should display
@@ -1551,7 +1540,7 @@ d_special_name (struct d_info *di)
 	  return NULL;
 	}
     }
-  else if (c == 'G')
+  else if (d_check_char (di, 'G'))
     {
       switch (d_next_char (di))
 	{
@@ -1598,14 +1587,14 @@ d_call_offset (struct d_info *di, int c)
   else if (c == 'v')
     {
       d_number (di);
-      if (d_next_char (di) != '_')
+      if (! d_check_char (di, '_'))
 	return 0;
       d_number (di);
     }
   else
     return 0;
 
-  if (d_next_char (di) != '_')
+  if (! d_check_char (di, '_'))
     return 0;
 
   return 1;
@@ -1629,13 +1618,13 @@ d_ctor_dtor_name (struct d_info *di)
       else if (di->last_name->type == DEMANGLE_COMPONENT_SUB_STD)
 	di->expansion += di->last_name->u.s_string.len;
     }
-  switch (d_next_char (di))
+  switch (d_peek_char (di))
     {
     case 'C':
       {
 	enum gnu_v3_ctor_kinds kind;
 
-	switch (d_next_char (di))
+	switch (d_peek_next_char (di))
 	  {
 	  case '1':
 	    kind = gnu_v3_complete_object_ctor;
@@ -1649,6 +1638,7 @@ d_ctor_dtor_name (struct d_info *di)
 	  default:
 	    return NULL;
 	  }
+	d_advance (di, 2);
 	return d_make_ctor (di, kind, di->last_name);
       }
 
@@ -1656,7 +1646,7 @@ d_ctor_dtor_name (struct d_info *di)
       {
 	enum gnu_v3_dtor_kinds kind;
 
-	switch (d_next_char (di))
+	switch (d_peek_next_char (di))
 	  {
 	  case '0':
 	    kind = gnu_v3_deleting_dtor;
@@ -1670,6 +1660,7 @@ d_ctor_dtor_name (struct d_info *di)
 	  default:
 	    return NULL;
 	  }
+	d_advance (di, 2);
 	return d_make_dtor (di, kind, di->last_name);
       }
 
@@ -1763,7 +1754,7 @@ cplus_demangle_type (struct d_info *di)
       if (pret == NULL)
 	return NULL;
       *pret = cplus_demangle_type (di);
-      if (! d_add_substitution (di, ret))
+      if (! *pret || ! d_add_substitution (di, ret))
 	return NULL;
       return ret;
     }
@@ -1953,7 +1944,7 @@ d_function_type (struct d_info *di)
 {
   struct demangle_component *ret;
 
-  if (d_next_char (di) != 'F')
+  if (! d_check_char (di, 'F'))
     return NULL;
   if (d_peek_char (di) == 'Y')
     {
@@ -1962,7 +1953,7 @@ d_function_type (struct d_info *di)
       d_advance (di, 1);
     }
   ret = d_bare_function_type (di, 1);
-  if (d_next_char (di) != 'E')
+  if (! d_check_char (di, 'E'))
     return NULL;
   return ret;
 }
@@ -2049,7 +2040,7 @@ d_array_type (struct d_info *di)
   char peek;
   struct demangle_component *dim;
 
-  if (d_next_char (di) != 'A')
+  if (! d_check_char (di, 'A'))
     return NULL;
 
   peek = d_peek_char (di);
@@ -2077,7 +2068,7 @@ d_array_type (struct d_info *di)
 	return NULL;
     }
 
-  if (d_next_char (di) != '_')
+  if (! d_check_char (di, '_'))
     return NULL;
 
   return d_make_comp (di, DEMANGLE_COMPONENT_ARRAY_TYPE, dim,
@@ -2093,7 +2084,7 @@ d_pointer_to_member_type (struct d_info 
   struct demangle_component *mem;
   struct demangle_component **pmem;
 
-  if (d_next_char (di) != 'M')
+  if (! d_check_char (di, 'M'))
     return NULL;
 
   cl = cplus_demangle_type (di);
@@ -2118,6 +2109,8 @@ d_pointer_to_member_type (struct d_info 
   if (pmem == NULL)
     return NULL;
   *pmem = cplus_demangle_type (di);
+  if (*pmem == NULL)
+    return NULL;
 
   if (pmem != &mem && (*pmem)->type != DEMANGLE_COMPONENT_FUNCTION_TYPE)
     {
@@ -2137,7 +2130,7 @@ d_template_param (struct d_info *di)
 {
   long param;
 
-  if (d_next_char (di) != 'T')
+  if (! d_check_char (di, 'T'))
     return NULL;
 
   if (d_peek_char (di) == '_')
@@ -2150,7 +2143,7 @@ d_template_param (struct d_info *di)
       param += 1;
     }
 
-  if (d_next_char (di) != '_')
+  if (! d_check_char (di, '_'))
     return NULL;
 
   ++di->did_subs;
@@ -2172,7 +2165,7 @@ d_template_args (struct d_info *di)
      constructor or destructor.  */
   hold_last_name = di->last_name;
 
-  if (d_next_char (di) != 'I')
+  if (! d_check_char (di, 'I'))
     return NULL;
 
   al = NULL;
@@ -2217,7 +2210,7 @@ d_template_arg (struct d_info *di)
     case 'X':
       d_advance (di, 1);
       ret = d_expression (di);
-      if (d_next_char (di) != 'E')
+      if (! d_check_char (di, 'E'))
 	return NULL;
       return ret;
 
@@ -2344,7 +2337,7 @@ d_expr_primary (struct d_info *di)
 {
   struct demangle_component *ret;
 
-  if (d_next_char (di) != 'L')
+  if (! d_check_char (di, 'L'))
     return NULL;
   if (d_peek_char (di) == '_')
     ret = cplus_demangle_mangled_name (di, 0);
@@ -2390,7 +2383,7 @@ d_expr_primary (struct d_info *di)
 	}
       ret = d_make_comp (di, t, type, d_make_name (di, s, d_str (di) - s));
     }
-  if (d_next_char (di) != 'E')
+  if (! d_check_char (di, 'E'))
     return NULL;
   return ret;
 }
@@ -2404,12 +2397,12 @@ d_local_name (struct d_info *di)
 {
   struct demangle_component *function;
 
-  if (d_next_char (di) != 'Z')
+  if (! d_check_char (di, 'Z'))
     return NULL;
 
   function = d_encoding (di, 0);
 
-  if (d_next_char (di) != 'E')
+  if (! d_check_char (di, 'E'))
     return NULL;
 
   if (d_peek_char (di) == 's')
@@ -2514,7 +2507,7 @@ d_substitution (struct d_info *di, int p
 {
   char c;
 
-  if (d_next_char (di) != 'S')
+  if (! d_check_char (di, 'S'))
     return NULL;
 
   c = d_next_char (di);

Modified: projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.h
==============================================================================
--- projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.h	Mon Dec  2 08:21:28 2013	(r258838)
+++ projects/random_number_generator/contrib/gcclibs/libiberty/cp-demangle.h	Mon Dec  2 08:36:53 2013	(r258839)
@@ -123,10 +123,16 @@ struct d_info
   int expansion;
 };
 
+/* To avoid running past the ending '\0', don't:
+   - call d_peek_next_char if d_peek_char returned '\0'
+   - call d_advance with an 'i' that is too large
+   - call d_check_char(di, '\0')
+   Everything else is safe.  */
 #define d_peek_char(di) (*((di)->n))
 #define d_peek_next_char(di) ((di)->n[1])
 #define d_advance(di, i) ((di)->n += (i))
-#define d_next_char(di) (*((di)->n++))
+#define d_check_char(di, c) (d_peek_char(di) == c ? ((di)->n++, 1) : 0)
+#define d_next_char(di) (d_peek_char(di) == '\0' ? '\0' : *((di)->n++))
 #define d_str(di) ((di)->n)
 
 /* Functions and arrays in cp-demangle.c which are referenced by

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

From owner-svn-src-projects@FreeBSD.ORG  Mon Dec  2 21:58:10 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8EA086F;
 Mon,  2 Dec 2013 21:58:10 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 79FF61CA7;
 Mon,  2 Dec 2013 21:58:10 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB2LwAJS011772;
 Mon, 2 Dec 2013 21:58:10 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
 by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB2LwAsZ011771;
 Mon, 2 Dec 2013 21:58:10 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201312022158.rB2LwAsZ011771@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Mon, 2 Dec 2013 21:58:10 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258856 - projects/altix2/sys/ia64/sgisn
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Dec 2013 21:58:10 -0000

Author: marcel
Date: Mon Dec  2 21:58:09 2013
New Revision: 258856
URL: http://svnweb.freebsd.org/changeset/base/258856

Log:
  Fix a "possibly used uninitialized" warning.

Modified:
  projects/altix2/sys/ia64/sgisn/sgisn_pcib.c

Modified: projects/altix2/sys/ia64/sgisn/sgisn_pcib.c
==============================================================================
--- projects/altix2/sys/ia64/sgisn/sgisn_pcib.c	Mon Dec  2 19:49:52 2013	(r258855)
+++ projects/altix2/sys/ia64/sgisn/sgisn_pcib.c	Mon Dec  2 21:58:09 2013	(r258856)
@@ -688,6 +688,7 @@ sgisn_pcib_iommu_map(device_t bus, devic
 
 	ate = 0;
 	entry = ~0;
+	bitshft = 0;
 	while (ate < (PCIB_REG_ATE_SIZE / 64) && entry == ~0) {
 		bits = sc->sc_ate[ate];
 		/* Move to the next long if this one is full. */
@@ -697,7 +698,6 @@ sgisn_pcib_iommu_map(device_t bus, devic
 		}
 		/* If this long is empty, take it (catches count == 64). */
 		if (bits == 0UL) {
-			bitshft = 0;
 			entry = ate * 64;
 			break;
 		}
@@ -706,7 +706,6 @@ sgisn_pcib_iommu_map(device_t bus, devic
 			ate++;
 			continue;
 		}
-		bitshft = 0;
 		do {
 			if ((bits & ((1UL << count) - 1UL)) == 0) {
 				entry = ate * 64 + bitshft;
@@ -721,8 +720,10 @@ sgisn_pcib_iommu_map(device_t bus, devic
 				bitshft++;
 			}
 		} while (bitshft <= (64 - count));
-		if (entry == ~0)
+		if (entry == ~0) {
 			ate++;
+			bitshft = 0;
+		}
 	}
 	if (entry != ~0) {
 		KASSERT(ate < (PCIB_REG_ATE_SIZE / 64), ("foo: ate"));

From owner-svn-src-projects@FreeBSD.ORG  Tue Dec  3 18:50:34 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C771C263;
 Tue,  3 Dec 2013 18:50:34 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id AF86B1930;
 Tue,  3 Dec 2013 18:50:34 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB3IoYSb043132;
 Tue, 3 Dec 2013 18:50:34 GMT (envelope-from markm@svn.freebsd.org)
Received: (from markm@localhost)
 by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB3IoRKl042696;
 Tue, 3 Dec 2013 18:50:27 GMT (envelope-from markm@svn.freebsd.org)
Message-Id: <201312031850.rB3IoRKl042696@svn.freebsd.org>
From: Mark Murray <markm@FreeBSD.org>
Date: Tue, 3 Dec 2013 18:50:27 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258881 - in projects/random_number_generator: .
 cddl/contrib/opensolaris/lib/libdtrace/common
 contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD
 contrib/mdocml etc etc/cas...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 03 Dec 2013 18:50:34 -0000

Author: markm
Date: Tue Dec  3 18:50:27 2013
New Revision: 258881
URL: http://svnweb.freebsd.org/changeset/base/258881

Log:
  MFC - tracking commit.

Added:
  projects/random_number_generator/etc/casper/
     - copied from r258880, head/etc/casper/
  projects/random_number_generator/lib/libcapsicum/
     - copied from r258880, head/lib/libcapsicum/
  projects/random_number_generator/lib/libcasper/
     - copied from r258880, head/lib/libcasper/
  projects/random_number_generator/libexec/casper/
     - copied from r258880, head/libexec/casper/
  projects/random_number_generator/sbin/casperd/
     - copied from r258880, head/sbin/casperd/
  projects/random_number_generator/sys/sys/ktr_class.h
     - copied unchanged from r258880, head/sys/sys/ktr_class.h
  projects/random_number_generator/tools/build/options/WITHOUT_CASPER
     - copied unchanged from r258880, head/tools/build/options/WITHOUT_CASPER
  projects/random_number_generator/tools/regression/capsicum/libcapsicum/
     - copied from r258880, head/tools/regression/capsicum/libcapsicum/
Modified:
  projects/random_number_generator/Makefile.inc1
  projects/random_number_generator/ObsoleteFiles.inc
  projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
  projects/random_number_generator/contrib/mdocml/lib.in
  projects/random_number_generator/etc/Makefile
  projects/random_number_generator/etc/gettytab
  projects/random_number_generator/etc/mtree/BSD.root.dist
  projects/random_number_generator/etc/pf.os
  projects/random_number_generator/etc/services
  projects/random_number_generator/lib/Makefile
  projects/random_number_generator/libexec/Makefile
  projects/random_number_generator/release/Makefile
  projects/random_number_generator/release/scripts/pkg-stage.sh
  projects/random_number_generator/sbin/Makefile
  projects/random_number_generator/share/man/man7/release.7
  projects/random_number_generator/share/mk/bsd.libnames.mk
  projects/random_number_generator/share/mk/bsd.own.mk
  projects/random_number_generator/sys/amd64/include/vmm.h   (contents, props changed)
  projects/random_number_generator/sys/amd64/vmm/intel/vmx.c
  projects/random_number_generator/sys/amd64/vmm/vmm.c
  projects/random_number_generator/sys/amd64/vmm/vmm_lapic.c
  projects/random_number_generator/sys/arm/arm/locore.S
  projects/random_number_generator/sys/cam/ctl/ctl_backend_block.c
  projects/random_number_generator/sys/dev/cxgbe/common/common.h
  projects/random_number_generator/sys/dev/cxgbe/common/t4_hw.c
  projects/random_number_generator/sys/dev/cxgbe/t4_ioctl.h
  projects/random_number_generator/sys/dev/cxgbe/t4_main.c
  projects/random_number_generator/sys/dev/usb/wlan/if_run.c
  projects/random_number_generator/sys/dev/usb/wlan/if_runvar.h
  projects/random_number_generator/sys/kern/sched_ule.c
  projects/random_number_generator/sys/powerpc/include/fdt.h
  projects/random_number_generator/sys/powerpc/wii/platform_wii.c
  projects/random_number_generator/sys/sys/ktr.h
  projects/random_number_generator/sys/sys/lock.h
  projects/random_number_generator/usr.sbin/bhyveload/bhyveload.8
  projects/random_number_generator/usr.sbin/bsdconfig/share/common.subr
  projects/random_number_generator/usr.sbin/ctld/ctl.conf.5
  projects/random_number_generator/usr.sbin/ctld/parse.y
Directory Properties:
  projects/random_number_generator/   (props changed)
  projects/random_number_generator/cddl/   (props changed)
  projects/random_number_generator/cddl/contrib/opensolaris/   (props changed)
  projects/random_number_generator/contrib/llvm/   (props changed)
  projects/random_number_generator/contrib/llvm/tools/lldb/   (props changed)
  projects/random_number_generator/sbin/   (props changed)
  projects/random_number_generator/sys/   (props changed)
  projects/random_number_generator/sys/amd64/vmm/   (props changed)
  projects/random_number_generator/usr.sbin/bhyveload/   (props changed)

Modified: projects/random_number_generator/Makefile.inc1
==============================================================================
--- projects/random_number_generator/Makefile.inc1	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/Makefile.inc1	Tue Dec  3 18:50:27 2013	(r258881)
@@ -1499,7 +1499,8 @@ _prebuild_libs=	${_kerberos5_lib_libasn1
 		lib/libbz2 ${_libcom_err} lib/libcrypt \
 		lib/libelf lib/libexpat \
 		${_lib_libgssapi} ${_lib_libipx} \
-		lib/libkiconv lib/libkvm lib/liblzma lib/libmd \
+		lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \
+		${_lib_libcapsicum} \
 		lib/ncurses/ncurses lib/ncurses/ncursesw \
 		lib/libopie lib/libpam ${_lib_libthr} \
 		lib/libradius lib/libsbuf lib/libtacplus \
@@ -1521,6 +1522,11 @@ _lib_libthr=	lib/libthr
 _ofed_lib=	contrib/ofed/usr.lib/
 .endif
 
+.if ${MK_CASPER} != "no"
+_lib_libcapsicum=lib/libcapsicum
+.endif
+
+lib/libcapsicum__L: lib/libnv__L
 lib/libpjdlog__L: lib/libutil__L
 
 _generic_libs=	${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib ${_ofed_lib}

Modified: projects/random_number_generator/ObsoleteFiles.inc
==============================================================================
--- projects/random_number_generator/ObsoleteFiles.inc	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/ObsoleteFiles.inc	Tue Dec  3 18:50:27 2013	(r258881)
@@ -38,6 +38,13 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20131202: libcapsicum and libcasper moved to /lib/
+OLD_FILES+=usr/lib/libcapsicum.a
+OLD_FILES+=usr/lib/libcapsicum.so
+OLD_LIBS+=usr/lib/libcapsicum.so.0
+OLD_FILES+=usr/lib/libcasper.a
+OLD_FILES+=usr/lib/libcasper.so
+OLD_LIBS+=usr/lib/libcasper.so.0
 # 20131109: extattr(2) mlinks fixed
 OLD_FILES+=usr/share/man/man2/extattr_delete_list.2.gz
 OLD_FILES+=usr/share/man/man2/extattr_get_list.2.gz

Modified: projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c
==============================================================================
--- projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c	Tue Dec  3 18:50:27 2013	(r258881)
@@ -1709,8 +1709,6 @@ dtrace_program_link(dtrace_hdl_t *dtp, d
 		 */
 		return (0);
 	}
-	/* XXX Should get a temp file name here. */
-	snprintf(tfile, sizeof(tfile), "%s.tmp", file);
 #endif
 
 	/*
@@ -1785,9 +1783,11 @@ dtrace_program_link(dtrace_hdl_t *dtp, d
 		    "failed to open %s: %s", file, strerror(errno)));
 	}
 #else
-	if ((fd = open(tfile, O_RDWR | O_CREAT | O_TRUNC, 0666)) == -1)
+	snprintf(tfile, sizeof(tfile), "%s.XXXXXX", file);
+	if ((fd = mkstemp(tfile)) == -1)
 		return (dt_link_error(dtp, NULL, -1, NULL,
-		    "failed to open %s: %s", tfile, strerror(errno)));
+		    "failed to create temporary file %s: %s",
+		    tfile, strerror(errno)));
 #endif
 
 	/*
@@ -1830,13 +1830,15 @@ dtrace_program_link(dtrace_hdl_t *dtp, d
 		status = dump_elf32(dtp, dof, fd);
 
 	if (status != 0 || lseek(fd, 0, SEEK_SET) != 0) {
-#else
-	/* We don't write the ELF header, just the DOF section */
-	if (dt_write(dtp, fd, dof, dof->dofh_filesz) < dof->dofh_filesz) {
-#endif
 		return (dt_link_error(dtp, NULL, -1, NULL,
 		    "failed to write %s: %s", file, strerror(errno)));
 	}
+#else
+	/* We don't write the ELF header, just the DOF section */
+	if (dt_write(dtp, fd, dof, dof->dofh_filesz) < dof->dofh_filesz)
+		return (dt_link_error(dtp, NULL, -1, NULL,
+		    "failed to write %s: %s", tfile, strerror(errno)));
+#endif
 
 	if (!dtp->dt_lazyload) {
 #if defined(sun)

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp	Tue Dec  3 18:50:27 2013	(r258881)
@@ -454,6 +454,17 @@ DynamicLoaderPOSIXDYLD::LoadAllCurrentMo
         const char *module_path = I->path.c_str();
         FileSpec file(module_path, false);
         ModuleSP module_sp = LoadModuleAtAddress(file, I->link_addr, I->base_addr);
+#ifdef __FreeBSD__ // llvm.org/pr17880
+        if (module_sp == executable)
+        {
+            Log *log(GetLogIfAnyCategoriesSet(LIBLLDB_LOG_DYNAMIC_LOADER));
+            if (log)
+                log->Printf("DynamicLoaderPOSIXDYLD::%s reloading main module, ignoring rendezvous base addr %" PRIx64,
+                            __FUNCTION__, I->base_addr);
+            ModuleSP module_sp = LoadModuleAtAddress(file, I->link_addr, 0);
+        }
+#endif
+ 
         if (module_sp.get())
         {
             module_list.Append(module_sp);

Modified: projects/random_number_generator/contrib/mdocml/lib.in
==============================================================================
--- projects/random_number_generator/contrib/mdocml/lib.in	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/contrib/mdocml/lib.in	Tue Dec  3 18:50:27 2013	(r258881)
@@ -32,6 +32,7 @@ LINE("libc",		"Standard C\\~Library (lib
 LINE("libc_r",		"Reentrant C\\~Library (libc_r, \\-lc_r)")
 LINE("libcalendar",	"Calendar Arithmetic Library (libcalendar, \\-lcalendar)")
 LINE("libcam",		"Common Access Method User Library (libcam, \\-lcam)")
+LINE("libcapsicum",	"Capsicum Library (libcapsicum, \\-lcapsicum)")
 LINE("libcdk",		"Curses Development Kit Library (libcdk, \\-lcdk)")
 LINE("libcipher",	"FreeSec Crypt Library (libcipher, \\-lcipher)")
 LINE("libcompat",	"Compatibility Library (libcompat, \\-lcompat)")

Modified: projects/random_number_generator/etc/Makefile
==============================================================================
--- projects/random_number_generator/etc/Makefile	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/etc/Makefile	Tue Dec  3 18:50:27 2013	(r258881)
@@ -221,6 +221,9 @@ distribution:
 .if ${MK_BLUETOOTH} != "no"
 	${_+_}cd ${.CURDIR}/bluetooth; ${MAKE} install
 .endif
+.if ${MK_CASPER} != "no"
+	${_+_}cd ${.CURDIR}/casper; ${MAKE} install
+.endif
 	${_+_}cd ${.CURDIR}/defaults; ${MAKE} install
 	${_+_}cd ${.CURDIR}/devd; ${MAKE} install
 	${_+_}cd ${.CURDIR}/gss; ${MAKE} install

Modified: projects/random_number_generator/etc/gettytab
==============================================================================
--- projects/random_number_generator/etc/gettytab	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/etc/gettytab	Tue Dec  3 18:50:27 2013	(r258881)
@@ -214,6 +214,8 @@ al.115200:\
 	:al=root:tc=std.115200:
 al.230400:\
 	:al=root:tc=std.230400:
+al.Pc:\
+	:al=root:tc=Pc
 
 #
 # Entries for 3-wire serial terminals.  These don't supply carrier, so

Modified: projects/random_number_generator/etc/mtree/BSD.root.dist
==============================================================================
--- projects/random_number_generator/etc/mtree/BSD.root.dist	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/etc/mtree/BSD.root.dist	Tue Dec  3 18:50:27 2013	(r258881)
@@ -26,6 +26,8 @@
         ..
         bluetooth
         ..
+        casper
+        ..
         defaults
         ..
         devd
@@ -74,6 +76,8 @@
         ..
     ..
     libexec
+        casper
+        ..
         resolvconf
         ..
     ..

Modified: projects/random_number_generator/etc/pf.os
==============================================================================
--- projects/random_number_generator/etc/pf.os	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/etc/pf.os	Tue Dec  3 18:50:27 2013	(r258881)
@@ -315,6 +315,14 @@ S22:64:1:52:M*,N,N,S,N,W0:	Linux:2.2:ts:
 16384:64:1:64:M*,N,N,S,N,W3,N,N,T:	OpenBSD:4.9::OpenBSD 4.9
 16384:64:0:64:M*,N,N,S,N,W3,N,N,T:	OpenBSD:4.9:no-df:OpenBSD 4.9 (scrub no-df)
 
+# ----------------- DragonFly BSD -----------------
+
+57344:64:1:60:M*,N,W0,N,N,T:		DragonFly:1.0:A:DragonFly 1.0A
+57344:64:0:64:M*,N,W0,N,N,S,N,N,T:	DragonFly:1.2-1.12::DragonFly 1.2-1.12
+5840:64:1:60:M*,S,T,N,W4:			DragonFly:2.0-2.1::DragonFly 2.0-2.1
+57344:64:0:64:M*,N,W0,N,N,S,N,N,T:	DragonFly:2.2-2.3::DragonFly 2.2-2.3
+57344:64:0:64:M*,N,W5,N,N,S,N,N,T:	DragonFly:2.4-2.7::DragonFly 2.4-2.7
+
 # ----------------- Solaris -----------------
 
 S17:64:1:64:N,W3,N,N,T0,N,N,S,M*:	Solaris:8:RFC1323:Solaris 8 RFC1323

Modified: projects/random_number_generator/etc/services
==============================================================================
--- projects/random_number_generator/etc/services	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/etc/services	Tue Dec  3 18:50:27 2013	(r258881)
@@ -2192,6 +2192,8 @@ ospf6d		2606/tcp   #OSPF6d vty
 dict		2628/tcp   #RFC 2229
 dict		2628/udp   #RFC 2229
 listen		2766/tcp   #System V listener port
+smpp		2775/tcp   #SMPP
+smpp		2775/udp   #SMPP
 www-dev		2784/tcp   #world wide web - development
 www-dev		2784/udp   #world wide web - development
 m2ua		2904/sctp  #M2UA
@@ -2462,6 +2464,8 @@ amidxtape	10083/tcp  #Amanda tape indexi
 wmereceiving	11997/sctp #WorldMailExpress
 wmedistribution	11998/sctp #WorldMailExpress
 wmereporting	11999/sctp #WorldMailExpress
+bpcd		13782/tcp  #Veritas NetBackup
+bpcd		13782/udp  #Veritas NetBackup
 sua		14001/sctp #SUA
 sua		14001/tcp  #SUA
 isode-dua	17007/tcp

Modified: projects/random_number_generator/lib/Makefile
==============================================================================
--- projects/random_number_generator/lib/Makefile	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/lib/Makefile	Tue Dec  3 18:50:27 2013	(r258881)
@@ -37,6 +37,8 @@ SUBDIR_ORDERED=	${_csu} \
 	libauditd \
 	libutil \
 	libpjdlog \
+	libnv \
+	${_libcapsicum} \
 	libcompiler_rt \
 	libcrypt \
 	libelf \
@@ -70,6 +72,7 @@ SUBDIR=	${SUBDIR_ORDERED} \
 	libbz2 \
 	libcalendar \
 	libcam \
+	${_libcasper} \
 	libcompat \
 	libdevinfo \
 	libdevstat \
@@ -157,6 +160,11 @@ _libsdp=	libsdp
 _libbsnmp=	libbsnmp
 .endif
 
+.if ${MK_CASPER} != "no"
+_libcapsicum=	libcapsicum
+_libcasper=	libcasper
+.endif
+
 .if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT)
 _clang=		clang
 .endif

Modified: projects/random_number_generator/libexec/Makefile
==============================================================================
--- projects/random_number_generator/libexec/Makefile	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/libexec/Makefile	Tue Dec  3 18:50:27 2013	(r258881)
@@ -6,6 +6,7 @@
 SUBDIR=	${_atf} \
 	${_atrun} \
 	bootpd \
+	${_casper} \
 	${_comsat} \
 	fingerd \
 	ftpd \
@@ -38,6 +39,10 @@ SUBDIR=	${_atf} \
 _atrun=		atrun
 .endif
 
+.if ${MK_CASPER} != "no"
+_casper=	casper
+.endif
+
 .if ${MK_MAIL} != "no"
 _comsat=	comsat
 .endif

Modified: projects/random_number_generator/release/Makefile
==============================================================================
--- projects/random_number_generator/release/Makefile	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/release/Makefile	Tue Dec  3 18:50:27 2013	(r258881)
@@ -20,7 +20,7 @@
 #  NOPORTS:  if set, do not distribute ports tree
 #  NOSRC:    if set, do not distribute source tree
 #  NODOC:    if set, do not generate release documentation
-#  NODVD:    if set, do not generate dvd1.iso
+#  WITH_DVD: if set, generate dvd1.iso
 #  TARGET/TARGET_ARCH: architecture of built release 
 #
 
@@ -79,7 +79,7 @@ IMAGES=
 .if exists(${.CURDIR}/${TARGET}/mkisoimages.sh)
 RELEASE_TARGETS+= cdrom
 IMAGES+=	disc1.iso bootonly.iso
-. if !defined(NODVD)
+. if defined(WITH_DVD)
 RELEASE_TARGETS+= dvdrom
 IMAGES+=	dvd1.iso
 . endif

Modified: projects/random_number_generator/release/scripts/pkg-stage.sh
==============================================================================
--- projects/random_number_generator/release/scripts/pkg-stage.sh	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/release/scripts/pkg-stage.sh	Tue Dec  3 18:50:27 2013	(r258881)
@@ -25,7 +25,7 @@ REVISION="${2}"
 . "${1}" || exit 1
 
 if [ ! -x /usr/local/sbin/pkg ]; then
-	/usr/sbin/pkg bootstrap	
+	/usr/bin/make -C /usr/ports/ports-mgmt/pkg install clean
 fi
 
 /bin/mkdir -p ${PKG_CACHEDIR}

Modified: projects/random_number_generator/sbin/Makefile
==============================================================================
--- projects/random_number_generator/sbin/Makefile	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sbin/Makefile	Tue Dec  3 18:50:27 2013	(r258881)
@@ -78,6 +78,10 @@ SUBDIR=adjkerntz \
 SUBDIR+=	atm
 .endif
 
+.if ${MK_CASPER} != "no"
+SUBDIR+=	casperd
+.endif
+
 .if ${MK_CXX} != "no"
 SUBDIR+=	devd
 .endif

Modified: projects/random_number_generator/share/man/man7/release.7
==============================================================================
--- projects/random_number_generator/share/man/man7/release.7	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/share/man/man7/release.7	Tue Dec  3 18:50:27 2013	(r258881)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd November 18, 2013
+.Dd December 2, 2013
 .Dt RELEASE 7
 .Os
 .Sh NAME
@@ -230,10 +230,6 @@ When set,
 will prevent the
 .Fa doc.txz
 distribution package from being created.
-.It Va NODVD
-Set to a non-empty value to skip the
-.Cm dvdrom
-target.
 .It Va NOPORTS
 Set to a non-empty value to skip the
 .Li ports/
@@ -245,6 +241,10 @@ will prevent the
 distribution package from being created.
 Setting this also sets
 .Va NODOC .
+.It Va WITH_DVD
+Set to a non-empty value to include the
+.Cm dvdrom
+target.
 .El
 .Sh MAKEFILE TARGETS
 The release makefile

Modified: projects/random_number_generator/share/mk/bsd.libnames.mk
==============================================================================
--- projects/random_number_generator/share/mk/bsd.libnames.mk	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/share/mk/bsd.libnames.mk	Tue Dec  3 18:50:27 2013	(r258881)
@@ -32,6 +32,8 @@ LIBC?=		${DESTDIR}${LIBDIR}/libc.a
 LIBC_PIC?=	${DESTDIR}${LIBDIR}/libc_pic.a
 LIBCALENDAR?=	${DESTDIR}${LIBDIR}/libcalendar.a
 LIBCAM?=	${DESTDIR}${LIBDIR}/libcam.a
+LIBCAPSICUM?=	${DESTDIR}${LIBDIR}/libcapsicum.a
+LIBCASPER?=	${DESTDIR}${LIBDIR}/libcasper.a
 LIBCOM_ERR?=	${DESTDIR}${LIBDIR}/libcom_err.a
 LIBCOMPAT?=	${DESTDIR}${LIBDIR}/libcompat.a
 LIBCRYPT?=	${DESTDIR}${LIBDIR}/libcrypt.a

Modified: projects/random_number_generator/share/mk/bsd.own.mk
==============================================================================
--- projects/random_number_generator/share/mk/bsd.own.mk	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/share/mk/bsd.own.mk	Tue Dec  3 18:50:27 2013	(r258881)
@@ -264,6 +264,7 @@ __DEFAULT_YES_OPTIONS = \
     BZIP2 \
     CALENDAR \
     CAPSICUM \
+    CASPER \
     CDDL \
     CPP \
     CROSS_COMPILER \

Modified: projects/random_number_generator/sys/amd64/include/vmm.h
==============================================================================
--- projects/random_number_generator/sys/amd64/include/vmm.h	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/amd64/include/vmm.h	Tue Dec  3 18:50:27 2013	(r258881)
@@ -156,7 +156,7 @@ vcpu_is_running(struct vm *vm, int vcpu,
 }
 
 void *vcpu_stats(struct vm *vm, int vcpu);
-void vm_interrupt_hostcpu(struct vm *vm, int vcpu);
+void vcpu_notify_event(struct vm *vm, int vcpuid);
 struct vmspace *vm_get_vmspace(struct vm *vm);
 int vm_assign_pptdev(struct vm *vm, int bus, int slot, int func);
 int vm_unassign_pptdev(struct vm *vm, int bus, int slot, int func);
@@ -283,7 +283,6 @@ struct vm_exit {
 		struct {
 			uint64_t	gpa;
 			int		fault_type;
-			int		protection;
 		} paging;
 		struct {
 			uint64_t	gpa;

Modified: projects/random_number_generator/sys/amd64/vmm/intel/vmx.c
==============================================================================
--- projects/random_number_generator/sys/amd64/vmm/intel/vmx.c	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/amd64/vmm/intel/vmx.c	Tue Dec  3 18:50:27 2013	(r258881)
@@ -1301,21 +1301,6 @@ ept_fault_type(uint64_t ept_qual)
 	return (fault_type);
 }
 
-static int
-ept_protection(uint64_t ept_qual)
-{
-	int prot = 0;
-
-	if (ept_qual & EPT_VIOLATION_GPA_READABLE)
-		prot |= VM_PROT_READ;
-	if (ept_qual & EPT_VIOLATION_GPA_WRITEABLE)
-		prot |= VM_PROT_WRITE;
-	if (ept_qual & EPT_VIOLATION_GPA_EXECUTABLE)
-		prot |= VM_PROT_EXECUTE;
-
-	return (prot);
-}
-
 static boolean_t
 ept_emulation_fault(uint64_t ept_qual)
 {
@@ -1485,7 +1470,6 @@ vmx_exit_process(struct vmx *vmx, int vc
 			vmexit->exitcode = VM_EXITCODE_PAGING;
 			vmexit->u.paging.gpa = gpa;
 			vmexit->u.paging.fault_type = ept_fault_type(qual);
-			vmexit->u.paging.protection = ept_protection(qual);
 		} else if (ept_emulation_fault(qual)) {
 			vmexit->exitcode = VM_EXITCODE_INST_EMUL;
 			vmexit->u.inst_emul.gpa = gpa;

Modified: projects/random_number_generator/sys/amd64/vmm/vmm.c
==============================================================================
--- projects/random_number_generator/sys/amd64/vmm/vmm.c	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/amd64/vmm/vmm.c	Tue Dec  3 18:50:27 2013	(r258881)
@@ -1099,7 +1099,7 @@ vm_inject_nmi(struct vm *vm, int vcpuid)
 	vcpu = &vm->vcpu[vcpuid];
 
 	vcpu->nmi_pending = 1;
-	vm_interrupt_hostcpu(vm, vcpuid);
+	vcpu_notify_event(vm, vcpuid);
 	return (0);
 }
 
@@ -1319,8 +1319,15 @@ vm_set_x2apic_state(struct vm *vm, int v
 	return (0);
 }
 
+/*
+ * This function is called to ensure that a vcpu "sees" a pending event
+ * as soon as possible:
+ * - If the vcpu thread is sleeping then it is woken up.
+ * - If the vcpu is running on a different host_cpu then an IPI will be directed
+ *   to the host_cpu to cause the vcpu to trap into the hypervisor.
+ */
 void
-vm_interrupt_hostcpu(struct vm *vm, int vcpuid)
+vcpu_notify_event(struct vm *vm, int vcpuid)
 {
 	int hostcpu;
 	struct vcpu *vcpu;

Modified: projects/random_number_generator/sys/amd64/vmm/vmm_lapic.c
==============================================================================
--- projects/random_number_generator/sys/amd64/vmm/vmm_lapic.c	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/amd64/vmm/vmm_lapic.c	Tue Dec  3 18:50:27 2013	(r258881)
@@ -75,7 +75,7 @@ lapic_set_intr(struct vm *vm, int cpu, i
 	vlapic = vm_lapic(vm, cpu);
 	vlapic_set_intr_ready(vlapic, vector, level);
 
-	vm_interrupt_hostcpu(vm, cpu);
+	vcpu_notify_event(vm, cpu);
 
 	return (0);
 }

Modified: projects/random_number_generator/sys/arm/arm/locore.S
==============================================================================
--- projects/random_number_generator/sys/arm/arm/locore.S	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/arm/arm/locore.S	Tue Dec  3 18:50:27 2013	(r258881)
@@ -391,6 +391,7 @@ Ltag:
 	mrc	p15, 0, r0, c1, c0, 0
 #if defined(CPU_ARM1136) || defined(CPU_ARM1176) || defined(CPU_MV_PJ4B) || defined(CPU_CORTEXA)
 	orr	r0, r0, #CPU_CONTROL_V6_EXTPAGE
+	orr	r0, r0, #CPU_CONTROL_AF_ENABLE
 #endif
 	orr	r0, r0, #(CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_DC_ENABLE)
 	mcr	p15, 0, r0, c1, c0, 0

Modified: projects/random_number_generator/sys/cam/ctl/ctl_backend_block.c
==============================================================================
--- projects/random_number_generator/sys/cam/ctl/ctl_backend_block.c	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/cam/ctl/ctl_backend_block.c	Tue Dec  3 18:50:27 2013	(r258881)
@@ -1483,6 +1483,7 @@ ctl_be_block_close(struct ctl_be_block_l
 		case CTL_BE_BLOCK_FILE:
 			break;
 		case CTL_BE_BLOCK_NONE:
+			break;
 		default:
 			panic("Unexpected backend type.");
 			break;
@@ -1501,6 +1502,7 @@ ctl_be_block_close(struct ctl_be_block_l
 			}
 			break;
 		case CTL_BE_BLOCK_NONE:
+			break;
 		default:
 			panic("Unexpected backend type.");
 			break;
@@ -1587,7 +1589,7 @@ ctl_be_block_open(struct ctl_be_block_so
 	} else {
 		error = EINVAL;
 		snprintf(req->error_str, sizeof(req->error_str),
-			 "%s is not a disk or file", be_lun->dev_path);
+			 "%s is not a disk or plain file", be_lun->dev_path);
 	}
 	VOP_UNLOCK(be_lun->vn, 0);
 

Modified: projects/random_number_generator/sys/dev/cxgbe/common/common.h
==============================================================================
--- projects/random_number_generator/sys/dev/cxgbe/common/common.h	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/dev/cxgbe/common/common.h	Tue Dec  3 18:50:27 2013	(r258881)
@@ -587,4 +587,8 @@ int t4_sge_ctxt_rd_bd(struct adapter *ad
 int t4_sge_ctxt_flush(struct adapter *adap, unsigned int mbox);
 int t4_handle_fw_rpl(struct adapter *adap, const __be64 *rpl);
 int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox, u32 addr, u32 val);
+int t4_sched_config(struct adapter *adapter, int type, int minmaxen);
+int t4_sched_params(struct adapter *adapter, int type, int level, int mode,
+		    int rateunit, int ratemode, int channel, int cl,
+		    int minrate, int maxrate, int weight, int pktsize);
 #endif /* __CHELSIO_COMMON_H */

Modified: projects/random_number_generator/sys/dev/cxgbe/common/t4_hw.c
==============================================================================
--- projects/random_number_generator/sys/dev/cxgbe/common/t4_hw.c	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/dev/cxgbe/common/t4_hw.c	Tue Dec  3 18:50:27 2013	(r258881)
@@ -5664,3 +5664,50 @@ int __devinit t4_port_init(struct port_i
 
 	return 0;
 }
+
+int t4_sched_config(struct adapter *adapter, int type, int minmaxen)
+{
+	struct fw_sched_cmd cmd;
+
+	memset(&cmd, 0, sizeof(cmd));
+	cmd.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_SCHED_CMD) |
+				      F_FW_CMD_REQUEST |
+				      F_FW_CMD_WRITE);
+	cmd.retval_len16 = cpu_to_be32(FW_LEN16(cmd));
+
+	cmd.u.config.sc = FW_SCHED_SC_CONFIG;
+	cmd.u.config.type = type;
+	cmd.u.config.minmaxen = minmaxen;
+
+	return t4_wr_mbox_meat(adapter,adapter->mbox, &cmd, sizeof(cmd),
+			       NULL, 1);
+}
+
+int t4_sched_params(struct adapter *adapter, int type, int level, int mode,
+		    int rateunit, int ratemode, int channel, int cl,
+		    int minrate, int maxrate, int weight, int pktsize)
+{
+	struct fw_sched_cmd cmd;
+
+	memset(&cmd, 0, sizeof(cmd));
+	cmd.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_SCHED_CMD) |
+				      F_FW_CMD_REQUEST |
+				      F_FW_CMD_WRITE);
+	cmd.retval_len16 = cpu_to_be32(FW_LEN16(cmd));
+
+	cmd.u.params.sc = FW_SCHED_SC_PARAMS;
+	cmd.u.params.type = type;
+	cmd.u.params.level = level;
+	cmd.u.params.mode = mode;
+	cmd.u.params.ch = channel;
+	cmd.u.params.cl = cl;
+	cmd.u.params.unit = rateunit;
+	cmd.u.params.rate = ratemode;
+	cmd.u.params.min = cpu_to_be32(minrate);
+	cmd.u.params.max = cpu_to_be32(maxrate);
+	cmd.u.params.weight = cpu_to_be16(weight);
+	cmd.u.params.pktsize = cpu_to_be16(pktsize);
+
+	return t4_wr_mbox_meat(adapter,adapter->mbox, &cmd, sizeof(cmd),
+			       NULL, 1);
+}

Modified: projects/random_number_generator/sys/dev/cxgbe/t4_ioctl.h
==============================================================================
--- projects/random_number_generator/sys/dev/cxgbe/t4_ioctl.h	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/dev/cxgbe/t4_ioctl.h	Tue Dec  3 18:50:27 2013	(r258881)
@@ -208,6 +208,74 @@ struct t4_filter {
 	struct t4_filter_specification fs;
 };
 
+/*
+ * Support for "sched-class" command to allow a TX Scheduling Class to be
+ * programmed with various parameters.
+ */
+struct t4_sched_params {
+	int8_t   subcmd;		/* sub-command */
+	int8_t   type;			/* packet or flow */
+	union {
+		struct {		/* sub-command SCHED_CLASS_CONFIG */
+			int8_t   minmax;	/* minmax enable */
+		} config;
+		struct {		/* sub-command SCHED_CLASS_PARAMS */
+			int8_t   level;		/* scheduler hierarchy level */
+			int8_t   mode;		/* per-class or per-flow */
+			int8_t   rateunit;	/* bit or packet rate */
+			int8_t   ratemode;	/* %port relative or kbps
+						   absolute */
+			int8_t   channel;	/* scheduler channel [0..N] */
+			int8_t   cl;		/* scheduler class [0..N] */
+			int32_t  minrate;	/* minimum rate */
+			int32_t  maxrate;	/* maximum rate */
+			int16_t  weight;	/* percent weight */
+			int16_t  pktsize;	/* average packet size */
+		} params;
+		uint8_t     reserved[6 + 8 * 8];
+	} u;
+};
+
+enum {
+	SCHED_CLASS_SUBCMD_CONFIG,	/* config sub-command */
+	SCHED_CLASS_SUBCMD_PARAMS,	/* params sub-command */
+};
+
+enum {
+	SCHED_CLASS_TYPE_PACKET,
+};
+
+enum {
+	SCHED_CLASS_LEVEL_CL_RL,	/* class rate limiter */
+	SCHED_CLASS_LEVEL_CL_WRR,	/* class weighted round robin */
+	SCHED_CLASS_LEVEL_CH_RL,	/* channel rate limiter */
+};
+
+enum {
+	SCHED_CLASS_MODE_CLASS,		/* per-class scheduling */
+	SCHED_CLASS_MODE_FLOW,		/* per-flow scheduling */
+};
+
+enum {
+	SCHED_CLASS_RATEUNIT_BITS,	/* bit rate scheduling */
+	SCHED_CLASS_RATEUNIT_PKTS,	/* packet rate scheduling */
+};
+
+enum {
+	SCHED_CLASS_RATEMODE_REL,	/* percent of port bandwidth */
+	SCHED_CLASS_RATEMODE_ABS,	/* Kb/s */
+};
+
+/*
+ * Support for "sched_queue" command to allow one or more NIC TX Queues to be
+ * bound to a TX Scheduling Class.
+ */
+struct t4_sched_queue {
+	uint8_t  port;
+	int8_t   queue;	/* queue index; -1 => all queues */
+	int8_t   cl;	/* class index; -1 => unbind */
+};
+
 #define T4_SGE_CONTEXT_SIZE 24
 enum {
 	SGE_CONTEXT_EGRESS,
@@ -261,6 +329,10 @@ struct t4_tracer {
 #define CHELSIO_T4_GET_MEM	_IOW('f', T4_GET_MEM, struct t4_mem_range)
 #define CHELSIO_T4_GET_I2C	_IOWR('f', T4_GET_I2C, struct t4_i2c_data)
 #define CHELSIO_T4_CLEAR_STATS	_IOW('f', T4_CLEAR_STATS, uint32_t)
+#define CHELSIO_T4_SCHED_CLASS  _IOW('f', T4_SET_SCHED_CLASS, \
+    struct t4_sched_params)
+#define CHELSIO_T4_SCHED_QUEUE  _IOW('f', T4_SET_SCHED_QUEUE, \
+    struct t4_sched_queue)
 #define CHELSIO_T4_GET_TRACER	_IOWR('f', T4_GET_TRACER, struct t4_tracer)
 #define CHELSIO_T4_SET_TRACER	_IOW('f', T4_SET_TRACER, struct t4_tracer)
 #endif

Modified: projects/random_number_generator/sys/dev/cxgbe/t4_main.c
==============================================================================
--- projects/random_number_generator/sys/dev/cxgbe/t4_main.c	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/dev/cxgbe/t4_main.c	Tue Dec  3 18:50:27 2013	(r258881)
@@ -425,6 +425,8 @@ static int get_sge_context(struct adapte
 static int load_fw(struct adapter *, struct t4_data *);
 static int read_card_mem(struct adapter *, int, struct t4_mem_range *);
 static int read_i2c(struct adapter *, struct t4_i2c_data *);
+static int set_sched_class(struct adapter *, struct t4_sched_params *);
+static int set_sched_queue(struct adapter *, struct t4_sched_queue *);
 #ifdef TCP_OFFLOAD
 static int toe_capability(struct port_info *, int);
 #endif
@@ -7295,6 +7297,228 @@ read_i2c(struct adapter *sc, struct t4_i
 	return (rc);
 }
 
+static int
+in_range(int val, int lo, int hi)
+{
+
+	return (val < 0 || (val <= hi && val >= lo));
+}
+
+static int
+set_sched_class(struct adapter *sc, struct t4_sched_params *p)
+{
+	int fw_subcmd, fw_type, rc;
+
+	rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4setsc");
+	if (rc)
+		return (rc);
+
+	if (!(sc->flags & FULL_INIT_DONE)) {
+		rc = EAGAIN;
+		goto done;
+	}
+
+	/*
+	 * Translate the cxgbetool parameters into T4 firmware parameters.  (The
+	 * sub-command and type are in common locations.)
+	 */
+	if (p->subcmd == SCHED_CLASS_SUBCMD_CONFIG)
+		fw_subcmd = FW_SCHED_SC_CONFIG;
+	else if (p->subcmd == SCHED_CLASS_SUBCMD_PARAMS)
+		fw_subcmd = FW_SCHED_SC_PARAMS;
+	else {
+		rc = EINVAL;
+		goto done;
+	}
+	if (p->type == SCHED_CLASS_TYPE_PACKET)
+		fw_type = FW_SCHED_TYPE_PKTSCHED;
+	else {
+		rc = EINVAL;
+		goto done;
+	}
+
+	if (fw_subcmd == FW_SCHED_SC_CONFIG) {
+		/* Vet our parameters ..*/
+		if (p->u.config.minmax < 0) {
+			rc = EINVAL;
+			goto done;
+		}
+
+		/* And pass the request to the firmware ...*/
+		rc = -t4_sched_config(sc, fw_type, p->u.config.minmax);
+		goto done;
+	}
+
+	if (fw_subcmd == FW_SCHED_SC_PARAMS) {
+		int fw_level;
+		int fw_mode;
+		int fw_rateunit;
+		int fw_ratemode;
+
+		if (p->u.params.level == SCHED_CLASS_LEVEL_CL_RL)
+			fw_level = FW_SCHED_PARAMS_LEVEL_CL_RL;
+		else if (p->u.params.level == SCHED_CLASS_LEVEL_CL_WRR)
+			fw_level = FW_SCHED_PARAMS_LEVEL_CL_WRR;
+		else if (p->u.params.level == SCHED_CLASS_LEVEL_CH_RL)
+			fw_level = FW_SCHED_PARAMS_LEVEL_CH_RL;
+		else {
+			rc = EINVAL;
+			goto done;
+		}
+
+		if (p->u.params.mode == SCHED_CLASS_MODE_CLASS)
+			fw_mode = FW_SCHED_PARAMS_MODE_CLASS;
+		else if (p->u.params.mode == SCHED_CLASS_MODE_FLOW)
+			fw_mode = FW_SCHED_PARAMS_MODE_FLOW;
+		else {
+			rc = EINVAL;
+			goto done;
+		}
+
+		if (p->u.params.rateunit == SCHED_CLASS_RATEUNIT_BITS)
+			fw_rateunit = FW_SCHED_PARAMS_UNIT_BITRATE;
+		else if (p->u.params.rateunit == SCHED_CLASS_RATEUNIT_PKTS)
+			fw_rateunit = FW_SCHED_PARAMS_UNIT_PKTRATE;
+		else {
+			rc = EINVAL;
+			goto done;
+		}
+
+		if (p->u.params.ratemode == SCHED_CLASS_RATEMODE_REL)
+			fw_ratemode = FW_SCHED_PARAMS_RATE_REL;
+		else if (p->u.params.ratemode == SCHED_CLASS_RATEMODE_ABS)
+			fw_ratemode = FW_SCHED_PARAMS_RATE_ABS;
+		else {
+			rc = EINVAL;
+			goto done;
+		}
+
+		/* Vet our parameters ... */
+		if (!in_range(p->u.params.channel, 0, 3) ||
+		    !in_range(p->u.params.cl, 0, is_t4(sc) ? 15 : 16) ||
+		    !in_range(p->u.params.minrate, 0, 10000000) ||
+		    !in_range(p->u.params.maxrate, 0, 10000000) ||
+		    !in_range(p->u.params.weight, 0, 100)) {
+			rc = ERANGE;
+			goto done;
+		}
+
+		/*
+		 * Translate any unset parameters into the firmware's
+		 * nomenclature and/or fail the call if the parameters
+		 * are required ...
+		 */
+		if (p->u.params.rateunit < 0 || p->u.params.ratemode < 0 ||
+		    p->u.params.channel < 0 || p->u.params.cl < 0) {
+			rc = EINVAL;
+			goto done;
+		}
+		if (p->u.params.minrate < 0)
+			p->u.params.minrate = 0;
+		if (p->u.params.maxrate < 0) {
+			if (p->u.params.level == SCHED_CLASS_LEVEL_CL_RL ||
+			    p->u.params.level == SCHED_CLASS_LEVEL_CH_RL) {
+				rc = EINVAL;
+				goto done;
+			} else
+				p->u.params.maxrate = 0;
+		}
+		if (p->u.params.weight < 0) {
+			if (p->u.params.level == SCHED_CLASS_LEVEL_CL_WRR) {
+				rc = EINVAL;
+				goto done;
+			} else
+				p->u.params.weight = 0;
+		}
+		if (p->u.params.pktsize < 0) {
+			if (p->u.params.level == SCHED_CLASS_LEVEL_CL_RL ||
+			    p->u.params.level == SCHED_CLASS_LEVEL_CH_RL) {
+				rc = EINVAL;
+				goto done;
+			} else
+				p->u.params.pktsize = 0;
+		}
+
+		/* See what the firmware thinks of the request ... */
+		rc = -t4_sched_params(sc, fw_type, fw_level, fw_mode,
+		    fw_rateunit, fw_ratemode, p->u.params.channel,
+		    p->u.params.cl, p->u.params.minrate, p->u.params.maxrate,
+		    p->u.params.weight, p->u.params.pktsize);
+		goto done;
+	}
+
+	rc = EINVAL;
+done:
+	end_synchronized_op(sc, 0);
+	return (rc);
+}
+
+static int
+set_sched_queue(struct adapter *sc, struct t4_sched_queue *p)
+{
+	struct port_info *pi = NULL;
+	struct sge_txq *txq;
+	uint32_t fw_mnem, fw_queue, fw_class;
+	int i, rc;
+
+	rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4setsq");
+	if (rc)
+		return (rc);
+
+	if (!(sc->flags & FULL_INIT_DONE)) {
+		rc = EAGAIN;
+		goto done;
+	}
+
+	if (p->port >= sc->params.nports) {
+		rc = EINVAL;
+		goto done;
+	}
+
+	pi = sc->port[p->port];
+	if (!in_range(p->queue, 0, pi->ntxq - 1) || !in_range(p->cl, 0, 7)) {
+		rc = EINVAL;
+		goto done;
+	}
+
+	/*
+	 * Create a template for the FW_PARAMS_CMD mnemonic and value (TX
+	 * Scheduling Class in this case).
+	 */
+	fw_mnem = (V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DMAQ) |
+	    V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DMAQ_EQ_SCHEDCLASS_ETH));
+	fw_class = p->cl < 0 ? 0xffffffff : p->cl;
+
+	/*
+	 * If op.queue is non-negative, then we're only changing the scheduling
+	 * on a single specified TX queue.
+	 */
+	if (p->queue >= 0) {
+		txq = &sc->sge.txq[pi->first_txq + p->queue];
+		fw_queue = (fw_mnem | V_FW_PARAMS_PARAM_YZ(txq->eq.cntxt_id));
+		rc = -t4_set_params(sc, sc->mbox, sc->pf, 0, 1, &fw_queue,
+		    &fw_class);
+		goto done;
+	}
+
+	/*
+	 * Change the scheduling on all the TX queues for the
+	 * interface.
+	 */
+	for_each_txq(pi, i, txq) {
+		fw_queue = (fw_mnem | V_FW_PARAMS_PARAM_YZ(txq->eq.cntxt_id));
+		rc = -t4_set_params(sc, sc->mbox, sc->pf, 0, 1, &fw_queue,
+		    &fw_class);
+		if (rc)
+			goto done;
+	}
+
+	rc = 0;
+done:
+	end_synchronized_op(sc, 0);
+	return (rc);
+}
+
 int
 t4_os_find_pci_capability(struct adapter *sc, int cap)
 {
@@ -7538,6 +7762,12 @@ t4_ioctl(struct cdev *dev, unsigned long
 		}
 		break;
 	}
+	case CHELSIO_T4_SCHED_CLASS:
+		rc = set_sched_class(sc, (struct t4_sched_params *)data);
+		break;
+	case CHELSIO_T4_SCHED_QUEUE:
+		rc = set_sched_queue(sc, (struct t4_sched_queue *)data);
+		break;
 	case CHELSIO_T4_GET_TRACER:
 		rc = t4_get_tracer(sc, (struct t4_tracer *)data);
 		break;

Modified: projects/random_number_generator/sys/dev/usb/wlan/if_run.c
==============================================================================
--- projects/random_number_generator/sys/dev/usb/wlan/if_run.c	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/dev/usb/wlan/if_run.c	Tue Dec  3 18:50:27 2013	(r258881)
@@ -3167,8 +3167,9 @@ run_tx(struct run_softc *sc, struct mbuf
 
 	usbd_transfer_start(sc->sc_xfer[qid]);
 
-	DPRINTFN(8, "sending data frame len=%d rate=%d qid=%d\n", m->m_pkthdr.len +
-	    (int)(sizeof (struct rt2870_txd) + sizeof (struct rt2860_rxwi)),
+	DPRINTFN(8, "sending data frame len=%d rate=%d qid=%d\n",
+	    m->m_pkthdr.len +
+	    (int)(sizeof(struct rt2870_txd) + sizeof(struct rt2860_txwi)),
 	    rt2860_rates[ridx].rate, qid);
 
 	return (0);
@@ -3233,7 +3234,7 @@ run_tx_mgt(struct run_softc *sc, struct 
 	run_set_tx_desc(sc, data);
 
 	DPRINTFN(10, "sending mgt frame len=%d rate=%d\n", m->m_pkthdr.len +
-	    (int)(sizeof (struct rt2870_txd) + sizeof (struct rt2860_rxwi)),
+	    (int)(sizeof(struct rt2870_txd) + sizeof(struct rt2860_txwi)),
 	    rt2860_rates[ridx].rate);
 
 	STAILQ_INSERT_TAIL(&sc->sc_epq[0].tx_qh, data, next);

Modified: projects/random_number_generator/sys/dev/usb/wlan/if_runvar.h
==============================================================================
--- projects/random_number_generator/sys/dev/usb/wlan/if_runvar.h	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/dev/usb/wlan/if_runvar.h	Tue Dec  3 18:50:27 2013	(r258881)
@@ -35,7 +35,7 @@
 /* NB: "11" is the maximum number of padding bytes needed for Tx */
 #define RUN_MAX_TXSZ			\
 	(sizeof (struct rt2870_txd) +	\
-	 sizeof (struct rt2860_rxwi) +	\
+	 sizeof (struct rt2860_txwi) +	\
 	 MCLBYTES + 11)
 
 #define RUN_TX_TIMEOUT	5000	/* ms */

Modified: projects/random_number_generator/sys/kern/sched_ule.c
==============================================================================
--- projects/random_number_generator/sys/kern/sched_ule.c	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/kern/sched_ule.c	Tue Dec  3 18:50:27 2013	(r258881)
@@ -1532,7 +1532,7 @@ sched_priority(struct thread *td)
 		pri = SCHED_PRI_MIN;
 		if (td->td_sched->ts_ticks)
 			pri += min(SCHED_PRI_TICKS(td->td_sched),
-			    SCHED_PRI_RANGE);
+			    SCHED_PRI_RANGE - 1);
 		pri += SCHED_PRI_NICE(td->td_proc->p_nice);
 		KASSERT(pri >= PRI_MIN_BATCH && pri <= PRI_MAX_BATCH,
 		    ("sched_priority: invalid priority %d: nice %d, " 

Modified: projects/random_number_generator/sys/powerpc/include/fdt.h
==============================================================================
--- projects/random_number_generator/sys/powerpc/include/fdt.h	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/powerpc/include/fdt.h	Tue Dec  3 18:50:27 2013	(r258881)
@@ -35,15 +35,7 @@
 #include <machine/bus.h>
 #include <machine/intr_machdep.h>
 
-/* Max interrupt number */
-#define FDT_INTR_MAX	INTR_VECTORS
-
 /* Map phandle/intpin pair to global IRQ number */
 #define	FDT_MAP_IRQ(node, pin)	powerpc_get_irq(node, pin)
 
-/*
- * Bus space tag. XXX endianess info needs to be derived from the blob.
- */
-#define fdtbus_bs_tag	(&bs_be_tag)
-
 #endif /* _MACHINE_FDT_H_ */

Modified: projects/random_number_generator/sys/powerpc/wii/platform_wii.c
==============================================================================
--- projects/random_number_generator/sys/powerpc/wii/platform_wii.c	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/powerpc/wii/platform_wii.c	Tue Dec  3 18:50:27 2013	(r258881)
@@ -136,7 +136,7 @@ wii_mem_regions(platform_t plat, struct 
 	 */
 	avail_regions[1].mr_size -= WIIIPC_IOH_LEN + 1;
 
-	memcpy(phys, avail, 2*sizeof(*avail);
+	memcpy(phys, avail_regions, 2*sizeof(*avail_regions));
 	*physsz = *availsz = 2;
 }
 

Modified: projects/random_number_generator/sys/sys/ktr.h
==============================================================================
--- projects/random_number_generator/sys/sys/ktr.h	Tue Dec  3 18:35:17 2013	(r258880)
+++ projects/random_number_generator/sys/sys/ktr.h	Tue Dec  3 18:50:27 2013	(r258881)
@@ -36,56 +36,7 @@
 #ifndef _SYS_KTR_H_
 #define _SYS_KTR_H_
 
-/*
- * Trace classes
- *
- * Two of the trace classes (KTR_DEV and KTR_SUBSYS) are special in that
- * they are really placeholders so that indvidual drivers and subsystems
- * can map their internal tracing to the general class when they wish to
- * have tracing enabled and map it to 0 when they don't.
- */
-#define	KTR_GEN		0x00000001		/* General (TR) */
-#define	KTR_NET		0x00000002		/* Network */
-#define	KTR_DEV		0x00000004		/* Device driver */
-#define	KTR_LOCK	0x00000008		/* MP locking */
-#define	KTR_SMP		0x00000010		/* MP general */
-#define	KTR_SUBSYS	0x00000020		/* Subsystem. */
-#define	KTR_PMAP	0x00000040		/* Pmap tracing */
-#define	KTR_MALLOC	0x00000080		/* Malloc tracing */
-#define	KTR_TRAP	0x00000100		/* Trap processing */
-#define	KTR_INTR	0x00000200		/* Interrupt tracing */
-#define	KTR_SIG		0x00000400		/* Signal processing */
-#define	KTR_SPARE2	0x00000800		/* XXX Used by cxgb */
-#define	KTR_PROC	0x00001000		/* Process scheduling */
-#define	KTR_SYSC	0x00002000		/* System call */
-#define	KTR_INIT	0x00004000		/* System initialization */
-#define	KTR_SPARE3	0x00008000		/* XXX Used by cxgb */
-#define	KTR_SPARE4	0x00010000		/* XXX Used by cxgb */
-#define	KTR_EVH		0x00020000		/* Eventhandler */
-#define	KTR_VFS		0x00040000		/* VFS events */
-#define	KTR_VOP		0x00080000		/* Auto-generated vop events */
-#define	KTR_VM		0x00100000		/* The virtual memory system */
-#define	KTR_INET	0x00200000		/* IPv4 stack */
-#define	KTR_RUNQ	0x00400000		/* Run queue */
-#define	KTR_CONTENTION	0x00800000		/* Lock contention */
-#define	KTR_UMA		0x01000000		/* UMA slab allocator */
-#define	KTR_CALLOUT	0x02000000		/* Callouts and timeouts */
-#define	KTR_GEOM	0x04000000		/* GEOM I/O events */
-#define	KTR_BUSDMA	0x08000000		/* busdma(9) events */
-#define	KTR_INET6	0x10000000		/* IPv6 stack */
-#define	KTR_SCHED	0x20000000		/* Machine parsed sched info. */
-#define	KTR_BUF		0x40000000		/* Buffer cache */
-#define	KTR_ALL		0x7fffffff
-
-/* Trace classes to compile in */
-#ifdef KTR

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

From owner-svn-src-projects@FreeBSD.ORG  Wed Dec  4 12:28:57 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id F1F154AF;
 Wed,  4 Dec 2013 12:28:56 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id DCEF01D30;
 Wed,  4 Dec 2013 12:28:56 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB4CSuo7008603;
 Wed, 4 Dec 2013 12:28:56 GMT (envelope-from cherry@svn.freebsd.org)
Received: (from cherry@localhost)
 by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB4CSui6008599;
 Wed, 4 Dec 2013 12:28:56 GMT (envelope-from cherry@svn.freebsd.org)
Message-Id: <201312041228.rB4CSui6008599@svn.freebsd.org>
From: "Cherry G. Mathew" <cherry@FreeBSD.org>
Date: Wed, 4 Dec 2013 12:28:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258920 - projects/amd64_xen_pv/sys/amd64/xen
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Dec 2013 12:28:57 -0000

Author: cherry
Date: Wed Dec  4 12:28:56 2013
New Revision: 258920
URL: http://svnweb.freebsd.org/changeset/base/258920

Log:
  This commit enables userland to load and start executing, as it
  did before recent vm/ shakeups. fork(2) is still wip.
  
  Changes:
  pmap.c:
  i) Initial split out of pmap_enter() variants:
   - pmap_enter_locked()
   - pmap_enter_quick()
   - pmap_enter_object()
  ii) Improve locking behaviour - make it more consistent with native pmap
  iii) Fix two api change related bugs. (kva_alloc() and friends)
  iv) Miscellaneous further pmap functions to make boot progress.
  
  pmap_pv.[hc]:
  i) Modify the api to export locking behaviour control.
  ii) Fine tune pv chunk garbage collecting.
  iii) Remove stray debug/instrumentation code.
       "-	if (pmap == kernel_pmap) return true;"
  
  Approved by:	gibbs(implicit)

Modified:
  projects/amd64_xen_pv/sys/amd64/xen/pmap.c
  projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.c
  projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.h

Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap.c
==============================================================================
--- projects/amd64_xen_pv/sys/amd64/xen/pmap.c	Wed Dec  4 12:07:46 2013	(r258919)
+++ projects/amd64_xen_pv/sys/amd64/xen/pmap.c	Wed Dec  4 12:28:56 2013	(r258920)
@@ -646,6 +646,7 @@ pmap_bootstrap(vm_paddr_t *firstaddr)
 	kernel_pmap->pm_root.rt_root = 0;
 	CPU_FILL(&kernel_pmap->pm_active);	/* don't allow deactivation */
 	pmap_pv_init();
+	pmap_pv_pmap_init(kernel_pmap);
 
 	tsz = mmu_map_t_size();
 
@@ -756,6 +757,7 @@ pmap_pinit0(pmap_t pmap)
 	pmap->pm_cr3 = pmap_kextract_ma((vm_offset_t) KPML4phys);
 	pmap->pm_root.rt_root = 0;
 	CPU_ZERO(&pmap->pm_active);
+	CPU_ZERO(&pmap->pm_save);
 	PCPU_SET(curpmap, pmap);
 	pmap_pv_pmap_init(pmap);
 	bzero(&pmap->pm_stats, sizeof pmap->pm_stats);
@@ -1003,27 +1005,16 @@ pmap_qremove(vm_offset_t sva, int count)
 	// XXX: TODO: pmap_invalidate_range(kernel_pmap, sva, va);
 }
 
-/*
- *	Insert the given physical page (p) at
- *	the specified virtual address (v) in the
- *	target physical map with the protection requested.
- *
- *	If specified, the page will be wired down, meaning
- *	that the related pte can not be reclaimed.
- *
- *	NB:  This is the only routine which MAY NOT lazy-evaluate
- *	or lose information.  That is, this routine must actually
- *	insert this page into the given map NOW.
- */
+#include <ddb/ddb.h>
 
-void
-pmap_enter(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t m,
+static void
+pmap_enter_locked(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t m,
     vm_prot_t prot, boolean_t wired)
 {
 	pt_entry_t *pte;
 	pt_entry_t newpte, origpte;
 	vm_paddr_t opa, pa;
-	vm_page_t mpte, om;
+	vm_page_t om;
 
 	va = trunc_page(va);
 
@@ -1031,12 +1022,12 @@ pmap_enter(pmap_t pmap, vm_offset_t va, 
 	KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS,
 	    ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)",
 	    va));
-	if ((m->oflags & VPO_UNMANAGED) == 0 && !vm_page_xbusied(m))
-		VM_OBJECT_ASSERT_WLOCKED(m->object);
 
 	KASSERT(VM_PAGE_TO_PHYS(m) != 0,
 		("VM_PAGE_TO_PHYS(m) == 0x%lx\n", VM_PAGE_TO_PHYS(m)));
 
+	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
+
 	pa = VM_PAGE_TO_PHYS(m);
 	newpte = (pt_entry_t)(xpmap_ptom(pa) | PG_A | PG_V | PG_U);
 	if ((access & VM_PROT_WRITE) != 0)
@@ -1052,10 +1043,6 @@ pmap_enter(pmap_t pmap, vm_offset_t va, 
 
 	/* newpte |= pmap_cache_bits(m->md.pat_mode, 0); XXX */
 
-	mpte = NULL;
-
-	PMAP_LOCK(pmap);
-
 	/*
 	 * In the case that a page table page is not
 	 * resident, we are creating it here.
@@ -1114,13 +1101,16 @@ pmap_enter(pmap_t pmap, vm_offset_t va, 
 		pmap_resident_count_inc(pmap, 1);
 	}
 
-
 	/*
 	 * Enter on the PV list if part of our managed memory.
 	 */
 	if ((m->oflags & VPO_UNMANAGED) == 0) {
+		bool pvunmanaged = false;
 		newpte |= PG_MANAGED;
-		pmap_put_pv_entry(pmap, va, m);
+		pvunmanaged = pmap_put_pv_entry(pmap, va, m);
+
+		KASSERT(pvunmanaged == true,
+		    ("VPO_UNMANAGED flag set on existing pv entry for m == %p\n", m));
 
 		if ((newpte & PG_RW) != 0)
 			vm_page_aflag_set(m, PGA_WRITEABLE);
@@ -1195,6 +1185,44 @@ validate:
 
 unchanged:
 	pmap_vtopte_release(pmap, va, &tptr);
+
+}
+
+/*
+ *	Insert the given physical page (p) at
+ *	the specified virtual address (v) in the
+ *	target physical map with the protection requested.
+ *
+ *	If specified, the page will be wired down, meaning
+ *	that the related pte can not be reclaimed.
+ *
+ *	NB:  This is the only routine which MAY NOT lazy-evaluate
+ *	or lose information.  That is, this routine must actually
+ *	insert this page into the given map NOW.
+ */
+
+void
+pmap_enter(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t m,
+    vm_prot_t prot, boolean_t wired)
+{
+	va = trunc_page(va);
+
+	KASSERT(va <= VM_MAX_KERNEL_ADDRESS, ("pmap_enter: toobig"));
+	KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS,
+	    ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)",
+	    va));
+
+	if ((m->oflags & VPO_UNMANAGED) == 0 && !vm_page_xbusied(m))
+		VM_OBJECT_ASSERT_WLOCKED(m->object);
+
+	KASSERT(VM_PAGE_TO_PHYS(m) != 0,
+		("VM_PAGE_TO_PHYS(m) == 0x%lx\n", VM_PAGE_TO_PHYS(m)));
+
+
+	PMAP_LOCK(pmap);
+
+	pmap_enter_locked(pmap, va, access, m, prot, wired);
+
 	PMAP_UNLOCK(pmap);
 }
 
@@ -1219,16 +1247,20 @@ pmap_enter_object(pmap_t pmap, vm_offset
 	vm_pindex_t diff, psize;
 	vm_page_t m;
 
-	VM_OBJECT_ASSERT_WLOCKED(m_start->object);
+	VM_OBJECT_ASSERT_LOCKED(m_start->object);
 
 	psize = atop(end - start);
 	m = m_start;
 
+	PMAP_LOCK(pmap);
+
 	while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) {
 		va = start + ptoa(diff);
-		pmap_enter(pmap, va, prot, m, prot, false);
+		pmap_enter_locked(pmap, va, prot, m, prot, false);
 		m = TAILQ_NEXT(m, listq);
 	}
+
+	PMAP_UNLOCK(pmap);
 }
 
 void
@@ -1237,8 +1269,22 @@ pmap_enter_quick(pmap_t pmap, vm_offset_
 	/* RO and unwired */
 	prot = (prot & ~VM_PROT_WRITE) | VM_PROT_READ;
 
+	va = trunc_page(va);
+
+	KASSERT(va <= VM_MAX_KERNEL_ADDRESS, ("pmap_enter: toobig"));
+	KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS,
+	    ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)",
+	    va));
+
+	KASSERT(VM_PAGE_TO_PHYS(m) != 0,
+		("VM_PAGE_TO_PHYS(m) == 0x%lx\n", VM_PAGE_TO_PHYS(m)));
+
+	PMAP_LOCK(pmap);
+
 	/* XXX: do we care about "speed" ? */
-	pmap_enter(pmap, va, prot, m, prot, false);
+	pmap_enter_locked(pmap, va, prot, m, prot, false);
+
+	PMAP_UNLOCK(pmap);
 }
 
 void *
@@ -1493,7 +1539,7 @@ pmap_remove_all(vm_page_t m)
 	KASSERT((m->oflags & VPO_UNMANAGED) == 0,
 	    ("pmap_remove_all: page %p is not managed", m));
 
-	pmap_pv_iterate(m, pv_remove);
+	pmap_pv_iterate(m, pv_remove, PV_RW_ITERATE);
 
 	/* free pv entry from all pmaps */
 	pmap_pv_page_unmap(m);
@@ -1894,6 +1940,9 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pm
 	if (dst_addr != src_addr)
 		return;
 
+	if (dst_pmap->pm_type != src_pmap->pm_type)
+		return;
+
 	if (dst_pmap < src_pmap) {
 		PMAP_LOCK(dst_pmap);
 		PMAP_LOCK(src_pmap);
@@ -2000,7 +2049,6 @@ out:
 	mmu_map_t_fini(dtptr);
 	mmu_map_t_fini(stptr);
 
-	
 	PMAP_UNLOCK(src_pmap);
 	PMAP_UNLOCK(dst_pmap);
 }
@@ -2014,7 +2062,7 @@ pmap_copy_page(vm_page_t msrc, vm_page_t
 	KASSERT(msrc != NULL && mdst != NULL,
 		("Invalid source or destination page!"));
 
-	va_src = kmem_malloc(kernel_arena, PAGE_SIZE * 2, M_ZERO);
+	va_src = kva_alloc(PAGE_SIZE * 2);
 	va_dst = va_src + PAGE_SIZE;
 
 	KASSERT(va_src != 0,
@@ -2031,7 +2079,7 @@ pmap_copy_page(vm_page_t msrc, vm_page_t
 	pmap_kremove(va_src);
 	pmap_kremove(va_dst);
 
-	kmem_free(kernel_arena, va_src, PAGE_SIZE * 2);
+	kva_free(va_src, PAGE_SIZE * 2);
 }
 
 int unmapped_buf_allowed = 1;
@@ -2072,7 +2120,7 @@ pmap_copy_pages(vm_page_t ma[], vm_offse
 	pmap_kremove(a_pg);
 	pmap_kremove(b_pg);
 
-	kmem_free(kernel_arena, a_pg, PAGE_SIZE * 2);
+	kva_free(a_pg, PAGE_SIZE * 2);
 }
 
 void
@@ -2211,6 +2259,8 @@ pv_map_remove(pmap_t pmap, vm_offset_t v
 void
 pmap_remove_pages(pmap_t pmap)
 {
+	KASSERT(pmap != kernel_pmap, 
+		("Trying to destroy kernel_pmap pv mappings!"));
 	if (pmap != PCPU_GET(curpmap)) {
 		printf("warning: pmap_remove_pages called with non-current pmap\n");
 		return;
@@ -2228,7 +2278,7 @@ pmap_page_set_memattr(vm_page_t m, vm_me
 {
 	KASSERT(0, ("XXX: %s: TODO\n", __func__));
 }
-#include <ddb/ddb.h>
+
 static bool
 pv_dummy(pmap_t pmap, vm_offset_t va, vm_page_t m)
 {
@@ -2238,10 +2288,11 @@ pv_dummy(pmap_t pmap, vm_offset_t va, vm
 boolean_t
 pmap_page_is_mapped(vm_page_t m)
 {
+
 	if ((m->oflags & VPO_UNMANAGED) != 0)
 		return (FALSE);
 
-	return pmap_pv_iterate(m, pv_dummy);
+	return pmap_pv_iterate(m, pv_dummy, PV_RO_ITERATE);
 }
 
 boolean_t
@@ -2251,11 +2302,48 @@ pmap_page_exists_quick(pmap_t pmap, vm_p
 	return 0;
 }
 
+static bool
+pv_page_is_wired(pmap_t pmap, vm_offset_t va, vm_page_t m)
+{
+	pt_entry_t *pte, tpte;
+
+	char tbuf[tsz]; /* Safe to do this on the stack since tsz is
+			 * effectively const.
+			 */
+
+	mmu_map_t tptr = tbuf;
+
+	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
+
+	pte = pmap_vtopte_inspect(pmap, va, &tptr);
+
+	KASSERT(pte != NULL, ("pte has no backing page tables!"));
+
+	tpte = *pte;
+
+	if ((tpte & PG_V) == 0) {
+		panic("bad pte va %lx pte %lx", va, tpte);
+	}
+
+	/*
+	 * We cannot remove wired pages from a process' mapping at this time
+	 */
+	if (tpte & PG_W) {
+		return false; /* Continue iteration */
+	}
+
+	pmap_vtopte_release(pmap, va, &tptr);
+
+	return true; /* stop iteration */
+}
+
 int
 pmap_page_wired_mappings(vm_page_t m)
 {
-	KASSERT(0, ("XXX: %s: TODO\n", __func__));
-	return -1;
+	if ((m->oflags & VPO_UNMANAGED) != 0)
+		return (0);
+
+	return pmap_pv_iterate(m, pv_page_is_wired, PV_RW_ITERATE);
 }
 
 boolean_t
@@ -2477,15 +2565,32 @@ pmap_remove_write(vm_page_t m)
 	if (!vm_page_xbusied(m) && (m->aflags & PGA_WRITEABLE) == 0)
  		return;
 
-	pmap_pv_iterate(m, pv_remove_write);
+	pmap_pv_iterate(m, pv_remove_write, PV_RW_ITERATE);
 	vm_page_aflag_clear(m, PGA_WRITEABLE);
 }
 
+/*
+ *	pmap_ts_referenced:
+ *
+ *	Return a count of reference bits for a page, clearing those bits.
+ *	It is not necessary for every reference bit to be cleared, but it
+ *	is necessary that 0 only be returned when there are truly no
+ *	reference bits set.
+ *
+ */
+
 int
 pmap_ts_referenced(vm_page_t m)
 {
-	KASSERT(0, ("XXX: %s: TODO\n", __func__));
-	return -1;
+	/*
+	 * XXX: we don't clear refs yet. We just return non-zero if at
+	 * least one reference exists.
+	 * This obeys the required semantics - but only just.
+	 */
+	KASSERT((m->oflags & VPO_UNMANAGED) == 0,
+	    ("pmap_ts_referenced: page %p is not managed", m));
+
+	return pmap_pv_iterate(m, pv_dummy, PV_RO_ITERATE);
 }
 
 void

Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.c
==============================================================================
--- projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.c	Wed Dec  4 12:07:46 2013	(r258919)
+++ projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.c	Wed Dec  4 12:28:56 2013	(r258920)
@@ -136,7 +136,6 @@ static struct mtx pv_chunks_mutex;
 static struct rwlock pv_list_locks[NPV_LIST_LOCKS];
 
 vm_map_t	pv_map; /* Kernel submap for pc chunk alloc */
-extern vm_offset_t pv_minva, pv_maxva; /* VA range for submap */
 
 /***************************************************
  * page management routines.
@@ -177,6 +176,10 @@ free_pv_chunk(struct pv_chunk *pc)
 {
 	vm_page_t m;
 	mtx_lock(&pv_chunks_mutex);
+
+	KASSERT(pc->pc_map[0] == PC_FREE0 && pc->pc_map[1] == PC_FREE1 &&
+	    pc->pc_map[2] == PC_FREE2, ("Tried to free chunk in use"));
+
  	TAILQ_REMOVE(&pv_chunks, pc, pc_lru);
 	mtx_unlock(&pv_chunks_mutex);
 	PV_STAT(atomic_subtract_int(&pv_entry_spare, _NPCPV));
@@ -224,7 +227,15 @@ free_pv_entry(pmap_t pmap, pv_entry_t pv
 		return;
 	}
 	TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list);
-	free_pv_chunk(pc);
+
+	/* 
+	 * We don't reclaim the pc backing memory here, in case it's
+	 * still being scanned. This is the responsibility of 
+	 * pmap_free_pv_entry().
+	 * XXX: This is quite fragile. pc management needs to be
+	 * formalised a bit better.
+	 */
+
 }
 
 pv_entry_t
@@ -235,8 +246,6 @@ pmap_get_pv_entry(pmap_t pmap)
 	struct pv_chunk *pc;
 	vm_page_t m;
 
-	KASSERT(pmap != kernel_pmap,
-		("Trying to track kernel va"));
 	rw_assert(&pvh_global_lock, RA_LOCKED);
 	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
 	PV_STAT(atomic_add_long(&pv_entry_allocs, 1));
@@ -265,7 +274,7 @@ pmap_get_pv_entry(pmap_t pmap)
 	}
 
 	/* No free items, allocate another chunk */
-	m = vm_page_alloc(NULL, 0, VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ |
+	m = vm_page_alloc(NULL, 0, VM_ALLOC_SYSTEM | VM_ALLOC_NOOBJ |
 	    VM_ALLOC_WIRED);
 	if (m == NULL) {
 		panic("XXX: TODO: memory pressure reclaim\n");
@@ -317,12 +326,13 @@ pmap_put_pv_entry(pmap_t pmap, vm_offset
 	}
 
 	rw_rlock(&pvh_global_lock);
-	if (pmap != kernel_pmap) {
-		pv = pmap_get_pv_entry(pmap);
-		pv->pv_va = va;
-		TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_next);
-	}
+
+	pv = pmap_get_pv_entry(pmap);
+	pv->pv_va = va;
+	TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_next);
+
 	rw_runlock(&pvh_global_lock);
+
 	return true;
 }
 
@@ -332,9 +342,9 @@ pmap_free_pv_entry(pmap_t pmap, vm_offse
 {
 	bool found = false;
 	pv_entry_t pv;
+	struct pv_chunk *pc;
 
 	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
-	if (pmap == kernel_pmap) return true;
 
 	rw_rlock(&pvh_global_lock);
 
@@ -342,6 +352,11 @@ pmap_free_pv_entry(pmap_t pmap, vm_offse
 		if (pmap == PV_PMAP(pv) && va == pv->pv_va) {
 			TAILQ_REMOVE(&m->md.pv_list, pv, pv_next);
 			free_pv_entry(pmap, pv);
+			pc = pv_to_chunk(pv);
+			if (pc->pc_map[0] == PC_FREE0 && pc->pc_map[1] == PC_FREE1 &&
+			    pc->pc_map[2] == PC_FREE2) {
+				free_pv_chunk(pc);
+			}
 			found = true;
 			break;
 		}
@@ -358,9 +373,8 @@ pmap_find_pv_entry(pmap_t pmap, vm_offse
 	pv_entry_t pv = NULL;
 
 	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
-	if (pmap == kernel_pmap) return NULL;
-	rw_rlock(&pvh_global_lock);
 
+	rw_rlock(&pvh_global_lock);
 	TAILQ_FOREACH(pv, &m->md.pv_list, pv_next) {
 		if (pmap == PV_PMAP(pv) && va == pv->pv_va) {
 			break;
@@ -441,7 +455,6 @@ pmap_pv_vm_page_to_v(pmap_t pmap, vm_pag
 bool
 pmap_pv_vm_page_mapped(pmap_t pmap, vm_page_t m)
 {
-	if (pmap == kernel_pmap) return true;
 	return (pmap_pv_vm_page_to_v(pmap, m) == 
 		(VM_MAX_KERNEL_ADDRESS + 1)) ? false : true;
 
@@ -454,18 +467,37 @@ pmap_pv_vm_page_mapped(pmap_t pmap, vm_p
  */
 
 int
-pmap_pv_iterate(vm_page_t m, pv_cb_t cb)
+pmap_pv_iterate(vm_page_t m, pv_cb_t cb, iterate_flags iflag)
 {
 	int iter = 0;
 	pv_entry_t next_pv, pv;
 
-	rw_wlock(&pvh_global_lock);
+	switch(iflag) {
+	case PV_RO_ITERATE:
+		rw_rlock(&pvh_global_lock);
+		break;
+	case PV_RW_ITERATE:
+		rw_wlock(&pvh_global_lock);
+		break;
+	default:
+		panic("%s: unknown iterate flag, %d, requested\n", __func__, iflag);
+	}
 
 	TAILQ_FOREACH_SAFE(pv, &m->md.pv_list, pv_next, next_pv) {
 		iter++;
 		if (cb(PV_PMAP(pv), pv->pv_va, m)) break;
 	}
-	rw_wunlock(&pvh_global_lock);
+
+	switch(iflag) {
+	case PV_RO_ITERATE:
+		rw_runlock(&pvh_global_lock);
+		break;
+	case PV_RW_ITERATE:
+		rw_wunlock(&pvh_global_lock);
+		break;
+	default:
+		panic("%s: unknown iterate flag, %d, requested\n", __func__, iflag);
+	}
 	return iter;
 }
 
@@ -493,20 +525,39 @@ pmap_pv_iterate_map(pmap_t pmap, pv_cb_t
 		for (field = 0; field < _NPCM; field++) {
 			inuse = ~pc->pc_map[field] & pc_freemask[field];
 			while (inuse != 0) {
+				bool cbresult = false;
 				bit = bsfq(inuse);
 				bitmask = 1UL << bit;
 				idx = field * 64 + bit;
 				pv = &pc->pc_pventry[idx];
 				inuse &= ~bitmask;
 
-				if (cb(PV_PMAP(pv), pv->pv_va, NULL)) break;
-			}
-			if (TAILQ_EMPTY(&pmap->pm_pvchunk)) {
-				/* Chunks were all freed! Bail. */
-				break;
+				cbresult = cb(PV_PMAP(pv), pv->pv_va, NULL);
+
+				/* 
+				 * Check to see the chunk was not
+				 * freed by callback. If it is,
+				 * reclaim chunk memory.
+				 */
+
+				if (pc->pc_map[0] == PC_FREE0 && pc->pc_map[1] == PC_FREE1 &&
+				        pc->pc_map[2] == PC_FREE2) {
+					goto nextpc;
+				}
+
+				if (TAILQ_EMPTY(&pmap->pm_pvchunk)) {
+					/* Chunks were all freed in the callback! Bail. */
+					goto done_iterating;
+				}
+
+				/* Try the next va */
+				if (cbresult == false) break;
 			}
 		}
+	nextpc:
+		continue;
 	}
+done_iterating:
 	return iter;
 }
 

Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.h
==============================================================================
--- projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.h	Wed Dec  4 12:07:46 2013	(r258919)
+++ projects/amd64_xen_pv/sys/amd64/xen/pmap_pv.h	Wed Dec  4 12:28:56 2013	(r258920)
@@ -36,6 +36,12 @@
 #ifndef _MACHINE_PMAP_PV_H_
 #define	_MACHINE_PMAP_PV_H_
 
+/* requested pvh_global_lock state during iteration */
+typedef enum {
+	PV_RO_ITERATE,
+	PV_RW_ITERATE
+}  iterate_flags;
+
 /* 
  * Used as a callback when iterating through multiple pmaps 
  * If the callback returns 'true', iteration is stopped.
@@ -51,7 +57,7 @@ pv_entry_t pmap_get_pv_entry(pmap_t pmap
 bool pmap_put_pv_entry(pmap_t pmap, vm_offset_t va, vm_page_t m);
 bool pmap_free_pv_entry(pmap_t pmap, vm_offset_t va, vm_page_t m);
 pv_entry_t pmap_find_pv_entry(pmap_t pmap, vm_offset_t va, vm_page_t m);
-int pmap_pv_iterate(vm_page_t m, pv_cb_t cb);
+int pmap_pv_iterate(vm_page_t m, pv_cb_t cb, iterate_flags iflag);
 int pmap_pv_iterate_map(pmap_t pmap, pv_cb_t cb);
 void pmap_pv_page_unmap(vm_page_t m);
 

From owner-svn-src-projects@FreeBSD.ORG  Thu Dec  5 05:58:18 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8B26BD06;
 Thu,  5 Dec 2013 05:58:18 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 46A961F4D;
 Thu,  5 Dec 2013 05:58:18 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB55wHtY074194;
 Thu, 5 Dec 2013 05:58:17 GMT (envelope-from jhibbits@svn.freebsd.org)
Received: (from jhibbits@localhost)
 by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB55wHD3074193;
 Thu, 5 Dec 2013 05:58:17 GMT (envelope-from jhibbits@svn.freebsd.org)
Message-Id: <201312050558.rB55wHD3074193@svn.freebsd.org>
From: Justin Hibbits <jhibbits@FreeBSD.org>
Date: Thu, 5 Dec 2013 05:58:17 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258957 - projects/pmac_pmu/sys/powerpc/powermac
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Dec 2013 05:58:18 -0000

Author: jhibbits
Date: Thu Dec  5 05:58:17 2013
New Revision: 258957
URL: http://svnweb.freebsd.org/changeset/base/258957

Log:
  Fix the cache flushing code, by flushing the L1 twice.
  
  Linux and OS X do this very thing, possibly to work around bugs in the
  silicon.  Without this it doesn't flush completely, and results in
  memory corruption down the road.

Modified:
  projects/pmac_pmu/sys/powerpc/powermac/platform_powermac.c

Modified: projects/pmac_pmu/sys/powerpc/powermac/platform_powermac.c
==============================================================================
--- projects/pmac_pmu/sys/powerpc/powermac/platform_powermac.c	Thu Dec  5 03:01:41 2013	(r258956)
+++ projects/pmac_pmu/sys/powerpc/powermac/platform_powermac.c	Thu Dec  5 05:58:17 2013	(r258957)
@@ -332,7 +332,7 @@ flush_disable_caches(void)
 	register_t msr;
 	register_t msscr0;
 	register_t cache_reg;
-	volatile uint32_t *romp;
+	volatile uint32_t *memp;
 	uint32_t temp;
 	int i;
 	int x;
@@ -359,17 +359,30 @@ flush_disable_caches(void)
 
 	mtspr(SPR_LDSTCR, 0);
 
-	romp = (uint32_t *)0xfff00000;
+	/*
+	 * Perform this in two stages: Flush the cache starting in RAM, then do it
+	 * from ROM.
+	 */
+	memp = (volatile uint32_t *)0x00000000;
+	for (i = 0; i < 128 * 1024; i++) {
+		temp = *memp;
+		__asm__ __volatile__("dcbf 0,%0" :: "r"(memp));
+		memp += 32/sizeof(*memp);
+	}
+
+	memp = (volatile uint32_t *)0xfff00000;
 	x = 0xfe;
 
 	for (; x != 0xff;) {
 		mtspr(SPR_LDSTCR, x);
 		for (i = 0; i < 128; i++) {
-			temp = *romp;
-			romp += 32/sizeof(*romp);
+			temp = *memp;
+			__asm__ __volatile__("dcbf 0,%0" :: "r"(memp));
+			memp += 32/sizeof(*memp);
 		}
 		x = ((x << 1) | 1) & 0xff;
 	}
+	mtspr(SPR_LDSTCR, 0);
 
 	cache_reg = mfspr(SPR_L2CR);
 	if (cache_reg & L2CR_L2E) {

From owner-svn-src-projects@FreeBSD.ORG  Thu Dec  5 05:59:09 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id D12F8DE6;
 Thu,  5 Dec 2013 05:59:09 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id AF3E91F4F;
 Thu,  5 Dec 2013 05:59:09 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB55x9Sa074318;
 Thu, 5 Dec 2013 05:59:09 GMT (envelope-from jhibbits@svn.freebsd.org)
Received: (from jhibbits@localhost)
 by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB55x9FU074317;
 Thu, 5 Dec 2013 05:59:09 GMT (envelope-from jhibbits@svn.freebsd.org)
Message-Id: <201312050559.rB55x9FU074317@svn.freebsd.org>
From: Justin Hibbits <jhibbits@FreeBSD.org>
Date: Thu, 5 Dec 2013 05:59:09 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258958 - projects/pmac_pmu/sys/powerpc/powermac
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Dec 2013 05:59:09 -0000

Author: jhibbits
Date: Thu Dec  5 05:59:09 2013
New Revision: 258958
URL: http://svnweb.freebsd.org/changeset/base/258958

Log:
  Clean up the low level PMU sleep code.  This could actually be moved
  elsewhere, since it's not precisely related to the PMU.

Modified:
  projects/pmac_pmu/sys/powerpc/powermac/pmu.c

Modified: projects/pmac_pmu/sys/powerpc/powermac/pmu.c
==============================================================================
--- projects/pmac_pmu/sys/powerpc/powermac/pmu.c	Thu Dec  5 05:58:17 2013	(r258957)
+++ projects/pmac_pmu/sys/powerpc/powermac/pmu.c	Thu Dec  5 05:59:09 2013	(r258958)
@@ -1129,10 +1129,10 @@ extern void *ap_pcpu;
 
 void pmu_sleep_int(void)
 {
+	static u_quad_t timebase = 0;
 	jmp_buf resetjb;
-	u_quad_t timebase;
-	struct thread *fputd = NULL;
-	struct thread *vectd = NULL;
+	struct thread *fputd;
+	struct thread *vectd;
 	register_t hid0;
 	register_t msr;
 	register_t saved_msr;
@@ -1143,14 +1143,12 @@ void pmu_sleep_int(void)
 
 	*(unsigned long *)0x80 = 0x100;
 	saved_msr = mfmsr();
-	timebase = mftb();
-	flush_disable_caches();
 	fputd = PCPU_GET(fputhread);
 	vectd = PCPU_GET(vecthread);
 	if (fputd != NULL)
-		save_fpu(PCPU_GET(fputhread));
+		save_fpu(fputd);
 	if (vectd != NULL)
-		save_vec(PCPU_GET(vecthread));
+		save_vec(vectd);
 	if (setjmp(resetjb) == 0) {
 		sprgs[0] = mfspr(SPR_SPRG0);
 		sprgs[1] = mfspr(SPR_SPRG1);
@@ -1158,14 +1156,17 @@ void pmu_sleep_int(void)
 		sprgs[3] = mfspr(SPR_SPRG3);
 		srrs[0] = mfspr(SPR_SRR0);
 		srrs[1] = mfspr(SPR_SRR1);
+		timebase = mftb();
+		powerpc_sync();
+		flush_disable_caches();
 		hid0 = mfspr(SPR_HID0);
 		hid0 = (hid0 & ~(HID0_DOZE | HID0_NAP)) | HID0_SLEEP;
 		powerpc_sync();
 		isync();
+		msr = mfmsr() | PSL_POW;
 		mtspr(SPR_HID0, hid0);
 		powerpc_sync();
 
-		msr = mfmsr() | PSL_POW;
 		while (1)
 			mtmsr(msr);
 	}

From owner-svn-src-projects@FreeBSD.ORG  Thu Dec  5 09:50:11 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 22D79D02;
 Thu,  5 Dec 2013 09:50:11 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 0AC321E0C;
 Thu,  5 Dec 2013 09:50:11 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB59oAVU053299;
 Thu, 5 Dec 2013 09:50:10 GMT (envelope-from markm@svn.freebsd.org)
Received: (from markm@localhost)
 by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB59o5do053265;
 Thu, 5 Dec 2013 09:50:05 GMT (envelope-from markm@svn.freebsd.org)
Message-Id: <201312050950.rB59o5do053265@svn.freebsd.org>
From: Mark Murray <markm@FreeBSD.org>
Date: Thu, 5 Dec 2013 09:50:05 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258969 - in projects/random_number_generator: .
 cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n
 cddl/contrib/opensolaris/lib/libdtrace/common contrib/gcc contrib/gcc/conf...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Dec 2013 09:50:11 -0000

Author: markm
Date: Thu Dec  5 09:50:04 2013
New Revision: 258969
URL: http://svnweb.freebsd.org/changeset/base/258969

Log:
  MFC - tracking commit.

Added:
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h
     - copied unchanged from r258968, head/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h
     - copied unchanged from r258968, head/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h
     - copied unchanged from r258968, head/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h
     - copied unchanged from r258968, head/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp
     - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp
     - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h
     - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp
     - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h
     - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp
     - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h
     - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp
     - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h
     - copied unchanged from r258968, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h
Modified:
  projects/random_number_generator/ObsoleteFiles.inc
  projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh
  projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh
  projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh
  projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c
  projects/random_number_generator/contrib/gcc/ChangeLog.gcc43
  projects/random_number_generator/contrib/gcc/config/rs6000/rs6000.c
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBError.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Address.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Module.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatNavigator.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategory.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Expression/ClangFunction.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Expression/ClangUserExpression.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Host/File.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Host/FileSpec.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Host/Host.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Host/OptionParser.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Interpreter/PythonDataObjects.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Symbol/TypeList.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/ABI.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/LanguageRuntime.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/Platform.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/Process.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/RegisterContext.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/Target.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/Thread.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/ThreadList.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunction.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallUserExpression.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Utility/PythonPointer.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/lldb-enumerations.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/lldb-forward.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/lldb-private-enumerations.h
  projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/lldb-python.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBDebugger.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBExpressionOptions.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBFileSpec.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBModule.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBProcess.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBStream.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBTarget.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/API/SBThread.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Breakpoint/Breakpoint.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointList.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocation.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectMemory.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlatform.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectTarget.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpoint.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/Address.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/ConnectionFileDescriptor.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/Debugger.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/Mangled.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/Module.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/StreamFile.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Core/ValueObjectSyntheticFilter.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/FormatClasses.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/FormatManager.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/LibCxx.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/LibStdcpp.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/NSDictionary.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/NSSet.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategory.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategoryMap.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Expression/ClangFunction.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Expression/ClangUserExpression.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Host/common/File.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Host/common/FileSpec.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Host/common/Host.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Host/common/OptionParser.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Interpreter/Args.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Interpreter/CommandInterpreter.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Interpreter/PythonDataObjects.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreterPython.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_x86_64.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/Platform.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/Process.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/RegisterContext.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/StackFrameList.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/SystemRuntime.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/Target.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/Thread.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallUserExpression.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInRange.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Utility/StringExtractor.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.h
  projects/random_number_generator/contrib/llvm/tools/lldb/source/lldb.cpp
  projects/random_number_generator/contrib/llvm/tools/lldb/tools/lldb-platform/lldb-platform.cpp
  projects/random_number_generator/etc/rc
  projects/random_number_generator/lib/clang/liblldbAPI/Makefile
  projects/random_number_generator/lib/clang/liblldbPluginProcessFreeBSD/Makefile
  projects/random_number_generator/lib/clang/liblldbPluginProcessUtility/Makefile
  projects/random_number_generator/lib/libc/sys/wait.2
  projects/random_number_generator/release/Makefile
  projects/random_number_generator/release/doc/en_US.ISO8859-1/relnotes/article.xml
  projects/random_number_generator/sbin/mdconfig/mdconfig.8
  projects/random_number_generator/sbin/mdconfig/mdconfig.c
  projects/random_number_generator/sbin/route/route.c
  projects/random_number_generator/share/man/man5/src.conf.5
  projects/random_number_generator/share/man/man7/development.7
  projects/random_number_generator/sys/conf/files.i386
  projects/random_number_generator/sys/dev/drm2/drm_pci.c
  projects/random_number_generator/sys/dev/md/md.c
  projects/random_number_generator/sys/dev/oce/oce_if.c
  projects/random_number_generator/sys/dev/oce/oce_if.h
  projects/random_number_generator/sys/dev/oce/oce_mbox.c
  projects/random_number_generator/sys/dev/oce/oce_sysctl.c
  projects/random_number_generator/sys/dev/usb/usb_busdma.c
  projects/random_number_generator/sys/dev/usb/wlan/if_rsu.c
  projects/random_number_generator/sys/dev/usb/wlan/if_rum.c
  projects/random_number_generator/sys/dev/usb/wlan/if_run.c
  projects/random_number_generator/sys/dev/usb/wlan/if_ural.c
  projects/random_number_generator/sys/dev/usb/wlan/if_urtw.c
  projects/random_number_generator/sys/fs/ext2fs/ext2_dinode.h
  projects/random_number_generator/sys/i386/conf/GENERIC
  projects/random_number_generator/sys/i386/conf/NOTES
  projects/random_number_generator/sys/kern/kern_mib.c
  projects/random_number_generator/sys/kern/kern_shutdown.c
  projects/random_number_generator/sys/kern/makesyscalls.sh
  projects/random_number_generator/sys/modules/Makefile
  projects/random_number_generator/sys/sys/mdioctl.h
  projects/random_number_generator/tools/build/options/WITHOUT_PKGBOOTSTRAP
  projects/random_number_generator/tools/test/dtrace/Makefile
  projects/random_number_generator/usr.bin/script/script.1
  projects/random_number_generator/usr.bin/script/script.c
  projects/random_number_generator/usr.bin/yacc/Makefile
  projects/random_number_generator/usr.sbin/bsdinstall/scripts/zfsboot
  projects/random_number_generator/usr.sbin/mfiutil/mfi_show.c
Directory Properties:
  projects/random_number_generator/   (props changed)
  projects/random_number_generator/cddl/   (props changed)
  projects/random_number_generator/cddl/contrib/opensolaris/   (props changed)
  projects/random_number_generator/contrib/gcc/   (props changed)
  projects/random_number_generator/contrib/llvm/   (props changed)
  projects/random_number_generator/contrib/llvm/tools/lldb/   (props changed)
  projects/random_number_generator/lib/libc/   (props changed)
  projects/random_number_generator/sbin/   (props changed)
  projects/random_number_generator/sys/   (props changed)
  projects/random_number_generator/sys/conf/   (props changed)

Modified: projects/random_number_generator/ObsoleteFiles.inc
==============================================================================
--- projects/random_number_generator/ObsoleteFiles.inc	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/ObsoleteFiles.inc	Thu Dec  5 09:50:04 2013	(r258969)
@@ -39,11 +39,7 @@
 # done
 
 # 20131202: libcapsicum and libcasper moved to /lib/
-OLD_FILES+=usr/lib/libcapsicum.a
-OLD_FILES+=usr/lib/libcapsicum.so
 OLD_LIBS+=usr/lib/libcapsicum.so.0
-OLD_FILES+=usr/lib/libcasper.a
-OLD_FILES+=usr/lib/libcasper.so
 OLD_LIBS+=usr/lib/libcasper.so.0
 # 20131109: extattr(2) mlinks fixed
 OLD_FILES+=usr/share/man/man2/extattr_delete_list.2.gz

Modified: projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh
==============================================================================
--- projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh	Thu Dec  5 09:50:04 2013	(r258969)
@@ -64,7 +64,7 @@ child=$!
 # ksh doing work.  (This actually goes one step further and assumes that we
 # catch some non-static function in ksh.)
 #
-script | tee /dev/fd/2 | grep 'ksh`[a-zA-Z_]' > /dev/null
+script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null
 status=$? 
 
 kill $child

Modified: projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh
==============================================================================
--- projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh	Thu Dec  5 09:50:04 2013	(r258969)
@@ -62,7 +62,7 @@ child=$!
 #
 # The only thing we can be sure of here is that ksh is doing some work.
 #
-script | tee /dev/fd/2 | grep -w ksh > /dev/null
+script | tee /dev/fd/2 | egrep -w 'ksh(93)?' > /dev/null
 status=$? 
 
 kill $child

Modified: projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh
==============================================================================
--- projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh	Thu Dec  5 09:50:04 2013	(r258969)
@@ -63,7 +63,7 @@ child=$!
 # This test is essentially the same as that in the ufunc test; see that
 # test for the rationale.
 #
-script | tee /dev/fd/2 | grep 'ksh`[a-zA-Z_]' > /dev/null
+script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null
 status=$? 
 
 kill $child

Modified: projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c
==============================================================================
--- projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c	Thu Dec  5 09:50:04 2013	(r258969)
@@ -487,22 +487,16 @@ static const dt_ident_t _dtrace_globals[
 	DT_VERS_1_0, &dt_idops_func, "void(...)" },
 { "typeref", DT_IDENT_FUNC, 0, DIF_SUBR_TYPEREF, DT_ATTR_STABCMN, DT_VERS_1_1,
 	&dt_idops_func, "uintptr_t *(void *, size_t, string, size_t)" },
-#if defined(sun)
 { "uaddr", DT_IDENT_ACTFUNC, 0, DT_ACT_UADDR, DT_ATTR_STABCMN,
 	DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" },
-#endif
 { "ucaller", DT_IDENT_SCALAR, 0, DIF_VAR_UCALLER, DT_ATTR_STABCMN,
 	DT_VERS_1_2, &dt_idops_type, "uint64_t" },
-#if defined(sun)
 { "ufunc", DT_IDENT_ACTFUNC, 0, DT_ACT_USYM, DT_ATTR_STABCMN,
 	DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" },
-#endif
 { "uid", DT_IDENT_SCALAR, 0, DIF_VAR_UID, DT_ATTR_STABCMN, DT_VERS_1_0,
 	&dt_idops_type, "uid_t" },
-#if defined(sun)
 { "umod", DT_IDENT_ACTFUNC, 0, DT_ACT_UMOD, DT_ATTR_STABCMN,
 	DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" },
-#endif
 { "uregs", DT_IDENT_ARRAY, 0, DIF_VAR_UREGS, DT_ATTR_STABCMN, DT_VERS_1_0,
 	&dt_idops_regs, NULL },
 { "ustack", DT_IDENT_ACTFUNC, 0, DT_ACT_USTACK, DT_ATTR_STABCMN, DT_VERS_1_0,
@@ -510,10 +504,8 @@ static const dt_ident_t _dtrace_globals[
 { "ustackdepth", DT_IDENT_SCALAR, 0, DIF_VAR_USTACKDEPTH,
 	DT_ATTR_STABCMN, DT_VERS_1_2,
 	&dt_idops_type, "uint32_t" },
-#if defined(sun)
 { "usym", DT_IDENT_ACTFUNC, 0, DT_ACT_USYM, DT_ATTR_STABCMN,
 	DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" },
-#endif
 { "vtimestamp", DT_IDENT_SCALAR, 0, DIF_VAR_VTIMESTAMP,
 	DT_ATTR_STABCMN, DT_VERS_1_0,
 	&dt_idops_type, "uint64_t" },

Modified: projects/random_number_generator/contrib/gcc/ChangeLog.gcc43
==============================================================================
--- projects/random_number_generator/contrib/gcc/ChangeLog.gcc43	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/gcc/ChangeLog.gcc43	Thu Dec  5 09:50:04 2013	(r258969)
@@ -51,12 +51,20 @@
 	* doc/extend.texi: Document the 0b-prefixed binary integer
 	constant extension.
 	
-2007-05-31  Eric Christopher  <echristo@apple.com>
+2007-05-31  Eric Christopher  <echristo@apple.com> (r125246)
 
 	* expr.c (convert_move): Assert that we don't have a BLKmode
 	operand.
 	(store_expr): Handle BLKmode moves by calling emit_block_move.
 
+2007-05-27  Eric Christopher  <echristo@apple.com> (r125116)
+
+	* config/rs6000/rs6000.c (rs6000_emit_prologue): Update
+	sp_offset depending on stack size. Save r12 depending
+	on registers we're saving later.
+	(rs6000_emit_epilogue): Update sp_offset depending only
+	on stack size.
+
 2007-05-24  Richard Sandiford  <rsandifo@nildram.co.uk> (r125037)
 
 	* postreload-gcse.c (reg_changed_after_insn_p): New function.

Modified: projects/random_number_generator/contrib/gcc/config/rs6000/rs6000.c
==============================================================================
--- projects/random_number_generator/contrib/gcc/config/rs6000/rs6000.c	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/gcc/config/rs6000/rs6000.c	Thu Dec  5 09:50:04 2013	(r258969)
@@ -14704,8 +14704,17 @@ rs6000_emit_prologue (void)
   if (!WORLD_SAVE_P (info) && info->push_p
       && !(DEFAULT_ABI == ABI_V4 || current_function_calls_eh_return))
     {
-      rs6000_emit_allocate_stack (info->total_size, FALSE);
+      if (info->total_size < 32767)
       sp_offset = info->total_size;
+      else
+	frame_reg_rtx = frame_ptr_rtx;
+      rs6000_emit_allocate_stack (info->total_size,
+				  (frame_reg_rtx != sp_reg_rtx
+				   && ((info->altivec_size != 0)
+				       || (info->vrsave_mask != 0)
+				       )));
+      if (frame_reg_rtx != sp_reg_rtx)
+	rs6000_emit_stack_tie ();
     }
 
   /* Set frame pointer, if needed.  */
@@ -15046,8 +15055,7 @@ rs6000_emit_epilogue (int sibcall)
     }
 
   /* Set sp_offset based on the stack push from the prologue.  */
-  if ((DEFAULT_ABI == ABI_V4 || current_function_calls_eh_return)
-      && info->total_size < 32767)
+  if (info->total_size < 32767)
     sp_offset = info->total_size;
 
   /* Restore AltiVec registers if needed.  */

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -10,9 +10,11 @@
 #ifndef LLDB_SBDebugger_h_
 #define LLDB_SBDebugger_h_
 
-#include "lldb/API/SBDefines.h"
 #include <stdio.h>
 
+#include "lldb/API/SBDefines.h"
+#include "lldb/API/SBPlatform.h"
+
 namespace lldb {
 
 class SBDebugger
@@ -153,6 +155,12 @@ public:
     void
     SetSelectedTarget (SBTarget& target);
 
+    lldb::SBPlatform
+    GetSelectedPlatform();
+
+    void
+    SetSelectedPlatform(lldb::SBPlatform &platform);
+
     lldb::SBSourceManager
     GetSourceManager ();
 

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBError.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBError.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBError.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -72,6 +72,7 @@ protected:
     friend class SBCommunication;
     friend class SBHostOS;
     friend class SBInputReader;
+    friend class SBPlatform;
     friend class SBProcess;
     friend class SBThread;
     friend class SBTarget;

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -65,6 +65,12 @@ public:
     void
     SetTryAllThreads (bool run_others = true);
 
+    bool
+    GetTrapExceptions () const;
+    
+    void
+    SetTrapExceptions (bool trap_exceptions = true);
+
 protected:
 
     SBExpressionOptions (lldb_private::EvaluateExpressionOptions &expression_options);

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -45,6 +45,12 @@ public:
     const char *
     GetDirectory() const;
 
+    void
+    SetFilename(const char *filename);
+    
+    void
+    SetDirectory(const char *directory);
+
     uint32_t
     GetPath (char *dst_path, size_t dst_len) const;
 
@@ -65,6 +71,7 @@ private:
     friend class SBLineEntry;
     friend class SBModule;
     friend class SBModuleSpec;
+    friend class SBPlatform;
     friend class SBProcess;
     friend class SBSourceManager;
     friend class SBThread;

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -76,6 +76,42 @@ public:
     bool
     SetPlatformFileSpec (const lldb::SBFileSpec &platform_file);
 
+    //------------------------------------------------------------------
+    /// Get accessor for the remote install path for a module.
+    ///
+    /// When debugging to a remote platform by connecting to a remote
+    /// platform, the install path of the module can be set. If the
+    /// install path is set, every time the process is about to launch
+    /// the target will install this module on the remote platform prior
+    /// to launching.
+    ///
+    /// @return
+    ///     A file specification object.
+    //------------------------------------------------------------------
+    lldb::SBFileSpec
+    GetRemoteInstallFileSpec ();
+    
+    //------------------------------------------------------------------
+    /// Set accessor for the remote install path for a module.
+    ///
+    /// When debugging to a remote platform by connecting to a remote
+    /// platform, the install path of the module can be set. If the
+    /// install path is set, every time the process is about to launch
+    /// the target will install this module on the remote platform prior
+    /// to launching.
+    ///
+    /// If \a file specifies a full path to an install location, the
+    /// module will be installed to this path. If the path is relative
+    /// (no directory specified, or the path is partial like "usr/lib"
+    /// or "./usr/lib", then the install path will be resolved using
+    /// the platform's current working directory as the base path.
+    ///
+    /// @param[in]
+    ///     A file specification object.
+    //------------------------------------------------------------------
+    bool
+    SetRemoteInstallFileSpec (lldb::SBFileSpec &file);
+    
     lldb::ByteOrder
     GetByteOrder ();
     

Copied: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h (from r258968, head/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h	Thu Dec  5 09:50:04 2013	(r258969, copy of r258968, head/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h)
@@ -0,0 +1,198 @@
+//===-- SBPlatform.h --------------------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLDB_SBPlatform_h_
+#define LLDB_SBPlatform_h_
+
+#include "lldb/API/SBDefines.h"
+
+struct PlatformConnectOptions;
+struct PlatformShellCommand;
+
+namespace lldb {
+
+    class SBPlatformConnectOptions
+    {
+    public:
+        SBPlatformConnectOptions (const char *url);
+
+        SBPlatformConnectOptions (const SBPlatformConnectOptions &rhs);
+
+        ~SBPlatformConnectOptions ();
+        
+        void
+        operator=(const SBPlatformConnectOptions &rhs);
+
+        const char *
+        GetURL();
+        
+        void
+        SetURL(const char *url);
+        
+        bool
+        GetRsyncEnabled();
+        
+        void
+        EnableRsync (const char *options,
+                     const char *remote_path_prefix,
+                     bool omit_remote_hostname);
+                     
+        void
+        DisableRsync ();
+        
+        const char *
+        GetLocalCacheDirectory();
+
+        void
+        SetLocalCacheDirectory(const char *path);
+    protected:
+        PlatformConnectOptions *m_opaque_ptr;
+    };
+
+    class SBPlatformShellCommand
+    {
+    public:
+        SBPlatformShellCommand (const char *shell_command);
+        
+        SBPlatformShellCommand (const SBPlatformShellCommand &rhs);
+        
+        ~SBPlatformShellCommand();
+        
+        void
+        Clear();
+
+        const char *
+        GetCommand();
+
+        void
+        SetCommand(const char *shell_command);
+        
+        const char *
+        GetWorkingDirectory ();
+
+        void
+        SetWorkingDirectory (const char *path);
+
+        uint32_t
+        GetTimeoutSeconds ();
+        
+        void
+        SetTimeoutSeconds (uint32_t sec);
+        
+        int
+        GetSignal ();
+        
+        int
+        GetStatus ();
+        
+        const char *
+        GetOutput ();
+
+    protected:
+        friend class SBPlatform;
+
+        PlatformShellCommand *m_opaque_ptr;
+    };
+
+    class SBPlatform
+    {
+    public:
+        
+        SBPlatform ();
+        
+        SBPlatform (const char *platform_name);
+        
+        ~SBPlatform();
+        
+        bool
+        IsValid () const;
+        
+        void
+        Clear ();
+
+        const char *
+        GetWorkingDirectory();
+
+        bool
+        SetWorkingDirectory(const char *path);
+
+        const char *
+        GetName ();
+
+        SBError
+        ConnectRemote (SBPlatformConnectOptions &connect_options);
+
+        void
+        DisconnectRemote ();
+        
+        bool
+        IsConnected();
+
+        //----------------------------------------------------------------------
+        // The following functions will work if the platform is connected
+        //----------------------------------------------------------------------
+        const char *
+        GetTriple();
+
+        const char *
+        GetHostname ();
+        
+        const char *
+        GetOSBuild ();
+        
+        const char *
+        GetOSDescription ();
+
+        uint32_t
+        GetOSMajorVersion ();
+
+        uint32_t
+        GetOSMinorVersion ();
+
+        uint32_t
+        GetOSUpdateVersion ();
+
+        SBError
+        Put (SBFileSpec &src, SBFileSpec &dst);
+        
+        SBError
+        Get (SBFileSpec &src, SBFileSpec &dst);
+
+        SBError
+        Install (SBFileSpec& src, SBFileSpec& dst);
+
+        SBError
+        Run (SBPlatformShellCommand &shell_command);
+
+        SBError
+        MakeDirectory (const char *path, uint32_t file_permissions = eFilePermissionsDirectoryDefault);
+
+        uint32_t
+        GetFilePermissions (const char *path);
+        
+        SBError
+        SetFilePermissions (const char *path, uint32_t file_permissions);
+
+    protected:
+        
+        friend class SBDebugger;
+        friend class SBTarget;
+
+        lldb::PlatformSP
+        GetSP () const;
+        
+        void
+        SetSP (const lldb::PlatformSP& platform_sp);
+
+        lldb::PlatformSP m_opaque_sp;
+    };
+
+} // namespace lldb
+
+#endif // LLDB_SBPlatform_h_

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -268,6 +268,23 @@ public:
     GetProcess ();
 
     //------------------------------------------------------------------
+    /// Install any binaries that need to be installed.
+    ///
+    /// This function does nothing when debugging on the host system.
+    /// When connected to remote platforms, the target's main executable
+    /// and any modules that have their remote install path set will be
+    /// installed on the remote platform. If the main executable doesn't
+    /// have an install location set, it will be installed in the remote
+    /// platform's working directory.
+    ///
+    /// @return
+    ///     An error describing anything that went wrong during
+    ///     installation.
+    //------------------------------------------------------------------
+    SBError
+    Install();
+    
+    //------------------------------------------------------------------
     /// Launch a new process.
     ///
     /// Launch a new process by spawning a new process using the

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -202,7 +202,10 @@ public:
     GetStatus (lldb::SBStream &status) const;
 
     SBThread
-    GetExtendedBacktrace (const char *type);
+    GetExtendedBacktraceThread (const char *type);
+
+    uint32_t
+    GetExtendedBacktraceOriginatingIndexID ();
 
 protected:
     friend class SBBreakpoint;

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -311,6 +311,24 @@ public:
     //------------------------------------------------------------------
     lldb::BreakpointLocationSP
     GetLocationAtIndex (size_t index);
+    
+    //------------------------------------------------------------------
+    /// Removes all invalid breakpoint locations.
+    ///
+    /// Removes all breakpoint locations with architectures that aren't
+    /// compatible with \a arch. Also remove any breakpoint locations
+    /// with whose locations have address where the section has been
+    /// deleted (module and object files no longer exist).
+    ///
+    /// This is typically used after the process calls exec, or anytime
+    /// the architecture of the target changes.
+    ///
+    /// @param[in] arch
+    ///     If valid, check the module in each breakpoint to make sure
+    ///     they are compatible, otherwise, ignore architecture.
+    //------------------------------------------------------------------
+    void
+    RemoveInvalidLocations (const ArchSpec &arch);
 
     //------------------------------------------------------------------
     // The next section deals with various breakpoint options.

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -132,6 +132,25 @@ public:
     bool
     Remove (lldb::break_id_t breakID, bool notify);
 
+    
+    //------------------------------------------------------------------
+    /// Removes all invalid breakpoint locations.
+    ///
+    /// Removes all breakpoint locations in the list with architectures
+    /// that aren't compatible with \a arch. Also remove any breakpoint
+    /// locations with whose locations have address where the section
+    /// has been deleted (module and object files no longer exist).
+    ///
+    /// This is typically used after the process calls exec, or anytime
+    /// the architecture of the target changes.
+    ///
+    /// @param[in] arch
+    ///     If valid, check the module in each breakpoint to make sure
+    ///     they are compatible, otherwise, ignore architecture.
+    //------------------------------------------------------------------
+    void
+    RemoveInvalidLocations (const ArchSpec &arch);
+
     void
     SetEnabledAll (bool enabled);
 

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -250,6 +250,9 @@ protected:
 
     bool
     RemoveLocation (const lldb::BreakpointLocationSP &bp_loc_sp);
+    
+    void
+    RemoveInvalidLocations (const ArchSpec &arch);
 
     typedef std::vector<lldb::BreakpointLocationSP> collection;
     typedef std::map<lldb_private::Address,
@@ -257,7 +260,7 @@ protected:
                      Address::ModulePointerAndOffsetLessThanFunctionObject> addr_map;
 
     Breakpoint &m_owner;
-    collection m_locations;
+    collection m_locations;         // Vector of locations, sorted by ID 
     addr_map m_address_to_location;
     mutable Mutex m_mutex;
     lldb::break_id_t m_next_id;

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Address.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Address.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Address.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -534,6 +534,16 @@ public:
     bool
     CalculateSymbolContextLineEntry (LineEntry &line_entry) const;
 
+    //------------------------------------------------------------------
+    // Returns true if the section should be valid, but isn't because
+    // the shared pointer to the section can't be reconstructed from
+    // a weak pointer that contains a valid weak reference to a section.
+    // Returns false if the section weak pointer has no reference to
+    // a section, or if the section is still valid
+    //------------------------------------------------------------------
+    bool
+    SectionWasDeleted() const;
+
 protected:
     //------------------------------------------------------------------
     // Member variables.
@@ -550,7 +560,7 @@ protected:
     // have a valid section.
     //------------------------------------------------------------------
     bool
-    SectionWasDeleted() const;
+    SectionWasDeletedPrivate() const;
 
 };
 

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -17,9 +17,6 @@
 #include <stack>
 
 #include "lldb/lldb-public.h"
-
-#include "lldb/API/SBDefines.h"
-
 #include "lldb/Core/Broadcaster.h"
 #include "lldb/Core/Communication.h"
 #include "lldb/Core/InputReaderStack.h"
@@ -55,6 +52,10 @@ friend class SourceManager;  // For GetS
 
 public:
 
+    typedef lldb::DynamicLibrarySP (*LoadPluginCallbackType) (const lldb::DebuggerSP &debugger_sp,
+                                                              const FileSpec& spec,
+                                                              Error& error);
+
     static lldb::DebuggerSP
     CreateInstance (lldb::LogOutputCallback log_callback = NULL, void *baton = NULL);
 
@@ -65,7 +66,7 @@ public:
     FindTargetWithProcess (Process *process);
 
     static void
-    Initialize ();
+    Initialize (LoadPluginCallbackType load_plugin_callback);
     
     static void 
     Terminate ();
@@ -333,9 +334,7 @@ public:
     {
         return m_instance_name;
     }
-    
-    typedef bool (*LLDBCommandPluginInit) (lldb::SBDebugger& debugger);
-    
+        
     bool
     LoadPlugin (const FileSpec& spec, Error& error);
 
@@ -377,6 +376,7 @@ protected:
     LogStreamMap m_log_streams;
     lldb::StreamSP m_log_callback_stream_sp;
     ConstString m_instance_name;
+    static LoadPluginCallbackType g_load_plugin_callback;
     typedef std::vector<lldb::DynamicLibrarySP> LoadedPluginsList;
     LoadedPluginsList m_loaded_plugins;
     

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Module.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Module.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/Core/Module.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -570,6 +570,18 @@ public:
     }
 
     const FileSpec &
+    GetRemoteInstallFileSpec () const
+    {
+        return m_remote_install_file;
+    }
+    
+    void
+    SetRemoteInstallFileSpec (const FileSpec &file)
+    {
+        m_remote_install_file = file;
+    }
+    
+    const FileSpec &
     GetSymbolFileFileSpec () const
     {
         return m_symfile_spec;
@@ -1059,6 +1071,7 @@ protected:
     lldb_private::UUID          m_uuid;         ///< Each module is assumed to have a unique identifier to help match it up to debug symbols.
     FileSpec                    m_file;         ///< The file representation on disk for this module (if there is one).
     FileSpec                    m_platform_file;///< The path to the module on the platform on which it is being debugged
+    FileSpec                    m_remote_install_file;  ///< If set when debugging on remote platforms, this module will be installed at this location
     FileSpec                    m_symfile_spec; ///< If this path is valid, then this is the file that _will_ be used as the symbol file for this module
     ConstString                 m_object_name;  ///< The name an object within this module that is selected, or empty of the module is represented by \a m_file.
     uint64_t                    m_object_offset;

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -17,6 +17,8 @@
 
 #include "lldb/Core/ConstString.h"
 #include "lldb/DataFormatters/FormatClasses.h"
+#include "lldb/DataFormatters/TypeSynthetic.h"
+#include "lldb/Target/ExecutionContext.h"
 #include "lldb/Target/Target.h"
 
 #include "clang/AST/ASTContext.h"

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -18,6 +18,7 @@
 // Project includes
 #include "lldb/lldb-public.h"
 #include "lldb/Core/ConstString.h"
+#include "lldb/Host/Mutex.h"
 #include "lldb/DataFormatters/FormatClasses.h"
 
 namespace lldb_private {

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -10,9 +10,6 @@
 #ifndef lldb_FormatClasses_h_
 #define lldb_FormatClasses_h_
 
-// C Includes
-#include <stdint.h>
-
 // C++ Includes
 #include <string>
 #include <vector>
@@ -23,17 +20,86 @@
 #include "lldb/lldb-public.h"
 #include "lldb/lldb-enumerations.h"
 
-#include "lldb/Core/ValueObject.h"
-#include "lldb/Interpreter/ScriptInterpreterPython.h"
 #include "lldb/Symbol/ClangASTType.h"
 #include "lldb/Symbol/Type.h"
 
-#include "lldb/DataFormatters/TypeFormat.h"
-#include "lldb/DataFormatters/TypeSummary.h"
-#include "lldb/DataFormatters/TypeSynthetic.h"
-
 namespace lldb_private {
 
+class FormattersMatchCandidate
+{
+public:
+    
+    FormattersMatchCandidate (ConstString name,
+                              uint32_t reason,
+                              bool strip_ptr,
+                              bool strip_ref,
+                              bool strip_tydef) :
+    m_type_name(name),
+    m_reason(reason),
+    m_stripped_pointer(strip_ptr),
+    m_stripped_reference(strip_ref),
+    m_stripped_typedef(strip_tydef)
+    {
+    }
+    
+    ~FormattersMatchCandidate ()
+    {}
+    
+    ConstString
+    GetTypeName () const
+    {
+        return m_type_name;
+    }
+    
+    uint32_t
+    GetReason () const
+    {
+        return m_reason;
+    }
+    
+    bool
+    DidStripPointer () const
+    {
+        return m_stripped_pointer;
+    }
+    
+    bool
+    DidStripReference () const
+    {
+        return m_stripped_reference;
+    }
+    
+    bool
+    DidStripTypedef () const
+    {
+        return m_stripped_typedef;
+    }
+    
+    template <class Formatter>
+    bool
+    IsMatch (const std::shared_ptr<Formatter>& formatter_sp) const
+    {
+        if (!formatter_sp)
+            return false;
+        if (formatter_sp->Cascades() == false && DidStripTypedef())
+            return false;
+        if (formatter_sp->SkipsPointers() && DidStripPointer())
+            return false;
+        if (formatter_sp->SkipsReferences() && DidStripReference())
+            return false;
+        return true;
+    }
+    
+private:
+    ConstString m_type_name;
+    uint32_t m_reason;
+    bool m_stripped_pointer;
+    bool m_stripped_reference;
+    bool m_stripped_typedef;
+};
+
+typedef std::vector<FormattersMatchCandidate> FormattersMatchVector;
+    
 class TypeNameSpecifierImpl
 {
 public:

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -19,6 +19,7 @@
 #include "lldb/lldb-enumerations.h"
 
 #include "lldb/DataFormatters/FormatCache.h"
+#include "lldb/DataFormatters/FormatClasses.h"
 #include "lldb/DataFormatters/FormatNavigator.h"
 #include "lldb/DataFormatters/TypeCategory.h"
 #include "lldb/DataFormatters/TypeCategoryMap.h"
@@ -213,7 +214,36 @@ public:
     {
     }
     
+    static FormattersMatchVector
+    GetPossibleMatches (ValueObject& valobj,
+                        lldb::DynamicValueType use_dynamic)
+    {
+        FormattersMatchVector matches;
+        GetPossibleMatches (valobj,
+                            valobj.GetClangType(),
+                            lldb_private::eFormatterChoiceCriterionDirectChoice,
+                            use_dynamic,
+                            matches,
+                            false,
+                            false,
+                            false,
+                            true);
+        return matches;
+    }
+
 private:
+    
+    static void
+    GetPossibleMatches (ValueObject& valobj,
+                        ClangASTType clang_type,
+                        uint32_t reason,
+                        lldb::DynamicValueType use_dynamic,
+                        FormattersMatchVector& entries,
+                        bool did_strip_ptr,
+                        bool did_strip_ref,
+                        bool did_strip_typedef,
+                        bool root_level = false);
+    
     FormatCache m_format_cache;
     NamedSummariesMap m_named_summaries_map;
     std::atomic<uint32_t> m_last_revision;

Modified: projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatNavigator.h
==============================================================================
--- projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatNavigator.h	Thu Dec  5 08:20:46 2013	(r258968)
+++ projects/random_number_generator/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatNavigator.h	Thu Dec  5 09:50:04 2013	(r258969)
@@ -26,6 +26,9 @@
 #include "lldb/Core/ValueObject.h"
 
 #include "lldb/DataFormatters/FormatClasses.h"
+#include "lldb/DataFormatters/TypeFormat.h"
+#include "lldb/DataFormatters/TypeSummary.h"
+#include "lldb/DataFormatters/TypeSynthetic.h"
 
 #include "lldb/Symbol/ClangASTContext.h"
 #include "lldb/Symbol/ClangASTType.h"
@@ -459,228 +462,29 @@ protected:
         }
         return false;
     }
-    
-    bool
-    Get_BitfieldMatch (ValueObject& valobj,
-                       ConstString typeName,
-                       MapValueType& entry,
-                       uint32_t& reason)
-    {
-        Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_TYPES));
-        // for bitfields, append size to the typename so one can custom format them
-        StreamString sstring;
-        sstring.Printf("%s:%d",typeName.AsCString(),valobj.GetBitfieldBitSize());
-        ConstString bitfieldname = ConstString(sstring.GetData());
-        if (log)
-            log->Printf("[Get_BitfieldMatch] appended bitfield info, final result is %s", bitfieldname.GetCString());
-        if (Get(bitfieldname, entry))
-        {
-            if (log)
-                log->Printf("[Get_BitfieldMatch] bitfield direct match found, returning");
-            return true;
-        }
-        else
-        {
-            reason |= lldb_private::eFormatterChoiceCriterionStrippedBitField;
-            if (log)
-                log->Printf("[Get_BitfieldMatch] no bitfield direct match");
-            return false;
-        }
-    }
-    
-    bool Get_ObjC (ValueObject& valobj,
-                   MapValueType& entry)
-    {
-        Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_TYPES));
-        lldb::ProcessSP process_sp = valobj.GetProcessSP();
-        ObjCLanguageRuntime* runtime = process_sp->GetObjCLanguageRuntime();
-        if (runtime == NULL)
-        {
-            if (log)
-                log->Printf("[Get_ObjC] no valid ObjC runtime, skipping dynamic");
-            return false;
-        }
-        ObjCLanguageRuntime::ClassDescriptorSP objc_class_sp (runtime->GetClassDescriptor(valobj));
-        if (!objc_class_sp)
-        {
-            if (log)
-                log->Printf("[Get_ObjC] invalid ISA, skipping dynamic");
-            return false;
-        }
-        ConstString name (objc_class_sp->GetClassName());
-        if (log)
-            log->Printf("[Get_ObjC] dynamic type inferred is %s - looking for direct dynamic match", name.GetCString());
-        if (Get(name, entry))
-        {
-            if (log)
-                log->Printf("[Get_ObjC] direct dynamic match found, returning");
-            return true;
-        }
-        if (log)
-            log->Printf("[Get_ObjC] no dynamic match");
-        return false;
-    }
-    
+
     bool
-    Get_Impl (ValueObject& valobj,
-              ClangASTType clang_type,
-              MapValueType& entry,
-              lldb::DynamicValueType use_dynamic,
-              uint32_t& reason)
+    Get (const FormattersMatchVector& candidates,
+         MapValueType& entry,
+         uint32_t *reason)
     {
-        Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_TYPES));
-
-        if (!clang_type.IsValid())
-        {
-            if (log)
-                log->Printf("[Get_Impl] type is invalid, returning");
-            return false;
-        }
-        
-        clang_type = clang_type.RemoveFastQualifiers();
-
-        ConstString typeName(clang_type.GetConstTypeName());
-        
-        if (valobj.GetBitfieldBitSize() > 0)
+        for (const FormattersMatchCandidate& candidate : candidates)
         {
-            if (Get_BitfieldMatch(valobj, typeName, entry, reason))
-                return true;
-        }
-        
-        if (log)
-            log->Printf("[Get_Impl] trying to get %s for VO name %s of type %s",
-                        m_name.c_str(),
-                        valobj.GetName().AsCString(),
-                        typeName.AsCString());
-        
-        if (Get(typeName, entry))
-        {
-            if (log)
-                log->Printf("[Get] direct match found, returning");
-            return true;
-        }
-        if (log)
-            log->Printf("[Get_Impl] no direct match");
-        
-        // strip pointers and references and see if that helps
-        if (clang_type.IsReferenceType())
-        {
-            if (log)
-                log->Printf("[Get_Impl] stripping reference");
-            if (Get_Impl(valobj, clang_type.GetNonReferenceType(), entry, use_dynamic, reason) && !entry->SkipsReferences())
+            if (Get(candidate.GetTypeName(),entry))
             {
-                reason |= lldb_private::eFormatterChoiceCriterionStrippedPointerReference;
-                return true;
-            }
-        }
-        else if (clang_type.IsPointerType())
-        {
-            if (log)
-                log->Printf("[Get_Impl] stripping pointer");
-            if (Get_Impl(valobj, clang_type.GetPointeeType(), entry, use_dynamic, reason) && !entry->SkipsPointers())
-            {
-                reason |= lldb_private::eFormatterChoiceCriterionStrippedPointerReference;

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

From owner-svn-src-projects@FreeBSD.ORG  Thu Dec  5 16:44:00 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 84D7F57A;
 Thu,  5 Dec 2013 16:44:00 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6D94C19DD;
 Thu,  5 Dec 2013 16:44:00 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB5Gi0Tx056662;
 Thu, 5 Dec 2013 16:44:00 GMT (envelope-from emaste@svn.freebsd.org)
Received: (from emaste@localhost)
 by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB5Ght6c056382;
 Thu, 5 Dec 2013 16:43:55 GMT (envelope-from emaste@svn.freebsd.org)
Message-Id: <201312051643.rB5Ght6c056382@svn.freebsd.org>
From: Ed Maste <emaste@FreeBSD.org>
Date: Thu, 5 Dec 2013 16:43:55 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r258991 - in projects/uefi: . bin/sh bin/test
 cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n
 cddl/contrib/opensolaris/lib/libdtrace/common contrib/gcc
 contrib/gcc/config/...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Dec 2013 16:44:00 -0000

Author: emaste
Date: Thu Dec  5 16:43:53 2013
New Revision: 258991
URL: http://svnweb.freebsd.org/changeset/base/258991

Log:
  Merge from HEAD at r258990
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/uefi/contrib/gcclibs/libiberty/ChangeLog.gcc43
     - copied unchanged from r258990, head/contrib/gcclibs/libiberty/ChangeLog.gcc43
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h
     - copied unchanged from r258990, head/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h
     - copied unchanged from r258990, head/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h
     - copied unchanged from r258990, head/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h
     - copied unchanged from r258990, head/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h
  projects/uefi/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp
     - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp
     - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h
     - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp
     - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h
     - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp
     - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h
     - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp
     - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h
     - copied unchanged from r258990, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h
  projects/uefi/etc/casper/
     - copied from r258990, head/etc/casper/
  projects/uefi/lib/libcapsicum/
     - copied from r258990, head/lib/libcapsicum/
  projects/uefi/lib/libcasper/
     - copied from r258990, head/lib/libcasper/
  projects/uefi/lib/libpjdlog/
     - copied from r258990, head/lib/libpjdlog/
  projects/uefi/libexec/casper/
     - copied from r258990, head/libexec/casper/
  projects/uefi/sbin/casperd/
     - copied from r258990, head/sbin/casperd/
  projects/uefi/sys/dev/nand/nfc_at91.c
     - copied unchanged from r258990, head/sys/dev/nand/nfc_at91.c
  projects/uefi/sys/powerpc/wii/ios_if.m
     - copied unchanged from r258990, head/sys/powerpc/wii/ios_if.m
  projects/uefi/sys/sys/ktr_class.h
     - copied unchanged from r258990, head/sys/sys/ktr_class.h
  projects/uefi/sys/sys/sf_sync.h
     - copied unchanged from r258990, head/sys/sys/sf_sync.h
  projects/uefi/tools/build/options/WITHOUT_CASPER
     - copied unchanged from r258990, head/tools/build/options/WITHOUT_CASPER
  projects/uefi/tools/regression/capsicum/libcapsicum/
     - copied from r258990, head/tools/regression/capsicum/libcapsicum/
Modified:
  projects/uefi/Makefile.inc1
  projects/uefi/ObsoleteFiles.inc
  projects/uefi/UPDATING
  projects/uefi/bin/sh/cd.c
  projects/uefi/bin/sh/exec.c
  projects/uefi/bin/sh/expand.c
  projects/uefi/bin/sh/memalloc.c
  projects/uefi/bin/sh/mystring.c
  projects/uefi/bin/sh/mystring.h
  projects/uefi/bin/sh/show.c
  projects/uefi/bin/sh/var.c
  projects/uefi/bin/test/test.c
  projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh
  projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh
  projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh
  projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c
  projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c
  projects/uefi/contrib/gcc/ChangeLog.gcc43
  projects/uefi/contrib/gcc/builtins.c
  projects/uefi/contrib/gcc/c-common.c
  projects/uefi/contrib/gcc/c-decl.c
  projects/uefi/contrib/gcc/c-typeck.c
  projects/uefi/contrib/gcc/config/rs6000/rs6000.c
  projects/uefi/contrib/gcc/cp/ChangeLog.gcc43
  projects/uefi/contrib/gcc/cp/decl.c
  projects/uefi/contrib/gcc/cp/mangle.c
  projects/uefi/contrib/gcc/cp/semantics.c
  projects/uefi/contrib/gcc/cp/typeck.c
  projects/uefi/contrib/gcc/doc/extend.texi
  projects/uefi/contrib/gcc/flags.h
  projects/uefi/contrib/gcc/print-tree.c
  projects/uefi/contrib/gcc/toplev.c
  projects/uefi/contrib/gcc/tree.c
  projects/uefi/contrib/gcc/tree.h
  projects/uefi/contrib/gcc/varasm.c
  projects/uefi/contrib/gcclibs/libcpp/ChangeLog.gcc43
  projects/uefi/contrib/gcclibs/libcpp/expr.c
  projects/uefi/contrib/gcclibs/libcpp/lex.c
  projects/uefi/contrib/gcclibs/libcpp/macro.c
  projects/uefi/contrib/gcclibs/libcpp/pch.c
  projects/uefi/contrib/gcclibs/libiberty/choose-temp.c
  projects/uefi/contrib/gcclibs/libiberty/cp-demangle.c
  projects/uefi/contrib/gcclibs/libiberty/cp-demangle.h
  projects/uefi/contrib/gcclibs/libiberty/floatformat.c
  projects/uefi/contrib/gcclibs/libiberty/functions.texi
  projects/uefi/contrib/gcclibs/libiberty/pex-unix.c
  projects/uefi/contrib/gcclibs/libiberty/strsignal.c
  projects/uefi/contrib/gcclibs/libiberty/testsuite/demangle-expected
  projects/uefi/contrib/gcclibs/libiberty/testsuite/test-demangle.c
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBError.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Core/Address.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Core/Module.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatNavigator.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategory.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Expression/ClangFunction.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Expression/ClangUserExpression.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Host/File.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Host/FileSpec.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Host/Host.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Host/OptionParser.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Interpreter/PythonDataObjects.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Symbol/TypeList.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/ABI.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/LanguageRuntime.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/Platform.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/Process.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/RegisterContext.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/Target.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/Thread.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/ThreadList.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunction.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallUserExpression.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/Utility/PythonPointer.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/lldb-enumerations.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/lldb-forward.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/lldb-private-enumerations.h
  projects/uefi/contrib/llvm/tools/lldb/include/lldb/lldb-python.h
  projects/uefi/contrib/llvm/tools/lldb/source/API/SBDebugger.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/API/SBExpressionOptions.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/API/SBFileSpec.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/API/SBModule.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/API/SBProcess.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/API/SBStream.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/API/SBTarget.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/API/SBThread.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Breakpoint/Breakpoint.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointList.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocation.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectMemory.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlatform.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectTarget.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpoint.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Core/Address.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Core/ConnectionFileDescriptor.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Core/Debugger.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Core/Mangled.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Core/Module.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Core/StreamFile.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Core/ValueObjectSyntheticFilter.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/FormatClasses.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/FormatManager.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/LibCxx.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/LibStdcpp.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/NSDictionary.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/NSSet.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategory.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategoryMap.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Expression/ClangFunction.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Expression/ClangUserExpression.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Host/common/File.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Host/common/FileSpec.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Host/common/Host.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Host/common/OptionParser.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Interpreter/Args.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Interpreter/CommandInterpreter.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Interpreter/PythonDataObjects.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreterPython.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_x86_64.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
  projects/uefi/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Target/Platform.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Target/Process.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Target/RegisterContext.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Target/StackFrameList.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Target/SystemRuntime.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Target/Target.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Target/Thread.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallUserExpression.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInRange.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Utility/StringExtractor.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.cpp
  projects/uefi/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.h
  projects/uefi/contrib/llvm/tools/lldb/source/lldb.cpp
  projects/uefi/contrib/llvm/tools/lldb/tools/lldb-platform/lldb-platform.cpp
  projects/uefi/contrib/mdocml/lib.in
  projects/uefi/etc/Makefile
  projects/uefi/etc/gettytab
  projects/uefi/etc/mtree/BSD.root.dist
  projects/uefi/etc/pf.os
  projects/uefi/etc/rc
  projects/uefi/etc/services
  projects/uefi/lib/Makefile
  projects/uefi/lib/clang/liblldbAPI/Makefile
  projects/uefi/lib/clang/liblldbPluginProcessFreeBSD/Makefile
  projects/uefi/lib/clang/liblldbPluginProcessUtility/Makefile
  projects/uefi/lib/libc/sparc64/fpu/fpu.c
  projects/uefi/lib/libc/sparc64/fpu/fpu_sqrt.c
  projects/uefi/lib/libc/sys/chmod.2
  projects/uefi/lib/libc/sys/pdfork.2
  projects/uefi/lib/libc/sys/wait.2
  projects/uefi/lib/libc/xdr/xdr_rec.c
  projects/uefi/lib/libstand/libstand.3
  projects/uefi/libexec/Makefile
  projects/uefi/release/Makefile
  projects/uefi/release/doc/en_US.ISO8859-1/relnotes/article.xml
  projects/uefi/release/release.sh
  projects/uefi/release/scripts/pkg-stage.sh
  projects/uefi/sbin/Makefile
  projects/uefi/sbin/mdconfig/mdconfig.8
  projects/uefi/sbin/mdconfig/mdconfig.c
  projects/uefi/sbin/route/route.c
  projects/uefi/share/man/man4/capsicum.4
  projects/uefi/share/man/man4/procdesc.4
  projects/uefi/share/man/man5/src.conf.5
  projects/uefi/share/man/man7/development.7
  projects/uefi/share/man/man7/release.7
  projects/uefi/share/mk/bsd.libnames.mk
  projects/uefi/share/mk/bsd.own.mk
  projects/uefi/sys/amd64/conf/GENERIC
  projects/uefi/sys/amd64/include/vmm.h   (contents, props changed)
  projects/uefi/sys/amd64/pci/pci_cfgreg.c
  projects/uefi/sys/amd64/vmm/intel/vmcs.h
  projects/uefi/sys/amd64/vmm/intel/vmx.c
  projects/uefi/sys/amd64/vmm/intel/vmx_controls.h
  projects/uefi/sys/amd64/vmm/intel/vtd.c
  projects/uefi/sys/amd64/vmm/vmm.c
  projects/uefi/sys/amd64/vmm/vmm_lapic.c
  projects/uefi/sys/arm/arm/db_trace.c
  projects/uefi/sys/arm/arm/locore.S
  projects/uefi/sys/arm/arm/pl190.c
  projects/uefi/sys/arm/arm/pmap-v6.c
  projects/uefi/sys/arm/at91/at91_pioreg.h
  projects/uefi/sys/arm/at91/files.at91
  projects/uefi/sys/arm/at91/if_macbvar.h
  projects/uefi/sys/arm/broadcom/bcm2835/bcm2835_dma.c
  projects/uefi/sys/arm/econa/if_ece.c
  projects/uefi/sys/arm/freescale/imx/imx6_anatopreg.h
  projects/uefi/sys/arm/freescale/imx/imx6_usbphy.c
  projects/uefi/sys/arm/freescale/imx/imx_gptreg.h
  projects/uefi/sys/arm/freescale/vybrid/vf_anadig.c
  projects/uefi/sys/arm/freescale/vybrid/vf_ccm.c
  projects/uefi/sys/arm/freescale/vybrid/vf_ehci.c
  projects/uefi/sys/arm/include/armreg.h
  projects/uefi/sys/arm/lpc/if_lpereg.h
  projects/uefi/sys/arm/lpc/lpcreg.h
  projects/uefi/sys/arm/mv/mv_pci.c
  projects/uefi/sys/arm/samsung/exynos/ehci_exynos5.c
  projects/uefi/sys/arm/xscale/i8134x/i81342reg.h
  projects/uefi/sys/arm/xscale/ixp425/ixp425reg.h
  projects/uefi/sys/boot/arm/at91/libat91/mci_device.h
  projects/uefi/sys/boot/i386/libfirewire/fwohci.h
  projects/uefi/sys/boot/i386/libfirewire/fwohcireg.h
  projects/uefi/sys/cam/ctl/ctl_backend_block.c
  projects/uefi/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c
  projects/uefi/sys/cddl/compat/opensolaris/sys/vm.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/Makefile.files
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
  projects/uefi/sys/compat/freebsd32/freebsd32_misc.c
  projects/uefi/sys/conf/NOTES
  projects/uefi/sys/conf/files.i386
  projects/uefi/sys/conf/files.powerpc
  projects/uefi/sys/conf/kern.pre.mk
  projects/uefi/sys/conf/options
  projects/uefi/sys/conf/options.amd64
  projects/uefi/sys/dev/aac/aacvar.h
  projects/uefi/sys/dev/acpica/acpi_video.c
  projects/uefi/sys/dev/agp/agp_i810.c
  projects/uefi/sys/dev/ahci/ahci.h
  projects/uefi/sys/dev/bge/if_bge.c
  projects/uefi/sys/dev/bge/if_bgereg.h
  projects/uefi/sys/dev/bktr/bktr_core.c
  projects/uefi/sys/dev/cesa/cesa.h
  projects/uefi/sys/dev/cxgbe/common/common.h
  projects/uefi/sys/dev/cxgbe/common/t4_hw.c
  projects/uefi/sys/dev/cxgbe/t4_ioctl.h
  projects/uefi/sys/dev/cxgbe/t4_main.c
  projects/uefi/sys/dev/drm/i915_reg.h
  projects/uefi/sys/dev/drm/mach64_drv.h
  projects/uefi/sys/dev/drm/mga_drv.h
  projects/uefi/sys/dev/drm/r128_drv.h
  projects/uefi/sys/dev/drm/r300_reg.h
  projects/uefi/sys/dev/drm/r600_blit.c
  projects/uefi/sys/dev/drm/radeon_cp.c
  projects/uefi/sys/dev/drm/radeon_drv.h
  projects/uefi/sys/dev/drm/via_irq.c
  projects/uefi/sys/dev/drm2/drm_pci.c
  projects/uefi/sys/dev/drm2/radeon/evergreen_blit_kms.c
  projects/uefi/sys/dev/drm2/radeon/evergreen_cs.c
  projects/uefi/sys/dev/drm2/radeon/evergreend.h
  projects/uefi/sys/dev/drm2/radeon/nid.h
  projects/uefi/sys/dev/drm2/radeon/r200.c
  projects/uefi/sys/dev/drm2/radeon/r300.c
  projects/uefi/sys/dev/drm2/radeon/r300_reg.h
  projects/uefi/sys/dev/drm2/radeon/r500_reg.h
  projects/uefi/sys/dev/drm2/radeon/r600_blit.c
  projects/uefi/sys/dev/drm2/radeon/r600_blit_kms.c
  projects/uefi/sys/dev/drm2/radeon/r600_cs.c
  projects/uefi/sys/dev/drm2/radeon/r600d.h
  projects/uefi/sys/dev/drm2/radeon/radeon_cp.c
  projects/uefi/sys/dev/drm2/radeon/radeon_drv.h
  projects/uefi/sys/dev/drm2/radeon/radeon_reg.h
  projects/uefi/sys/dev/drm2/radeon/rv770d.h
  projects/uefi/sys/dev/drm2/radeon/sid.h
  projects/uefi/sys/dev/drm2/ttm/ttm_bo.c
  projects/uefi/sys/dev/e1000/e1000_82575.h
  projects/uefi/sys/dev/e1000/e1000_ich8lan.c
  projects/uefi/sys/dev/e1000/e1000_regs.h
  projects/uefi/sys/dev/etherswitch/arswitch/arswitchreg.h
  projects/uefi/sys/dev/ffec/if_ffecreg.h
  projects/uefi/sys/dev/firewire/firewire.c
  projects/uefi/sys/dev/firewire/fwohci.c
  projects/uefi/sys/dev/firewire/fwohcireg.h
  projects/uefi/sys/dev/firewire/sbp.c
  projects/uefi/sys/dev/firewire/sbp.h
  projects/uefi/sys/dev/firewire/sbp_targ.c
  projects/uefi/sys/dev/hatm/if_hatmreg.h
  projects/uefi/sys/dev/hwpmc/hwpmc_piv.h
  projects/uefi/sys/dev/iscsi/iscsi.c
  projects/uefi/sys/dev/iwn/if_iwn.c
  projects/uefi/sys/dev/iwn/if_iwnreg.h
  projects/uefi/sys/dev/iwn/if_iwnvar.h
  projects/uefi/sys/dev/md/md.c
  projects/uefi/sys/dev/mge/if_mgevar.h
  projects/uefi/sys/dev/mpt/mpt_cam.c
  projects/uefi/sys/dev/msk/if_mskreg.h
  projects/uefi/sys/dev/mvs/mvs.h
  projects/uefi/sys/dev/mxge/mxge_mcp.h
  projects/uefi/sys/dev/nand/nandbus.c
  projects/uefi/sys/dev/oce/oce_if.c
  projects/uefi/sys/dev/oce/oce_if.h
  projects/uefi/sys/dev/oce/oce_mbox.c
  projects/uefi/sys/dev/oce/oce_sysctl.c
  projects/uefi/sys/dev/ofw/ofw_fdt.c
  projects/uefi/sys/dev/qlxge/qls_dump.c
  projects/uefi/sys/dev/ral/rt2560reg.h
  projects/uefi/sys/dev/ral/rt2661reg.h
  projects/uefi/sys/dev/ral/rt2860reg.h
  projects/uefi/sys/dev/sound/pci/hda/hdaa.h
  projects/uefi/sys/dev/uart/uart_cpu_powerpc.c
  projects/uefi/sys/dev/usb/controller/ehci.h
  projects/uefi/sys/dev/usb/usb_busdma.c
  projects/uefi/sys/dev/usb/wlan/if_rsu.c
  projects/uefi/sys/dev/usb/wlan/if_rum.c
  projects/uefi/sys/dev/usb/wlan/if_rumreg.h
  projects/uefi/sys/dev/usb/wlan/if_run.c
  projects/uefi/sys/dev/usb/wlan/if_runreg.h
  projects/uefi/sys/dev/usb/wlan/if_runvar.h
  projects/uefi/sys/dev/usb/wlan/if_ural.c
  projects/uefi/sys/dev/usb/wlan/if_uralreg.h
  projects/uefi/sys/dev/usb/wlan/if_urtw.c
  projects/uefi/sys/dev/usb/wlan/if_urtwreg.h
  projects/uefi/sys/dev/usb/wlan/if_zydreg.h
  projects/uefi/sys/dev/wpi/if_wpireg.h
  projects/uefi/sys/fs/ext2fs/ext2_dinode.h
  projects/uefi/sys/geom/raid/tr_raid1e.c
  projects/uefi/sys/i386/conf/GENERIC
  projects/uefi/sys/i386/conf/NOTES
  projects/uefi/sys/i386/pci/pci_cfgreg.c
  projects/uefi/sys/ia64/conf/GENERIC
  projects/uefi/sys/kern/kern_descrip.c
  projects/uefi/sys/kern/kern_exit.c
  projects/uefi/sys/kern/kern_fork.c
  projects/uefi/sys/kern/kern_mib.c
  projects/uefi/sys/kern/kern_shutdown.c
  projects/uefi/sys/kern/kern_sig.c
  projects/uefi/sys/kern/makesyscalls.sh
  projects/uefi/sys/kern/sched_ule.c
  projects/uefi/sys/kern/sys_procdesc.c
  projects/uefi/sys/kern/uipc_syscalls.c
  projects/uefi/sys/libkern/iconv.c
  projects/uefi/sys/mips/atheros/ar71xxreg.h
  projects/uefi/sys/mips/atheros/ar934xreg.h
  projects/uefi/sys/mips/atheros/if_argevar.h
  projects/uefi/sys/mips/malta/gt_pci.c
  projects/uefi/sys/mips/nlm/dev/net/nae.c
  projects/uefi/sys/mips/nlm/xlp_machdep.c
  projects/uefi/sys/mips/rmi/pic.h
  projects/uefi/sys/modules/Makefile
  projects/uefi/sys/net80211/ieee80211_scan.c
  projects/uefi/sys/net80211/ieee80211_scan_sta.c
  projects/uefi/sys/netinet/sctp_bsd_addr.c
  projects/uefi/sys/netinet/sctp_pcb.c
  projects/uefi/sys/netinet/tcp_input.c
  projects/uefi/sys/ofed/drivers/infiniband/hw/mlx4/qp.c
  projects/uefi/sys/ofed/drivers/infiniband/hw/mthca/mthca_mcg.c
  projects/uefi/sys/ofed/drivers/infiniband/hw/mthca/mthca_qp.c
  projects/uefi/sys/ofed/drivers/net/mlx4/mcg.c
  projects/uefi/sys/pc98/conf/GENERIC
  projects/uefi/sys/powerpc/aim/trap_subr32.S
  projects/uefi/sys/powerpc/aim/trap_subr64.S
  projects/uefi/sys/powerpc/booke/platform_bare.c
  projects/uefi/sys/powerpc/conf/GENERIC
  projects/uefi/sys/powerpc/fpu/fpu_emu.c
  projects/uefi/sys/powerpc/fpu/fpu_sqrt.c
  projects/uefi/sys/powerpc/include/fdt.h
  projects/uefi/sys/powerpc/include/ofw_machdep.h
  projects/uefi/sys/powerpc/mpc85xx/platform_mpc85xx.c
  projects/uefi/sys/powerpc/ofw/ofw_machdep.c
  projects/uefi/sys/powerpc/powermac/nvbl.c
  projects/uefi/sys/powerpc/powermac/platform_powermac.c
  projects/uefi/sys/powerpc/powerpc/copyinout.c
  projects/uefi/sys/powerpc/powerpc/cpu.c
  projects/uefi/sys/powerpc/powerpc/platform.c
  projects/uefi/sys/powerpc/powerpc/platform_if.m
  projects/uefi/sys/powerpc/ps3/platform_ps3.c
  projects/uefi/sys/powerpc/pseries/platform_chrp.c
  projects/uefi/sys/powerpc/wii/platform_wii.c
  projects/uefi/sys/sparc64/conf/GENERIC
  projects/uefi/sys/sys/consio.h
  projects/uefi/sys/sys/file.h
  projects/uefi/sys/sys/ktr.h
  projects/uefi/sys/sys/lock.h
  projects/uefi/sys/sys/mdioctl.h
  projects/uefi/sys/ufs/ffs/ffs_softdep.c
  projects/uefi/sys/vm/uma_core.c
  projects/uefi/sys/x86/iommu/intel_reg.h
  projects/uefi/tools/build/options/WITHOUT_PKGBOOTSTRAP
  projects/uefi/tools/test/dtrace/Makefile
  projects/uefi/usr.bin/script/script.1
  projects/uefi/usr.bin/script/script.c
  projects/uefi/usr.bin/yacc/Makefile
  projects/uefi/usr.sbin/bhyveload/bhyveload.8
  projects/uefi/usr.sbin/bluetooth/bthidd/kbd.c
  projects/uefi/usr.sbin/bsdconfig/includes/includes
  projects/uefi/usr.sbin/bsdconfig/share/common.subr
  projects/uefi/usr.sbin/bsdinstall/scripts/zfsboot
  projects/uefi/usr.sbin/ctld/ctl.conf.5
  projects/uefi/usr.sbin/ctld/parse.y
  projects/uefi/usr.sbin/mfiutil/mfi_show.c
  projects/uefi/usr.sbin/rwhod/rwhod.c
Directory Properties:
  projects/uefi/   (props changed)
  projects/uefi/cddl/   (props changed)
  projects/uefi/cddl/contrib/opensolaris/   (props changed)
  projects/uefi/contrib/gcc/   (props changed)
  projects/uefi/contrib/llvm/   (props changed)
  projects/uefi/contrib/llvm/tools/lldb/   (props changed)
  projects/uefi/lib/libc/   (props changed)
  projects/uefi/sbin/   (props changed)
  projects/uefi/share/man/man4/   (props changed)
  projects/uefi/sys/   (props changed)
  projects/uefi/sys/amd64/vmm/   (props changed)
  projects/uefi/sys/boot/   (props changed)
  projects/uefi/sys/cddl/contrib/opensolaris/   (props changed)
  projects/uefi/sys/conf/   (props changed)
  projects/uefi/usr.sbin/bhyveload/   (props changed)

Modified: projects/uefi/Makefile.inc1
==============================================================================
--- projects/uefi/Makefile.inc1	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/Makefile.inc1	Thu Dec  5 16:43:53 2013	(r258991)
@@ -1499,13 +1499,14 @@ _prebuild_libs=	${_kerberos5_lib_libasn1
 		lib/libbz2 ${_libcom_err} lib/libcrypt \
 		lib/libelf lib/libexpat \
 		${_lib_libgssapi} ${_lib_libipx} \
-		lib/libkiconv lib/libkvm lib/liblzma lib/libmd \
+		lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \
+		${_lib_libcapsicum} \
 		lib/ncurses/ncurses lib/ncurses/ncursesw \
 		lib/libopie lib/libpam ${_lib_libthr} \
 		lib/libradius lib/libsbuf lib/libtacplus \
 		${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \
 		${_cddl_lib_libzfs_core} \
-		lib/libutil ${_lib_libypclnt} lib/libz lib/msun \
+		lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \
 		${_secure_lib_libcrypto} ${_lib_libldns} \
 		${_secure_lib_libssh} ${_secure_lib_libssl}
 
@@ -1521,6 +1522,13 @@ _lib_libthr=	lib/libthr
 _ofed_lib=	contrib/ofed/usr.lib/
 .endif
 
+.if ${MK_CASPER} != "no"
+_lib_libcapsicum=lib/libcapsicum
+.endif
+
+lib/libcapsicum__L: lib/libnv__L
+lib/libpjdlog__L: lib/libutil__L
+
 _generic_libs=	${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib ${_ofed_lib}
 .for _DIR in ${LOCAL_LIB_DIRS}
 .if exists(${.CURDIR}/${_DIR}/Makefile)

Modified: projects/uefi/ObsoleteFiles.inc
==============================================================================
--- projects/uefi/ObsoleteFiles.inc	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/ObsoleteFiles.inc	Thu Dec  5 16:43:53 2013	(r258991)
@@ -38,6 +38,9 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20131202: libcapsicum and libcasper moved to /lib/
+OLD_LIBS+=usr/lib/libcapsicum.so.0
+OLD_LIBS+=usr/lib/libcasper.so.0
 # 20131109: extattr(2) mlinks fixed
 OLD_FILES+=usr/share/man/man2/extattr_delete_list.2.gz
 OLD_FILES+=usr/share/man/man2/extattr_get_list.2.gz

Modified: projects/uefi/UPDATING
==============================================================================
--- projects/uefi/UPDATING	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/UPDATING	Thu Dec  5 16:43:53 2013	(r258991)
@@ -79,7 +79,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	available in the ports tree.   The dns/bind99 port is one example.
 
 	With this change, nslookup(1) and dig(1) are no longer in the base
-	system.  Users should instead use host(1) which is still
+	system.  Users should instead use host(1) and drill(1) which are
 	in the base system.  Alternatively, nslookup and dig can
 	be obtained by installing the dns/bind-tools port.
 

Modified: projects/uefi/bin/sh/cd.c
==============================================================================
--- projects/uefi/bin/sh/cd.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/bin/sh/cd.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -182,6 +182,7 @@ cdlogical(char *dest)
 	struct stat statb;
 	int first;
 	int badstat;
+	size_t len;
 
 	/*
 	 *  Check each component of the path. If we find a symlink or
@@ -189,8 +190,9 @@ cdlogical(char *dest)
 	 *  next time we get the value of the current directory.
 	 */
 	badstat = 0;
-	cdcomppath = stalloc(strlen(dest) + 1);
-	scopy(dest, cdcomppath);
+	len = strlen(dest);
+	cdcomppath = stalloc(len + 1);
+	memcpy(cdcomppath, dest, len + 1);
 	STARTSTACKSTR(p);
 	if (*dest == '/') {
 		STPUTC('/', p);
@@ -275,6 +277,7 @@ findcwd(char *dir)
 {
 	char *new;
 	char *p;
+	size_t len;
 
 	/*
 	 * If our argument is NULL, we don't know the current directory
@@ -283,8 +286,9 @@ findcwd(char *dir)
 	 */
 	if (dir == NULL || curdir == NULL)
 		return getpwd2();
-	cdcomppath = stalloc(strlen(dir) + 1);
-	scopy(dir, cdcomppath);
+	len = strlen(dir);
+	cdcomppath = stalloc(len + 1);
+	memcpy(cdcomppath, dir, len + 1);
 	STARTSTACKSTR(new);
 	if (*dir != '/') {
 		STPUTS(curdir, new);

Modified: projects/uefi/bin/sh/exec.c
==============================================================================
--- projects/uefi/bin/sh/exec.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/bin/sh/exec.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -187,14 +187,15 @@ padvance(const char **path, const char *
 {
 	const char *p, *start;
 	char *q;
-	size_t len;
+	size_t len, namelen;
 
 	if (*path == NULL)
 		return NULL;
 	start = *path;
 	for (p = start; *p && *p != ':' && *p != '%'; p++)
 		; /* nothing */
-	len = p - start + strlen(name) + 2;	/* "2" is for '/' and '\0' */
+	namelen = strlen(name);
+	len = p - start + namelen + 2;	/* "2" is for '/' and '\0' */
 	STARTSTACKSTR(q);
 	CHECKSTRSPACE(len, q);
 	if (p != start) {
@@ -202,7 +203,7 @@ padvance(const char **path, const char *
 		q += p - start;
 		*q++ = '/';
 	}
-	strcpy(q, name);
+	memcpy(q, name, namelen + 1);
 	pathopt = NULL;
 	if (*p == '%') {
 		pathopt = ++p;
@@ -527,6 +528,7 @@ cmdlookup(const char *name, int add)
 	const char *p;
 	struct tblentry *cmdp;
 	struct tblentry **pp;
+	size_t len;
 
 	p = name;
 	hashval = *p << 4;
@@ -541,11 +543,11 @@ cmdlookup(const char *name, int add)
 	}
 	if (add && cmdp == NULL) {
 		INTOFF;
-		cmdp = *pp = ckmalloc(sizeof (struct tblentry)
-					+ strlen(name) + 1);
+		len = strlen(name);
+		cmdp = *pp = ckmalloc(sizeof (struct tblentry) + len + 1);
 		cmdp->next = NULL;
 		cmdp->cmdtype = CMDUNKNOWN;
-		strcpy(cmdp->cmdname, name);
+		memcpy(cmdp->cmdname, name, len + 1);
 		INTON;
 	}
 	lastcmdentry = pp;

Modified: projects/uefi/bin/sh/expand.c
==============================================================================
--- projects/uefi/bin/sh/expand.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/bin/sh/expand.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -1307,9 +1307,11 @@ addfname(char *name)
 {
 	char *p;
 	struct strlist *sp;
+	size_t len;
 
-	p = stalloc(strlen(name) + 1);
-	scopy(name, p);
+	len = strlen(name);
+	p = stalloc(len + 1);
+	memcpy(p, name, len + 1);
 	sp = (struct strlist *)stalloc(sizeof *sp);
 	sp->text = p;
 	*exparg.lastp = sp;

Modified: projects/uefi/bin/sh/memalloc.c
==============================================================================
--- projects/uefi/bin/sh/memalloc.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/bin/sh/memalloc.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -98,9 +98,11 @@ char *
 savestr(const char *s)
 {
 	char *p;
+	size_t len;
 
-	p = ckmalloc(strlen(s) + 1);
-	scopy(s, p);
+	len = strlen(s);
+	p = ckmalloc(len + 1);
+	memcpy(p, s, len + 1);
 	return p;
 }
 

Modified: projects/uefi/bin/sh/mystring.c
==============================================================================
--- projects/uefi/bin/sh/mystring.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/bin/sh/mystring.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$");
  * String functions.
  *
  *	equal(s1, s2)		Return true if strings are equal.
- *	scopy(from, to)		Copy a string.
  *	number(s)		Convert a string of digits to an integer.
  *	is_number(s)		Return true if s is a string of digits.
  */
@@ -60,10 +59,6 @@ char nullstr[1];		/* zero length string 
  * equal - #defined in mystring.h
  */
 
-/*
- * scopy - #defined in mystring.h
- */
-
 
 /*
  * prefix -- see if pfx is a prefix of string.

Modified: projects/uefi/bin/sh/mystring.h
==============================================================================
--- projects/uefi/bin/sh/mystring.h	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/bin/sh/mystring.h	Thu Dec  5 16:43:53 2013	(r258991)
@@ -40,4 +40,3 @@ int number(const char *);
 int is_number(const char *);
 
 #define equal(s1, s2)	(strcmp(s1, s2) == 0)
-#define scopy(s1, s2)	((void)strcpy(s2, s1))

Modified: projects/uefi/bin/sh/show.c
==============================================================================
--- projects/uefi/bin/sh/show.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/bin/sh/show.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -390,11 +390,11 @@ opentrace(void)
 			else
 				p = "/tmp";
 		}
-		scopy(p, s);
+		strcpy(s, p);
 		strcat(s, "/trace");
 	}
 #else
-	scopy("./trace", s);
+	strcpy(s, "./trace");
 #endif /* not_this_way */
 	if ((tracefile = fopen(s, "a")) == NULL) {
 		fprintf(stderr, "Can't open %s: %s\n", s, strerror(errno));

Modified: projects/uefi/bin/sh/var.c
==============================================================================
--- projects/uefi/bin/sh/var.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/bin/sh/var.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -224,8 +224,9 @@ void
 setvar(const char *name, const char *val, int flags)
 {
 	const char *p;
-	int len;
-	int namelen;
+	size_t len;
+	size_t namelen;
+	size_t vallen;
 	char *nameeq;
 	int isbad;
 
@@ -244,18 +245,20 @@ setvar(const char *name, const char *val
 	}
 	namelen = p - name;
 	if (isbad)
-		error("%.*s: bad variable name", namelen, name);
+		error("%.*s: bad variable name", (int)namelen, name);
 	len = namelen + 2;		/* 2 is space for '=' and '\0' */
 	if (val == NULL) {
 		flags |= VUNSET;
+		vallen = 0;
 	} else {
-		len += strlen(val);
+		vallen = strlen(val);
+		len += vallen;
 	}
 	nameeq = ckmalloc(len);
 	memcpy(nameeq, name, namelen);
 	nameeq[namelen] = '=';
 	if (val)
-		scopy(val, nameeq + namelen + 1);
+		memcpy(nameeq + namelen + 1, val, vallen + 1);
 	else
 		nameeq[namelen + 1] = '\0';
 	setvareq(nameeq, flags);

Modified: projects/uefi/bin/test/test.c
==============================================================================
--- projects/uefi/bin/test/test.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/bin/test/test.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -67,9 +67,18 @@ error(const char *msg, ...)
 	operand ::= <any legal UNIX file name>
 */
 
+enum token_types {
+	UNOP = 0x100,
+	BINOP = 0x200,
+	BUNOP = 0x300,
+	BBINOP = 0x400,
+	PAREN = 0x500
+};
+
 enum token {
 	EOI,
-	FILRD,
+	OPERAND,
+	FILRD = UNOP + 1,
 	FILWR,
 	FILEX,
 	FILEXIST,
@@ -85,13 +94,13 @@ enum token {
 	FILSUID,
 	FILSGID,
 	FILSTCK,
-	FILNT,
-	FILOT,
-	FILEQ,
-	FILUID,
-	FILGID,
 	STREZ,
 	STRNZ,
+	FILUID,
+	FILGID,
+	FILNT = BINOP + 1,
+	FILOT,
+	FILEQ,
 	STREQ,
 	STRNE,
 	STRLT,
@@ -102,70 +111,62 @@ enum token {
 	INTGT,
 	INTLE,
 	INTLT,
-	UNOT,
-	BAND,
+	UNOT = BUNOP + 1,
+	BAND = BBINOP + 1,
 	BOR,
-	LPAREN,
-	RPAREN,
-	OPERAND
+	LPAREN = PAREN + 1,
+	RPAREN
 };
 
-enum token_types {
-	UNOP,
-	BINOP,
-	BUNOP,
-	BBINOP,
-	PAREN
-};
+#define TOKEN_TYPE(token) ((token) & 0xff00)
 
 static struct t_op {
 	char op_text[4];
-	short op_num, op_type;
+	short op_num;
 } const ops [] = {
-	{"-r",	FILRD,	UNOP},
-	{"-w",	FILWR,	UNOP},
-	{"-x",	FILEX,	UNOP},
-	{"-e",	FILEXIST,UNOP},
-	{"-f",	FILREG,	UNOP},
-	{"-d",	FILDIR,	UNOP},
-	{"-c",	FILCDEV,UNOP},
-	{"-b",	FILBDEV,UNOP},
-	{"-p",	FILFIFO,UNOP},
-	{"-u",	FILSUID,UNOP},
-	{"-g",	FILSGID,UNOP},
-	{"-k",	FILSTCK,UNOP},
-	{"-s",	FILGZ,	UNOP},
-	{"-t",	FILTT,	UNOP},
-	{"-z",	STREZ,	UNOP},
-	{"-n",	STRNZ,	UNOP},
-	{"-h",	FILSYM,	UNOP},		/* for backwards compat */
-	{"-O",	FILUID,	UNOP},
-	{"-G",	FILGID,	UNOP},
-	{"-L",	FILSYM,	UNOP},
-	{"-S",	FILSOCK,UNOP},
-	{"=",	STREQ,	BINOP},
-	{"==",	STREQ,	BINOP},
-	{"!=",	STRNE,	BINOP},
-	{"<",	STRLT,	BINOP},
-	{">",	STRGT,	BINOP},
-	{"-eq",	INTEQ,	BINOP},
-	{"-ne",	INTNE,	BINOP},
-	{"-ge",	INTGE,	BINOP},
-	{"-gt",	INTGT,	BINOP},
-	{"-le",	INTLE,	BINOP},
-	{"-lt",	INTLT,	BINOP},
-	{"-nt",	FILNT,	BINOP},
-	{"-ot",	FILOT,	BINOP},
-	{"-ef",	FILEQ,	BINOP},
-	{"!",	UNOT,	BUNOP},
-	{"-a",	BAND,	BBINOP},
-	{"-o",	BOR,	BBINOP},
-	{"(",	LPAREN,	PAREN},
-	{")",	RPAREN,	PAREN},
-	{"",	0,	0}
+	{"-r",	FILRD},
+	{"-w",	FILWR},
+	{"-x",	FILEX},
+	{"-e",	FILEXIST},
+	{"-f",	FILREG},
+	{"-d",	FILDIR},
+	{"-c",	FILCDEV},
+	{"-b",	FILBDEV},
+	{"-p",	FILFIFO},
+	{"-u",	FILSUID},
+	{"-g",	FILSGID},
+	{"-k",	FILSTCK},
+	{"-s",	FILGZ},
+	{"-t",	FILTT},
+	{"-z",	STREZ},
+	{"-n",	STRNZ},
+	{"-h",	FILSYM},		/* for backwards compat */
+	{"-O",	FILUID},
+	{"-G",	FILGID},
+	{"-L",	FILSYM},
+	{"-S",	FILSOCK},
+	{"=",	STREQ},
+	{"==",	STREQ},
+	{"!=",	STRNE},
+	{"<",	STRLT},
+	{">",	STRGT},
+	{"-eq",	INTEQ},
+	{"-ne",	INTNE},
+	{"-ge",	INTGE},
+	{"-gt",	INTGT},
+	{"-le",	INTLE},
+	{"-lt",	INTLT},
+	{"-nt",	FILNT},
+	{"-ot",	FILOT},
+	{"-ef",	FILEQ},
+	{"!",	UNOT},
+	{"-a",	BAND},
+	{"-o",	BOR},
+	{"(",	LPAREN},
+	{")",	RPAREN},
+	{"",	0}
 };
 
-static struct t_op const *t_wp_op;
 static int nargc;
 static char **t_wp;
 static int parenlevel;
@@ -295,10 +296,10 @@ primary(enum token n)
 		parenlevel--;
 		return res;
 	}
-	if (t_wp_op && t_wp_op->op_type == UNOP) {
+	if (TOKEN_TYPE(n) == UNOP) {
 		/* unary expression */
 		if (--nargc == 0)
-			syntax(t_wp_op->op_text, "argument expected");
+			syntax(NULL, "argument expected"); /* impossible */
 		switch (n) {
 		case STREZ:
 			return strlen(*++t_wp) == 0;
@@ -311,10 +312,8 @@ primary(enum token n)
 		}
 	}
 
-	if (t_lex(nargc > 0 ? t_wp[1] : NULL), t_wp_op && t_wp_op->op_type ==
-	    BINOP) {
+	if (TOKEN_TYPE(t_lex(nargc > 0 ? t_wp[1] : NULL)) == BINOP)
 		return binop();
-	}
 
 	return strlen(*t_wp) > 0;
 }
@@ -322,17 +321,17 @@ primary(enum token n)
 static int
 binop(void)
 {
-	const char *opnd1, *opnd2;
-	struct t_op const *op;
+	const char *opnd1, *op, *opnd2;
+	enum token n;
 
 	opnd1 = *t_wp;
-	(void) t_lex(nargc > 0 ? (--nargc, *++t_wp) : NULL);
-	op = t_wp_op;
+	op = nargc > 0 ? t_wp[1] : NULL;
+	n = t_lex(nargc > 0 ? (--nargc, *++t_wp) : NULL);
 
 	if ((opnd2 = nargc > 0 ? (--nargc, *++t_wp) : NULL) == NULL)
-		syntax(op->op_text, "argument expected");
+		syntax(op, "argument expected");
 
-	switch (op->op_num) {
+	switch (n) {
 	case STREQ:
 		return strcmp(opnd1, opnd2) == 0;
 	case STRNE:
@@ -424,22 +423,20 @@ t_lex(char *s)
 	struct t_op const *op = ops;
 
 	if (s == 0) {
-		t_wp_op = NULL;
 		return EOI;
 	}
 	while (*op->op_text) {
 		if (strcmp(s, op->op_text) == 0) {
-			if (((op->op_type == UNOP || op->op_type == BUNOP)
+			if (((TOKEN_TYPE(op->op_num) == UNOP ||
+			    TOKEN_TYPE(op->op_num) == BUNOP)
 						&& isunopoperand()) ||
 			    (op->op_num == LPAREN && islparenoperand()) ||
 			    (op->op_num == RPAREN && isrparenoperand()))
 				break;
-			t_wp_op = op;
 			return op->op_num;
 		}
 		op++;
 	}
-	t_wp_op = NULL;
 	return OPERAND;
 }
 
@@ -458,7 +455,7 @@ isunopoperand(void)
 	t = *(t_wp + 2);
 	while (*op->op_text) {
 		if (strcmp(s, op->op_text) == 0)
-			return op->op_type == BINOP &&
+			return TOKEN_TYPE(op->op_num) == BINOP &&
 			    (parenlevel == 0 || t[0] != ')' || t[1] != '\0');
 		op++;
 	}
@@ -480,7 +477,7 @@ islparenoperand(void)
 		return 0;
 	while (*op->op_text) {
 		if (strcmp(s, op->op_text) == 0)
-			return op->op_type == BINOP;
+			return TOKEN_TYPE(op->op_num) == BINOP;
 		op++;
 	}
 	return 0;

Modified: projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh
==============================================================================
--- projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh	Thu Dec  5 16:43:53 2013	(r258991)
@@ -64,7 +64,7 @@ child=$!
 # ksh doing work.  (This actually goes one step further and assumes that we
 # catch some non-static function in ksh.)
 #
-script | tee /dev/fd/2 | grep 'ksh`[a-zA-Z_]' > /dev/null
+script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null
 status=$? 
 
 kill $child

Modified: projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh
==============================================================================
--- projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh	Thu Dec  5 16:43:53 2013	(r258991)
@@ -62,7 +62,7 @@ child=$!
 #
 # The only thing we can be sure of here is that ksh is doing some work.
 #
-script | tee /dev/fd/2 | grep -w ksh > /dev/null
+script | tee /dev/fd/2 | egrep -w 'ksh(93)?' > /dev/null
 status=$? 
 
 kill $child

Modified: projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh
==============================================================================
--- projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh	Thu Dec  5 16:43:53 2013	(r258991)
@@ -63,7 +63,7 @@ child=$!
 # This test is essentially the same as that in the ufunc test; see that
 # test for the rationale.
 #
-script | tee /dev/fd/2 | grep 'ksh`[a-zA-Z_]' > /dev/null
+script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null
 status=$? 
 
 kill $child

Modified: projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c
==============================================================================
--- projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -1709,8 +1709,6 @@ dtrace_program_link(dtrace_hdl_t *dtp, d
 		 */
 		return (0);
 	}
-	/* XXX Should get a temp file name here. */
-	snprintf(tfile, sizeof(tfile), "%s.tmp", file);
 #endif
 
 	/*
@@ -1785,9 +1783,11 @@ dtrace_program_link(dtrace_hdl_t *dtp, d
 		    "failed to open %s: %s", file, strerror(errno)));
 	}
 #else
-	if ((fd = open(tfile, O_RDWR | O_CREAT | O_TRUNC, 0666)) == -1)
+	snprintf(tfile, sizeof(tfile), "%s.XXXXXX", file);
+	if ((fd = mkstemp(tfile)) == -1)
 		return (dt_link_error(dtp, NULL, -1, NULL,
-		    "failed to open %s: %s", tfile, strerror(errno)));
+		    "failed to create temporary file %s: %s",
+		    tfile, strerror(errno)));
 #endif
 
 	/*
@@ -1830,13 +1830,15 @@ dtrace_program_link(dtrace_hdl_t *dtp, d
 		status = dump_elf32(dtp, dof, fd);
 
 	if (status != 0 || lseek(fd, 0, SEEK_SET) != 0) {
-#else
-	/* We don't write the ELF header, just the DOF section */
-	if (dt_write(dtp, fd, dof, dof->dofh_filesz) < dof->dofh_filesz) {
-#endif
 		return (dt_link_error(dtp, NULL, -1, NULL,
 		    "failed to write %s: %s", file, strerror(errno)));
 	}
+#else
+	/* We don't write the ELF header, just the DOF section */
+	if (dt_write(dtp, fd, dof, dof->dofh_filesz) < dof->dofh_filesz)
+		return (dt_link_error(dtp, NULL, -1, NULL,
+		    "failed to write %s: %s", tfile, strerror(errno)));
+#endif
 
 	if (!dtp->dt_lazyload) {
 #if defined(sun)

Modified: projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c
==============================================================================
--- projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -487,22 +487,16 @@ static const dt_ident_t _dtrace_globals[
 	DT_VERS_1_0, &dt_idops_func, "void(...)" },
 { "typeref", DT_IDENT_FUNC, 0, DIF_SUBR_TYPEREF, DT_ATTR_STABCMN, DT_VERS_1_1,
 	&dt_idops_func, "uintptr_t *(void *, size_t, string, size_t)" },
-#if defined(sun)
 { "uaddr", DT_IDENT_ACTFUNC, 0, DT_ACT_UADDR, DT_ATTR_STABCMN,
 	DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" },
-#endif
 { "ucaller", DT_IDENT_SCALAR, 0, DIF_VAR_UCALLER, DT_ATTR_STABCMN,
 	DT_VERS_1_2, &dt_idops_type, "uint64_t" },
-#if defined(sun)
 { "ufunc", DT_IDENT_ACTFUNC, 0, DT_ACT_USYM, DT_ATTR_STABCMN,
 	DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" },
-#endif
 { "uid", DT_IDENT_SCALAR, 0, DIF_VAR_UID, DT_ATTR_STABCMN, DT_VERS_1_0,
 	&dt_idops_type, "uid_t" },
-#if defined(sun)
 { "umod", DT_IDENT_ACTFUNC, 0, DT_ACT_UMOD, DT_ATTR_STABCMN,
 	DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" },
-#endif
 { "uregs", DT_IDENT_ARRAY, 0, DIF_VAR_UREGS, DT_ATTR_STABCMN, DT_VERS_1_0,
 	&dt_idops_regs, NULL },
 { "ustack", DT_IDENT_ACTFUNC, 0, DT_ACT_USTACK, DT_ATTR_STABCMN, DT_VERS_1_0,
@@ -510,10 +504,8 @@ static const dt_ident_t _dtrace_globals[
 { "ustackdepth", DT_IDENT_SCALAR, 0, DIF_VAR_USTACKDEPTH,
 	DT_ATTR_STABCMN, DT_VERS_1_2,
 	&dt_idops_type, "uint32_t" },
-#if defined(sun)
 { "usym", DT_IDENT_ACTFUNC, 0, DT_ACT_USYM, DT_ATTR_STABCMN,
 	DT_VERS_1_2, &dt_idops_func, "_usymaddr(uintptr_t)" },
-#endif
 { "vtimestamp", DT_IDENT_SCALAR, 0, DIF_VAR_VTIMESTAMP,
 	DT_ATTR_STABCMN, DT_VERS_1_0,
 	&dt_idops_type, "uint64_t" },

Modified: projects/uefi/contrib/gcc/ChangeLog.gcc43
==============================================================================
--- projects/uefi/contrib/gcc/ChangeLog.gcc43	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/contrib/gcc/ChangeLog.gcc43	Thu Dec  5 16:43:53 2013	(r258991)
@@ -4,18 +4,67 @@
 	* config/arm/unwind-arm.h (__gnu_Unwind_Backtrace): New.
 	* config/arm/unwind-arm.c (__gnu_Unwind_Backtrace): New.
 
+2007-07-12  Geoffrey Keating  <geoffk@apple.com> (r126588)
+
+	* builtins.c (get_pointer_alignment): Honor DECL_ALIGN on a
+	FUNCTION_DECL.
+	* tree.c (build_decl_stat): Move code from here...
+	(make_node_stat): ... to here.  Don't uselessly clear DECL_USER_ALIGN.
+	(expr_align): Honor DECL_ALIGN on a FUNCTION_DECL.  Add comment
+	about using DECL_ALIGN of LABEL_DECL and CONST_DECL.
+	* tree.h (DECL_USER_ALIGN): Fix misplaced comment.
+	* varasm.c (assemble_start_function): Use DECL_ALIGN instead of
+	FUNCTION_BOUNDARY.
+
+2007-07-09  Geoffrey Keating  <geoffk@apple.com> (r126529)
+
+	PR 32617
+	* c-common.c (c_alignof_expr): Look at DECL_ALIGN of
+	FUNCTION_DECLs.
+	(handle_aligned_attribute): Allow use on FUNCTION_DECLs.
+	* varasm.c (assemble_start_function): Honor DECL_ALIGN
+	for FUNCTION_DECLs.  Don't use align_functions_log if
+	DECL_USER_ALIGN.
+	* print-tree.c (print_node): Print DECL_ALIGN and DECL_USER_ALIGN
+	even for FUNCTION_DECLs.
+	* c-decl.c (merge_decls): Propagate DECL_ALIGN even for
+	FUNCTION_DECLs.
+	* tree.h (DECL_ALIGN): Update for new location of 'align'.
+	(DECL_FUNCTION_CODE): Update for new location and name of
+	'function_code'.
+	(DECL_OFFSET_ALIGN): Update for new location of 'off_align'.
+	(struct tree_decl_common): Move 'align' and 'off_align' out
+	of union, ensure they're still on a 32-bit boundary.  Remove
+	other fields in union 'u1'.
+	(struct tree_function_decl): Add field 'function_code' replacing
+	'u1.f' in tree_decl_common.
+	* tree.c (build_decl_stat): Set initial value of DECL_ALIGN.
+	* doc/extend.texi (Function Attributes): Add 'aligned' attribute.
+	(Variable Attributes): Cross-reference 'aligned' attribute
+	to Function Attributes.
+	* flags.h (force_align_functions_log): Delete.
+	* toplev.c (force_align_functions_log): Delete.
+
 2007-06-05  Joerg Wunsch  <j.gnu@uriah.heep.sax.de> (r125346)
 
 	PR preprocessor/23479
 	* doc/extend.texi: Document the 0b-prefixed binary integer
 	constant extension.
 	
-2007-05-31  Eric Christopher  <echristo@apple.com>
+2007-05-31  Eric Christopher  <echristo@apple.com> (r125246)
 
 	* expr.c (convert_move): Assert that we don't have a BLKmode
 	operand.
 	(store_expr): Handle BLKmode moves by calling emit_block_move.
 
+2007-05-27  Eric Christopher  <echristo@apple.com> (r125116)
+
+	* config/rs6000/rs6000.c (rs6000_emit_prologue): Update
+	sp_offset depending on stack size. Save r12 depending
+	on registers we're saving later.
+	(rs6000_emit_epilogue): Update sp_offset depending only
+	on stack size.
+
 2007-05-24  Richard Sandiford  <rsandifo@nildram.co.uk> (r125037)
 
 	* postreload-gcse.c (reg_changed_after_insn_p): New function.
@@ -60,7 +109,7 @@
 	alignment for amdfam10 architecture. Increasing the max loop
 	alignment to 24 bytes.
 
-2007-04-16  Lawrence Crowl  <crowl@google.com>
+2007-04-16  Lawrence Crowl  <crowl@google.com> (r123909)
 
 	* doc/invoke.texi (Debugging Options): Add documentation for the
 	-femit-struct-debug options -femit-struct-debug-baseonly,
@@ -139,7 +188,7 @@
 	* config/i386/i386.c (override_options): Likewise.
 	* doc/invoke.texi: Likewise.
 
-2007-03-12  Seongbae Park <seongbae.park@gmail.com>
+2007-03-12  Seongbae Park <seongbae.park@gmail.com> (r122851)
 
 	* c-decl.c (warn_variable_length_array): New function.
 	Refactored from grokdeclarator to handle warn_vla
@@ -340,6 +389,16 @@
 
 	* config.gcc: Support core2 processor.
 
+2007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org> (r120505)
+
+	PR c/19978
+	* tree.h (TREE_OVERFLOW_P): New.
+	* c-typeck.c (parser_build_unary_op): Warn only if result
+	overflowed and operands did not.
+	(parser_build_binary_op): Likewise.
+	(convert_for_assignment): Remove redundant overflow_warning.
+	* c-common.c (overflow_warning): Don't check or set TREE_OVERFLOW.
+
 2006-12-13  Ian Lance Taylor  <iant@google.com> (r119855)
 
 	PR c++/19564

Modified: projects/uefi/contrib/gcc/builtins.c
==============================================================================
--- projects/uefi/contrib/gcc/builtins.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/contrib/gcc/builtins.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -315,9 +315,7 @@ get_pointer_alignment (tree exp, unsigne
 	      else if (offset)
 		inner = MIN (inner, BITS_PER_UNIT);
 	    }
-	  if (TREE_CODE (exp) == FUNCTION_DECL)
-	    align = FUNCTION_BOUNDARY;
-	  else if (DECL_P (exp))
+	  if (DECL_P (exp))
 	    align = MIN (inner, DECL_ALIGN (exp));
 #ifdef CONSTANT_ALIGNMENT
 	  else if (CONSTANT_CLASS_P (exp))

Modified: projects/uefi/contrib/gcc/c-common.c
==============================================================================
--- projects/uefi/contrib/gcc/c-common.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/contrib/gcc/c-common.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -916,39 +916,45 @@ constant_expression_warning (tree value)
     pedwarn ("overflow in constant expression");
 }
 
-/* Print a warning if an expression had overflow in folding.
+/* Print a warning if an expression had overflow in folding and its
+   operands hadn't.
+
    Invoke this function on every expression that
    (1) appears in the source code, and
-   (2) might be a constant expression that overflowed, and
+   (2) is a constant expression that overflowed, and
    (3) is not already checked by convert_and_check;
-   however, do not invoke this function on operands of explicit casts.  */
+   however, do not invoke this function on operands of explicit casts
+   or when the expression is the result of an operator and any operand
+   already overflowed.  */
 
 void
 overflow_warning (tree value)
 {
-  if ((TREE_CODE (value) == INTEGER_CST
-       || (TREE_CODE (value) == COMPLEX_CST
-	   && TREE_CODE (TREE_REALPART (value)) == INTEGER_CST))
-      && TREE_OVERFLOW (value))
-    {
-      TREE_OVERFLOW (value) = 0;
-      if (skip_evaluation == 0)
-	warning (OPT_Woverflow, "integer overflow in expression");
-    }
-  else if ((TREE_CODE (value) == REAL_CST
-	    || (TREE_CODE (value) == COMPLEX_CST
-		&& TREE_CODE (TREE_REALPART (value)) == REAL_CST))
-	   && TREE_OVERFLOW (value))
-    {
-      TREE_OVERFLOW (value) = 0;
-      if (skip_evaluation == 0)
-	warning (OPT_Woverflow, "floating point overflow in expression");
-    }
-  else if (TREE_CODE (value) == VECTOR_CST && TREE_OVERFLOW (value))
-    {
-      TREE_OVERFLOW (value) = 0;
-      if (skip_evaluation == 0)
-	warning (OPT_Woverflow, "vector overflow in expression");
+  if (skip_evaluation) return;
+
+  switch (TREE_CODE (value))
+    {
+    case INTEGER_CST:
+      warning (OPT_Woverflow, "integer overflow in expression");
+      break;
+      
+    case REAL_CST:
+      warning (OPT_Woverflow, "floating point overflow in expression");
+      break;
+      
+    case VECTOR_CST:
+      warning (OPT_Woverflow, "vector overflow in expression");
+      break;
+      
+    case COMPLEX_CST:
+      if (TREE_CODE (TREE_REALPART (value)) == INTEGER_CST)
+	warning (OPT_Woverflow, "complex integer overflow in expression");
+      else if (TREE_CODE (TREE_REALPART (value)) == REAL_CST)
+	warning (OPT_Woverflow, "complex floating point overflow in expression");
+      break;
+
+    default:
+      break;
     }
 }
 
@@ -2989,16 +2995,16 @@ c_sizeof_or_alignof_type (tree type, boo
 }
 
 /* Implement the __alignof keyword: Return the minimum required
-   alignment of EXPR, measured in bytes.  For VAR_DECL's and
-   FIELD_DECL's return DECL_ALIGN (which can be set from an
-   "aligned" __attribute__ specification).  */
+   alignment of EXPR, measured in bytes.  For VAR_DECLs,
+   FUNCTION_DECLs and FIELD_DECLs return DECL_ALIGN (which can be set
+   from an "aligned" __attribute__ specification).  */
 
 tree
 c_alignof_expr (tree expr)
 {
   tree t;
 
-  if (TREE_CODE (expr) == VAR_DECL)
+  if (VAR_OR_FUNCTION_DECL_P (expr))
     t = size_int (DECL_ALIGN_UNIT (expr));
 
   else if (TREE_CODE (expr) == COMPONENT_REF
@@ -4803,12 +4809,24 @@ handle_aligned_attribute (tree *node, tr
       TYPE_ALIGN (*type) = (1 << i) * BITS_PER_UNIT;
       TYPE_USER_ALIGN (*type) = 1;
     }
-  else if (TREE_CODE (decl) != VAR_DECL
+  else if (! VAR_OR_FUNCTION_DECL_P (decl)
 	   && TREE_CODE (decl) != FIELD_DECL)
     {
       error ("alignment may not be specified for %q+D", decl);
       *no_add_attrs = true;
     }
+  else if (TREE_CODE (decl) == FUNCTION_DECL
+	   && DECL_ALIGN (decl) > (1 << i) * BITS_PER_UNIT)
+    {
+      if (DECL_USER_ALIGN (decl))
+	error ("alignment for %q+D was previously specified as %d "
+	       "and may not be decreased", decl,
+	       DECL_ALIGN (decl) / BITS_PER_UNIT);
+      else
+	error ("alignment for %q+D must be at least %d", decl,
+	       DECL_ALIGN (decl) / BITS_PER_UNIT);
+      *no_add_attrs = true;
+    }
   else
     {
       DECL_ALIGN (decl) = (1 << i) * BITS_PER_UNIT;

Modified: projects/uefi/contrib/gcc/c-decl.c
==============================================================================
--- projects/uefi/contrib/gcc/c-decl.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/contrib/gcc/c-decl.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -1690,12 +1690,11 @@ merge_decls (tree newdecl, tree olddecl,
       DECL_SIZE (newdecl) = DECL_SIZE (olddecl);
       DECL_SIZE_UNIT (newdecl) = DECL_SIZE_UNIT (olddecl);
       DECL_MODE (newdecl) = DECL_MODE (olddecl);
-      if (TREE_CODE (olddecl) != FUNCTION_DECL)
-	if (DECL_ALIGN (olddecl) > DECL_ALIGN (newdecl))
-	  {
-	    DECL_ALIGN (newdecl) = DECL_ALIGN (olddecl);
-	    DECL_USER_ALIGN (newdecl) |= DECL_ALIGN (olddecl);
-	  }
+      if (DECL_ALIGN (olddecl) > DECL_ALIGN (newdecl))
+	{
+	  DECL_ALIGN (newdecl) = DECL_ALIGN (olddecl);
+	  DECL_USER_ALIGN (newdecl) |= DECL_ALIGN (olddecl);
+	}
     }
 
 

Modified: projects/uefi/contrib/gcc/c-typeck.c
==============================================================================
--- projects/uefi/contrib/gcc/c-typeck.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/contrib/gcc/c-typeck.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -2616,7 +2616,10 @@ parser_build_unary_op (enum tree_code co
 
   result.original_code = ERROR_MARK;
   result.value = build_unary_op (code, arg.value, 0);
-  overflow_warning (result.value);
+  
+  if (TREE_OVERFLOW_P (result.value) && !TREE_OVERFLOW_P (arg.value))
+    overflow_warning (result.value);
+
   return result;
 }
 
@@ -2660,7 +2663,10 @@ parser_build_binary_op (enum tree_code c
     warning (OPT_Waddress, 
              "comparison with string literal results in unspecified behaviour");
 
-  overflow_warning (result.value);
+  if (TREE_OVERFLOW_P (result.value) 
+      && !TREE_OVERFLOW_P (arg1.value) 
+      && !TREE_OVERFLOW_P (arg2.value))
+    overflow_warning (result.value);
 
   return result;
 }
@@ -3847,10 +3853,7 @@ convert_for_assignment (tree type, tree 
     }
 
   if (TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (rhstype))
-    {
-      overflow_warning (rhs);
-      return rhs;
-    }
+    return rhs;
 
   if (coder == VOID_TYPE)
     {

Modified: projects/uefi/contrib/gcc/config/rs6000/rs6000.c
==============================================================================
--- projects/uefi/contrib/gcc/config/rs6000/rs6000.c	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/contrib/gcc/config/rs6000/rs6000.c	Thu Dec  5 16:43:53 2013	(r258991)
@@ -14704,8 +14704,17 @@ rs6000_emit_prologue (void)
   if (!WORLD_SAVE_P (info) && info->push_p
       && !(DEFAULT_ABI == ABI_V4 || current_function_calls_eh_return))
     {
-      rs6000_emit_allocate_stack (info->total_size, FALSE);
+      if (info->total_size < 32767)
       sp_offset = info->total_size;
+      else
+	frame_reg_rtx = frame_ptr_rtx;
+      rs6000_emit_allocate_stack (info->total_size,
+				  (frame_reg_rtx != sp_reg_rtx
+				   && ((info->altivec_size != 0)
+				       || (info->vrsave_mask != 0)
+				       )));
+      if (frame_reg_rtx != sp_reg_rtx)
+	rs6000_emit_stack_tie ();
     }
 
   /* Set frame pointer, if needed.  */
@@ -15046,8 +15055,7 @@ rs6000_emit_epilogue (int sibcall)
     }
 
   /* Set sp_offset based on the stack push from the prologue.  */
-  if ((DEFAULT_ABI == ABI_V4 || current_function_calls_eh_return)
-      && info->total_size < 32767)
+  if (info->total_size < 32767)
     sp_offset = info->total_size;
 
   /* Restore AltiVec registers if needed.  */

Modified: projects/uefi/contrib/gcc/cp/ChangeLog.gcc43
==============================================================================
--- projects/uefi/contrib/gcc/cp/ChangeLog.gcc43	Thu Dec  5 16:29:22 2013	(r258990)
+++ projects/uefi/contrib/gcc/cp/ChangeLog.gcc43	Thu Dec  5 16:43:53 2013	(r258991)
@@ -1,3 +1,12 @@
+2007-07-09  Geoffrey Keating  <geoffk@apple.com> (r126529)
+
+	PR 32617
+	* decl.c (cxx_init_decl_processing): Don't set
+	force_align_functions_log.
+	(grokfndecl): Honour ptrmemfunc_vbit_in_pfn.
+	* typeck.c (cxx_alignof_expr): When alignof is used on a plain
+	FUNCTION_DECL, return its alignment.
+
 2007-06-28  Geoffrey Keating  <geoffk@apple.com> (r126080)
 
 	* decl2.c (start_objects): Mark constructor-runnning function
@@ -9,6 +18,13 @@
 	* decl2.c (determine_visibility): Remove duplicate code for
 	handling type info.
 
+2007-05-05  Geoffrey Keating  <geoffk@apple.com> (r124467)
+
+	PR 31775
+	* mangle.c (write_mangled_name): Mangle static variable names.
+	(write_unqualified_name): Use local-source-name for
+	namespace-scope static variables.
+
 2007-03-12  Seongbae Park <seongbae.park@gmail.com> (r122851)
 
 	* decl.c (compute_array_index_type): New warning flag warn_vla.
@@ -20,6 +36,12 @@
 	TREE_OVERFLOW_P is true for the result and not for any of the
 	operands.
 	
+2007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR c/19978
+	* semantics.c (finish_unary_op_expr): Warn only if result
+	overflowed and operands did not.
+
 2006-10-31  Geoffrey Keating  <geoffk@apple.com> (r118360)
 
 	* name-lookup.c (get_anonymous_namespace_name): New.

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

From owner-svn-src-projects@FreeBSD.ORG  Thu Dec  5 23:19:02 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8955B1BA;
 Thu,  5 Dec 2013 23:19:02 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 71B5113C6;
 Thu,  5 Dec 2013 23:19:02 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB5NJ2MO019597;
 Thu, 5 Dec 2013 23:19:02 GMT (envelope-from emaste@svn.freebsd.org)
Received: (from emaste@localhost)
 by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB5NItA3019250;
 Thu, 5 Dec 2013 23:18:55 GMT (envelope-from emaste@svn.freebsd.org)
Message-Id: <201312052318.rB5NItA3019250@svn.freebsd.org>
From: Ed Maste <emaste@FreeBSD.org>
Date: Thu, 5 Dec 2013 23:18:55 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r259020 - in projects/uefi: bin/test contrib/gcc
 contrib/gcc/config/i386 contrib/gcc/config/rs6000 contrib/gcc/cp
 contrib/gcc/doc etc/mtree include sys/amd64/amd64 sys/conf sys/dev/drm2...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Dec 2013 23:19:02 -0000

Author: emaste
Date: Thu Dec  5 23:18:54 2013
New Revision: 259020
URL: http://svnweb.freebsd.org/changeset/base/259020

Log:
  Merge from HEAD at r259019
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/uefi/sys/dev/fb/fb_if.m
     - copied unchanged from r259019, head/sys/dev/fb/fb_if.m
  projects/uefi/sys/dev/fb/fbd.c
     - copied unchanged from r259019, head/sys/dev/fb/fbd.c
  projects/uefi/sys/dev/vt/
     - copied from r259019, head/sys/dev/vt/
  projects/uefi/sys/kern/subr_terminal.c
     - copied unchanged from r259019, head/sys/kern/subr_terminal.c
  projects/uefi/sys/sys/terminal.h
     - copied unchanged from r259019, head/sys/sys/terminal.h
  projects/uefi/tools/tools/vt/
     - copied from r259019, head/tools/tools/vt/
Modified:
  projects/uefi/bin/test/test.c
  projects/uefi/contrib/gcc/ChangeLog.gcc43
  projects/uefi/contrib/gcc/c-common.c
  projects/uefi/contrib/gcc/c-common.h
  projects/uefi/contrib/gcc/c-opts.c
  projects/uefi/contrib/gcc/c-typeck.c
  projects/uefi/contrib/gcc/c.opt
  projects/uefi/contrib/gcc/config/i386/i386.c
  projects/uefi/contrib/gcc/config/rs6000/altivec.h
  projects/uefi/contrib/gcc/config/rs6000/rs6000-c.c
  projects/uefi/contrib/gcc/cp/ChangeLog.gcc43
  projects/uefi/contrib/gcc/cp/call.c
  projects/uefi/contrib/gcc/cp/typeck.c
  projects/uefi/contrib/gcc/doc/invoke.texi
  projects/uefi/etc/mtree/BSD.include.dist
  projects/uefi/include/Makefile
  projects/uefi/sys/amd64/amd64/machdep.c
  projects/uefi/sys/conf/files
  projects/uefi/sys/conf/files.amd64
  projects/uefi/sys/conf/files.arm
  projects/uefi/sys/conf/files.i386
  projects/uefi/sys/conf/files.powerpc
  projects/uefi/sys/conf/files.sparc64
  projects/uefi/sys/conf/kmod.mk
  projects/uefi/sys/conf/options
  projects/uefi/sys/dev/drm2/drm_fb_helper.c
  projects/uefi/sys/dev/drm2/drm_os_freebsd.h
  projects/uefi/sys/dev/drm2/i915/i915_drv.c
  projects/uefi/sys/dev/drm2/i915/intel_fb.c
  projects/uefi/sys/dev/drm2/radeon/radeon.h
  projects/uefi/sys/dev/drm2/radeon/radeon_drv.c
  projects/uefi/sys/dev/drm2/radeon/radeon_fb.c
  projects/uefi/sys/dev/drm2/radeon/radeon_pm.c
  projects/uefi/sys/i386/i386/machdep.c
  projects/uefi/sys/modules/drm2/i915kms/Makefile
  projects/uefi/sys/modules/drm2/radeonkms/Makefile
  projects/uefi/sys/pc98/pc98/machdep.c
  projects/uefi/sys/powerpc/fpu/fpu_emu.c
  projects/uefi/sys/powerpc/include/pmap.h
  projects/uefi/sys/powerpc/powerpc/platform.c
  projects/uefi/sys/powerpc/pseries/platform_chrp.c
  projects/uefi/sys/security/audit/audit_bsm_klib.c
  projects/uefi/sys/sparc64/sparc64/machdep.c
  projects/uefi/sys/sys/consio.h
  projects/uefi/sys/sys/eventhandler.h
  projects/uefi/sys/sys/fbio.h
  projects/uefi/sys/sys/tty.h
  projects/uefi/sys/teken/teken.c
  projects/uefi/sys/teken/teken.h
  projects/uefi/sys/teken/teken_subr.h
  projects/uefi/sys/x86/include/mptable.h
  projects/uefi/usr.sbin/bhyve/mptbl.c
Directory Properties:
  projects/uefi/   (props changed)
  projects/uefi/contrib/gcc/   (props changed)
  projects/uefi/etc/   (props changed)
  projects/uefi/include/   (props changed)
  projects/uefi/sys/   (props changed)
  projects/uefi/sys/conf/   (props changed)
  projects/uefi/usr.sbin/bhyve/   (props changed)

Modified: projects/uefi/bin/test/test.c
==============================================================================
--- projects/uefi/bin/test/test.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/bin/test/test.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -172,7 +172,7 @@ static char **t_wp;
 static int parenlevel;
 
 static int	aexpr(enum token);
-static int	binop(void);
+static int	binop(enum token);
 static int	equalf(const char *, const char *);
 static int	filstat(char *, enum token);
 static int	getn(const char *);
@@ -312,21 +312,20 @@ primary(enum token n)
 		}
 	}
 
-	if (TOKEN_TYPE(t_lex(nargc > 0 ? t_wp[1] : NULL)) == BINOP)
-		return binop();
+	nn = t_lex(nargc > 0 ? t_wp[1] : NULL);
+	if (TOKEN_TYPE(nn) == BINOP)
+		return binop(nn);
 
 	return strlen(*t_wp) > 0;
 }
 
 static int
-binop(void)
+binop(enum token n)
 {
 	const char *opnd1, *op, *opnd2;
-	enum token n;
 
 	opnd1 = *t_wp;
-	op = nargc > 0 ? t_wp[1] : NULL;
-	n = t_lex(nargc > 0 ? (--nargc, *++t_wp) : NULL);
+	op = nargc > 0 ? (--nargc, *++t_wp) : NULL;
 
 	if ((opnd2 = nargc > 0 ? (--nargc, *++t_wp) : NULL) == NULL)
 		syntax(op, "argument expected");

Modified: projects/uefi/contrib/gcc/ChangeLog.gcc43
==============================================================================
--- projects/uefi/contrib/gcc/ChangeLog.gcc43	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/contrib/gcc/ChangeLog.gcc43	Thu Dec  5 23:18:54 2013	(r259020)
@@ -389,6 +389,36 @@
 
 	* config.gcc: Support core2 processor.
 
+2007-01-11  Joseph Myers  <joseph@codesourcery.com> (r120688)
+
+	* c-common.c (vector_types_convertible_p): Treat opaque types as
+	always convertible if they have the same size, but not otherwise.
+
+2007-01-08  Mark Shinwell  <shinwell@codesourcery.com> (r120572)
+
+	* c.opt: Add -flax-vector-conversions.
+	* c-typeck.c (convert_for_assignment): Pass flag to
+	vector_types_convertible_p to allow emission of note.
+	(digest_init): Likewise.
+	* c-opts.c: Handle -flax-vector-conversions.
+	* c-common.c (flag_lax_vector_conversions): New.
+	(vector_types_convertible_p): Unless -flax-vector conversions
+	has been passed, disallow conversions between vectors with
+	differing numbers of subparts and/or element types.  If such
+	a conversion is disallowed, possibly emit a note on the first
+	occasion only to inform the user of -flax-vector-conversions.
+	The new last argument specifies this.
+	* c-common.h (flag_lax_vector_conversions): New.
+	(vector_types_convertible_p): Add extra argument.
+	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
+	char_type_node for V*QI type vectors.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins):
+	Update to satisfy new typechecking rules.
+	* config/rs6000/altivec.h (vec_cmple): Use vec_cmpge, for both
+	C and C++ variants.
+	* doc/invoke.texi (C Dialect Options): Document
+	-flax-vector-conversions.
+
 2007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org> (r120505)
 
 	PR c/19978

Modified: projects/uefi/contrib/gcc/c-common.c
==============================================================================
--- projects/uefi/contrib/gcc/c-common.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/contrib/gcc/c-common.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -254,6 +254,10 @@ int flag_short_double;
 
 int flag_short_wchar;
 
+/* Nonzero means allow implicit conversions between vectors with
+   differing numbers of subparts and/or differing element types.  */
+int flag_lax_vector_conversions;
+
 /* Nonzero means allow Microsoft extensions without warnings or errors.  */
 int flag_ms_extensions;
 
@@ -1095,18 +1099,45 @@ constant_fits_type_p (tree c, tree type)
   return !TREE_OVERFLOW (c);
 }
 
-/* Nonzero if vector types T1 and T2 can be converted to each other
-   without an explicit cast.  */
-int
-vector_types_convertible_p (tree t1, tree t2)
+
+/* True if vector types T1 and T2 can be converted to each other
+   without an explicit cast.  If EMIT_LAX_NOTE is true, and T1 and T2
+   can only be converted with -flax-vector-conversions yet that is not
+   in effect, emit a note telling the user about that option if such
+   a note has not previously been emitted.  */
+bool
+vector_types_convertible_p (tree t1, tree t2, bool emit_lax_note)
 {
-  return targetm.vector_opaque_p (t1)
-	 || targetm.vector_opaque_p (t2)
-	 || (tree_int_cst_equal (TYPE_SIZE (t1), TYPE_SIZE (t2))
-	     && (TREE_CODE (TREE_TYPE (t1)) != REAL_TYPE ||
-		 TYPE_PRECISION (t1) == TYPE_PRECISION (t2))
-	     && INTEGRAL_TYPE_P (TREE_TYPE (t1))
-		== INTEGRAL_TYPE_P (TREE_TYPE (t2)));
+  static bool emitted_lax_note = false;
+  bool convertible_lax;
+
+  if ((targetm.vector_opaque_p (t1) || targetm.vector_opaque_p (t2))
+      && tree_int_cst_equal (TYPE_SIZE (t1), TYPE_SIZE (t2)))
+    return true;
+
+  convertible_lax =
+    (tree_int_cst_equal (TYPE_SIZE (t1), TYPE_SIZE (t2))
+     && (TREE_CODE (TREE_TYPE (t1)) != REAL_TYPE ||
+	 TYPE_PRECISION (t1) == TYPE_PRECISION (t2))
+     && (INTEGRAL_TYPE_P (TREE_TYPE (t1))
+	 == INTEGRAL_TYPE_P (TREE_TYPE (t2))));
+
+  if (!convertible_lax || flag_lax_vector_conversions)
+    return convertible_lax;
+
+  if (TYPE_VECTOR_SUBPARTS (t1) == TYPE_VECTOR_SUBPARTS (t2)
+      && comptypes (TREE_TYPE (t1), TREE_TYPE (t2)))
+    return true;
+
+  if (emit_lax_note && !emitted_lax_note)
+    {
+      emitted_lax_note = true;
+      inform ("use -flax-vector-conversions to permit "
+              "conversions between vectors with differing "
+              "element types or numbers of subparts");
+    }
+
+  return false;
 }
 
 /* Convert EXPR to TYPE, warning about conversion problems with constants.

Modified: projects/uefi/contrib/gcc/c-common.h
==============================================================================
--- projects/uefi/contrib/gcc/c-common.h	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/contrib/gcc/c-common.h	Thu Dec  5 23:18:54 2013	(r259020)
@@ -389,6 +389,10 @@ extern int flag_short_double;
 
 extern int flag_short_wchar;
 
+/* Nonzero means allow implicit conversions between vectors with
+   differing numbers of subparts and/or differing element types.  */
+extern int flag_lax_vector_conversions;
+
 /* Nonzero means allow Microsoft extensions without warnings or errors.  */
 extern int flag_ms_extensions;
 
@@ -791,7 +795,7 @@ extern tree finish_label_address_expr (t
 extern tree lookup_label (tree);
 extern tree lookup_name (tree);
 
-extern int vector_types_convertible_p (tree t1, tree t2);
+extern bool vector_types_convertible_p (tree t1, tree t2, bool emit_lax_note);
 
 extern rtx c_expand_expr (tree, rtx, enum machine_mode, int, rtx *);
 

Modified: projects/uefi/contrib/gcc/c-opts.c
==============================================================================
--- projects/uefi/contrib/gcc/c-opts.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/contrib/gcc/c-opts.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -710,6 +710,10 @@ c_common_handle_option (size_t scode, co
       flag_implicit_templates = value;
       break;
 
+    case OPT_flax_vector_conversions:
+      flag_lax_vector_conversions = value;
+      break;
+
     case OPT_fms_extensions:
       flag_ms_extensions = value;
       break;

Modified: projects/uefi/contrib/gcc/c-typeck.c
==============================================================================
--- projects/uefi/contrib/gcc/c-typeck.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/contrib/gcc/c-typeck.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -3893,7 +3893,7 @@ convert_for_assignment (tree type, tree 
     }
   /* Some types can interconvert without explicit casts.  */
   else if (codel == VECTOR_TYPE && coder == VECTOR_TYPE
-	   && vector_types_convertible_p (type, TREE_TYPE (rhs)))
+	   && vector_types_convertible_p (type, TREE_TYPE (rhs), true))
     return convert (type, rhs);
   /* Arithmetic types all interconvert, and enum is treated like int.  */
   else if ((codel == INTEGER_TYPE || codel == REAL_TYPE
@@ -4629,7 +4629,7 @@ digest_init (tree type, tree init, bool 
      below and handle as a constructor.  */
   if (code == VECTOR_TYPE
       && TREE_CODE (TREE_TYPE (inside_init)) == VECTOR_TYPE
-      && vector_types_convertible_p (TREE_TYPE (inside_init), type)
+      && vector_types_convertible_p (TREE_TYPE (inside_init), type, true)
       && TREE_CONSTANT (inside_init))
     {
       if (TREE_CODE (inside_init) == VECTOR_CST

Modified: projects/uefi/contrib/gcc/c.opt
==============================================================================
--- projects/uefi/contrib/gcc/c.opt	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/contrib/gcc/c.opt	Thu Dec  5 23:18:54 2013	(r259020)
@@ -584,6 +584,10 @@ Inject friend functions into enclosing n
 flabels-ok
 C++ ObjC++
 
+flax-vector-conversions
+C ObjC C++ ObjC++
+Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types.
+
 fms-extensions
 C ObjC C++ ObjC++
 Don't warn about uses of Microsoft extensions

Modified: projects/uefi/contrib/gcc/config/i386/i386.c
==============================================================================
--- projects/uefi/contrib/gcc/config/i386/i386.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/contrib/gcc/config/i386/i386.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -15408,7 +15408,7 @@ ix86_init_mmx_sse_builtins (void)
   const struct builtin_description * d;
   size_t i;
 
-  tree V16QI_type_node = build_vector_type_for_mode (intQI_type_node, V16QImode);
+  tree V16QI_type_node = build_vector_type_for_mode (char_type_node, V16QImode);
   tree V2SI_type_node = build_vector_type_for_mode (intSI_type_node, V2SImode);
   tree V2SF_type_node = build_vector_type_for_mode (float_type_node, V2SFmode);
   tree V2DI_type_node
@@ -15417,7 +15417,7 @@ ix86_init_mmx_sse_builtins (void)
   tree V4SF_type_node = build_vector_type_for_mode (float_type_node, V4SFmode);
   tree V4SI_type_node = build_vector_type_for_mode (intSI_type_node, V4SImode);
   tree V4HI_type_node = build_vector_type_for_mode (intHI_type_node, V4HImode);
-  tree V8QI_type_node = build_vector_type_for_mode (intQI_type_node, V8QImode);
+  tree V8QI_type_node = build_vector_type_for_mode (char_type_node, V8QImode);
   tree V8HI_type_node = build_vector_type_for_mode (intHI_type_node, V8HImode);
 
   tree pchar_type_node = build_pointer_type (char_type_node);

Modified: projects/uefi/contrib/gcc/config/rs6000/altivec.h
==============================================================================
--- projects/uefi/contrib/gcc/config/rs6000/altivec.h	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/contrib/gcc/config/rs6000/altivec.h	Thu Dec  5 23:18:54 2013	(r259020)
@@ -332,7 +332,7 @@ NAME (T a1, U a2) \
 __altivec_binary_pred(vec_cmplt,
   __builtin_vec_cmpgt (a2, a1))
 __altivec_binary_pred(vec_cmple,
-  __builtin_altivec_cmpge (a2, a1))
+  __builtin_vec_cmpge (a2, a1))
 
 __altivec_scalar_pred(vec_all_in,
   __builtin_altivec_vcmpbfp_p (__CR6_EQ, a1, a2))
@@ -402,7 +402,7 @@ __altivec_scalar_pred(vec_any_nle,
 #undef __altivec_binary_pred
 #else
 #define vec_cmplt(a1, a2) __builtin_vec_cmpgt ((a2), (a1))
-#define vec_cmple(a1, a2) __builtin_altivec_vcmpgefp ((a2), (a1))
+#define vec_cmple(a1, a2) __builtin_vec_cmpge ((a2), (a1))
 
 #define vec_all_in(a1, a2) __builtin_altivec_vcmpbfp_p (__CR6_EQ, (a1), (a2))
 #define vec_any_out(a1, a2) __builtin_altivec_vcmpbfp_p (__CR6_EQ_REV, (a1), (a2))

Modified: projects/uefi/contrib/gcc/config/rs6000/rs6000-c.c
==============================================================================
--- projects/uefi/contrib/gcc/config/rs6000/rs6000-c.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/contrib/gcc/config/rs6000/rs6000-c.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -222,17 +222,17 @@ const struct altivec_builtin_types altiv
   { ALTIVEC_BUILTIN_VEC_UNPACKH, ALTIVEC_BUILTIN_VUPKHSB,
     RS6000_BTI_V8HI, RS6000_BTI_V16QI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_UNPACKH, ALTIVEC_BUILTIN_VUPKHSB,
-    RS6000_BTI_V8HI, RS6000_BTI_bool_V16QI, 0, 0 },
+    RS6000_BTI_bool_V8HI, RS6000_BTI_bool_V16QI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_UNPACKH, ALTIVEC_BUILTIN_VUPKHSH,
     RS6000_BTI_V4SI, RS6000_BTI_V8HI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_UNPACKH, ALTIVEC_BUILTIN_VUPKHSH,
-    RS6000_BTI_V4SI, RS6000_BTI_bool_V8HI, 0, 0 },
+    RS6000_BTI_bool_V4SI, RS6000_BTI_bool_V8HI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_UNPACKH, ALTIVEC_BUILTIN_VUPKHPX,
     RS6000_BTI_unsigned_V4SI, RS6000_BTI_pixel_V8HI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_VUPKHSH, ALTIVEC_BUILTIN_VUPKHSH,
     RS6000_BTI_V4SI, RS6000_BTI_V8HI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_VUPKHSH, ALTIVEC_BUILTIN_VUPKHSH,
-    RS6000_BTI_V4SI, RS6000_BTI_bool_V8HI, 0, 0 },
+    RS6000_BTI_bool_V4SI, RS6000_BTI_bool_V8HI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_VUPKHPX, ALTIVEC_BUILTIN_VUPKHPX,
     RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V8HI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_VUPKHPX, ALTIVEC_BUILTIN_VUPKHPX,
@@ -240,17 +240,17 @@ const struct altivec_builtin_types altiv
   { ALTIVEC_BUILTIN_VEC_VUPKHSB, ALTIVEC_BUILTIN_VUPKHSB,
     RS6000_BTI_V8HI, RS6000_BTI_V16QI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_VUPKHSB, ALTIVEC_BUILTIN_VUPKHSB,
-    RS6000_BTI_V8HI, RS6000_BTI_bool_V16QI, 0, 0 },
+    RS6000_BTI_bool_V8HI, RS6000_BTI_bool_V16QI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VUPKLSB,
     RS6000_BTI_V8HI, RS6000_BTI_V16QI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VUPKLSB,
-    RS6000_BTI_V8HI, RS6000_BTI_bool_V16QI, 0, 0 },
+    RS6000_BTI_bool_V8HI, RS6000_BTI_bool_V16QI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VUPKLPX,
     RS6000_BTI_unsigned_V4SI, RS6000_BTI_pixel_V8HI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VUPKLSH,
     RS6000_BTI_V4SI, RS6000_BTI_V8HI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VUPKLSH,
-    RS6000_BTI_V4SI, RS6000_BTI_bool_V8HI, 0, 0 },
+    RS6000_BTI_bool_V4SI, RS6000_BTI_bool_V8HI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_VUPKLPX, ALTIVEC_BUILTIN_VUPKLPX,
     RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V8HI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_VUPKLPX, ALTIVEC_BUILTIN_VUPKLPX,
@@ -258,11 +258,11 @@ const struct altivec_builtin_types altiv
   { ALTIVEC_BUILTIN_VEC_VUPKLSH, ALTIVEC_BUILTIN_VUPKLSH,
     RS6000_BTI_V4SI, RS6000_BTI_V8HI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_VUPKLSH, ALTIVEC_BUILTIN_VUPKLSH,
-    RS6000_BTI_V4SI, RS6000_BTI_bool_V8HI, 0, 0 },
+    RS6000_BTI_bool_V4SI, RS6000_BTI_bool_V8HI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_VUPKLSB, ALTIVEC_BUILTIN_VUPKLSB,
     RS6000_BTI_V8HI, RS6000_BTI_V16QI, 0, 0 },
   { ALTIVEC_BUILTIN_VEC_VUPKLSB, ALTIVEC_BUILTIN_VUPKLSB,
-    RS6000_BTI_V8HI, RS6000_BTI_bool_V16QI, 0, 0 },
+    RS6000_BTI_bool_V8HI, RS6000_BTI_bool_V16QI, 0, 0 },
 
   /* Binary AltiVec builtins.  */
   { ALTIVEC_BUILTIN_VEC_ADD, ALTIVEC_BUILTIN_VADDUBM,
@@ -576,31 +576,23 @@ const struct altivec_builtin_types altiv
   { ALTIVEC_BUILTIN_VEC_CMPEQ, ALTIVEC_BUILTIN_VCMPEQFP,
     RS6000_BTI_bool_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPEQFP, ALTIVEC_BUILTIN_VCMPEQFP,
-    RS6000_BTI_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 },
-  { ALTIVEC_BUILTIN_VEC_VCMPEQUW, ALTIVEC_BUILTIN_VCMPEQUW,
-    RS6000_BTI_V4SI, RS6000_BTI_V4SI, RS6000_BTI_V4SI, 0 },
-  { ALTIVEC_BUILTIN_VEC_VCMPEQUW, ALTIVEC_BUILTIN_VCMPEQUW,
-    RS6000_BTI_V4SI, RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V4SI, 0 },
+    RS6000_BTI_bool_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 },
+
   { ALTIVEC_BUILTIN_VEC_VCMPEQUW, ALTIVEC_BUILTIN_VCMPEQUW,
     RS6000_BTI_bool_V4SI, RS6000_BTI_V4SI, RS6000_BTI_V4SI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPEQUW, ALTIVEC_BUILTIN_VCMPEQUW,
     RS6000_BTI_bool_V4SI, RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V4SI, 0 },
-  { ALTIVEC_BUILTIN_VEC_VCMPEQUH, ALTIVEC_BUILTIN_VCMPEQUH,
-    RS6000_BTI_V8HI, RS6000_BTI_V8HI, RS6000_BTI_V8HI, 0 },
-  { ALTIVEC_BUILTIN_VEC_VCMPEQUH, ALTIVEC_BUILTIN_VCMPEQUH,
-    RS6000_BTI_V8HI, RS6000_BTI_unsigned_V8HI, RS6000_BTI_unsigned_V8HI, 0 },
+
   { ALTIVEC_BUILTIN_VEC_VCMPEQUH, ALTIVEC_BUILTIN_VCMPEQUH,
     RS6000_BTI_bool_V8HI, RS6000_BTI_V8HI, RS6000_BTI_V8HI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPEQUH, ALTIVEC_BUILTIN_VCMPEQUH,
     RS6000_BTI_bool_V8HI, RS6000_BTI_unsigned_V8HI, RS6000_BTI_unsigned_V8HI, 0 },
-  { ALTIVEC_BUILTIN_VEC_VCMPEQUB, ALTIVEC_BUILTIN_VCMPEQUB,
-    RS6000_BTI_V16QI, RS6000_BTI_V16QI, RS6000_BTI_V16QI, 0 },
-  { ALTIVEC_BUILTIN_VEC_VCMPEQUB, ALTIVEC_BUILTIN_VCMPEQUB,
-    RS6000_BTI_V16QI, RS6000_BTI_unsigned_V16QI, RS6000_BTI_unsigned_V16QI, 0 },
+
   { ALTIVEC_BUILTIN_VEC_VCMPEQUB, ALTIVEC_BUILTIN_VCMPEQUB,
     RS6000_BTI_bool_V16QI, RS6000_BTI_V16QI, RS6000_BTI_V16QI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPEQUB, ALTIVEC_BUILTIN_VCMPEQUB,
     RS6000_BTI_bool_V16QI, RS6000_BTI_unsigned_V16QI, RS6000_BTI_unsigned_V16QI, 0 },
+
   { ALTIVEC_BUILTIN_VEC_CMPGE, ALTIVEC_BUILTIN_VCMPGEFP,
     RS6000_BTI_bool_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 },
   { ALTIVEC_BUILTIN_VEC_CMPGT, ALTIVEC_BUILTIN_VCMPGTUB,
@@ -618,29 +610,29 @@ const struct altivec_builtin_types altiv
   { ALTIVEC_BUILTIN_VEC_CMPGT, ALTIVEC_BUILTIN_VCMPGTFP,
     RS6000_BTI_bool_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPGTFP, ALTIVEC_BUILTIN_VCMPGTFP,
-    RS6000_BTI_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 },
+    RS6000_BTI_bool_V4SI, RS6000_BTI_V4SF, RS6000_BTI_V4SF, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPGTSW, ALTIVEC_BUILTIN_VCMPGTSW,
-    RS6000_BTI_V4SI, RS6000_BTI_V4SI, RS6000_BTI_V4SI, 0 },
+    RS6000_BTI_bool_V4SI, RS6000_BTI_V4SI, RS6000_BTI_V4SI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPGTSW, ALTIVEC_BUILTIN_VCMPGTSW,
     RS6000_BTI_bool_V4SI, RS6000_BTI_V4SI, RS6000_BTI_V4SI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPGTUW, ALTIVEC_BUILTIN_VCMPGTUW,
-    RS6000_BTI_V4SI, RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V4SI, 0 },
+    RS6000_BTI_bool_V4SI, RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V4SI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPGTUW, ALTIVEC_BUILTIN_VCMPGTUW,
     RS6000_BTI_bool_V4SI, RS6000_BTI_unsigned_V4SI, RS6000_BTI_unsigned_V4SI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPGTSH, ALTIVEC_BUILTIN_VCMPGTSH,
-    RS6000_BTI_V8HI, RS6000_BTI_V8HI, RS6000_BTI_V8HI, 0 },
+    RS6000_BTI_bool_V8HI, RS6000_BTI_V8HI, RS6000_BTI_V8HI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPGTSH, ALTIVEC_BUILTIN_VCMPGTSH,
     RS6000_BTI_bool_V8HI, RS6000_BTI_V8HI, RS6000_BTI_V8HI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPGTUH, ALTIVEC_BUILTIN_VCMPGTUH,
-    RS6000_BTI_V8HI, RS6000_BTI_unsigned_V8HI, RS6000_BTI_unsigned_V8HI, 0 },
+    RS6000_BTI_bool_V8HI, RS6000_BTI_unsigned_V8HI, RS6000_BTI_unsigned_V8HI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPGTUH, ALTIVEC_BUILTIN_VCMPGTUH,
     RS6000_BTI_bool_V8HI, RS6000_BTI_unsigned_V8HI, RS6000_BTI_unsigned_V8HI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPGTSB, ALTIVEC_BUILTIN_VCMPGTSB,
-    RS6000_BTI_V16QI, RS6000_BTI_V16QI, RS6000_BTI_V16QI, 0 },
+    RS6000_BTI_bool_V16QI, RS6000_BTI_V16QI, RS6000_BTI_V16QI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPGTSB, ALTIVEC_BUILTIN_VCMPGTSB,
     RS6000_BTI_bool_V16QI, RS6000_BTI_V16QI, RS6000_BTI_V16QI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPGTUB, ALTIVEC_BUILTIN_VCMPGTUB,
-    RS6000_BTI_V16QI, RS6000_BTI_unsigned_V16QI, RS6000_BTI_unsigned_V16QI, 0 },
+    RS6000_BTI_bool_V16QI, RS6000_BTI_unsigned_V16QI, RS6000_BTI_unsigned_V16QI, 0 },
   { ALTIVEC_BUILTIN_VEC_VCMPGTUB, ALTIVEC_BUILTIN_VCMPGTUB,
     RS6000_BTI_bool_V16QI, RS6000_BTI_unsigned_V16QI, RS6000_BTI_unsigned_V16QI, 0 },
   { ALTIVEC_BUILTIN_VEC_CMPLE, ALTIVEC_BUILTIN_VCMPGEFP,

Modified: projects/uefi/contrib/gcc/cp/ChangeLog.gcc43
==============================================================================
--- projects/uefi/contrib/gcc/cp/ChangeLog.gcc43	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/contrib/gcc/cp/ChangeLog.gcc43	Thu Dec  5 23:18:54 2013	(r259020)
@@ -29,14 +29,23 @@
 
 	* decl.c (compute_array_index_type): New warning flag warn_vla.
 
-2007-01-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+2007-01-08  Mark Shinwell  <shinwell@codesourcery.com> (r120572)
+
+	* call.c (standard_conversion): Pass flag to
+	vector_types_convertible_p to disallow emission of note.
+	* typeck.c (convert_for_assignment): Pass flag to
+	vector_types_convertible_p to allow emission of note.
+	(ptr_reasonably_similar): Pass flag to vector_types_convertible_p
+	to disallow emission of note.
+
+2007-01-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org> (r120558)
 
 	PR c++/28986
 	* typeck.c (build_binary_op): Call overflow_warning if
 	TREE_OVERFLOW_P is true for the result and not for any of the
 	operands.
 	
-2007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+2007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org> (r120505)
 
 	PR c/19978
 	* semantics.c (finish_unary_op_expr): Warn only if result

Modified: projects/uefi/contrib/gcc/cp/call.c
==============================================================================
--- projects/uefi/contrib/gcc/cp/call.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/contrib/gcc/cp/call.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -838,7 +838,7 @@ standard_conversion (tree to, tree from,
 	conv->rank = cr_promotion;
     }
   else if (fcode == VECTOR_TYPE && tcode == VECTOR_TYPE
-	   && vector_types_convertible_p (from, to))
+	   && vector_types_convertible_p (from, to, false))
     return build_conv (ck_std, to, conv);
   else if (!(flags & LOOKUP_CONSTRUCTOR_CALLABLE)
 	   && IS_AGGR_TYPE (to) && IS_AGGR_TYPE (from)

Modified: projects/uefi/contrib/gcc/cp/typeck.c
==============================================================================
--- projects/uefi/contrib/gcc/cp/typeck.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/contrib/gcc/cp/typeck.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -6229,7 +6229,7 @@ convert_for_assignment (tree type, tree 
   coder = TREE_CODE (rhstype);
 
   if (TREE_CODE (type) == VECTOR_TYPE && coder == VECTOR_TYPE
-      && vector_types_convertible_p (type, rhstype))
+      && vector_types_convertible_p (type, rhstype, true))
     return convert (type, rhs);
 
   if (rhs == error_mark_node || rhstype == error_mark_node)
@@ -6799,7 +6799,7 @@ ptr_reasonably_similar (tree to, tree fr
 	continue;
 
       if (TREE_CODE (to) == VECTOR_TYPE
-	  && vector_types_convertible_p (to, from))
+	  && vector_types_convertible_p (to, from, false))
 	return 1;
 
       if (TREE_CODE (to) == INTEGER_TYPE

Modified: projects/uefi/contrib/gcc/doc/invoke.texi
==============================================================================
--- projects/uefi/contrib/gcc/doc/invoke.texi	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/contrib/gcc/doc/invoke.texi	Thu Dec  5 23:18:54 2013	(r259020)
@@ -167,7 +167,7 @@ in the following sections.
 -fno-asm  -fno-builtin  -fno-builtin-@var{function} @gol
 -fhosted  -ffreestanding -fopenmp -fms-extensions @gol
 -trigraphs  -no-integrated-cpp  -traditional  -traditional-cpp @gol
--fallow-single-precision  -fcond-mismatch @gol
+-fallow-single-precision  -fcond-mismatch -flax-vector-conversions @gol
 -fsigned-bitfields  -fsigned-char @gol
 -funsigned-bitfields  -funsigned-char}
 
@@ -1337,6 +1337,12 @@ Allow conditional expressions with misma
 third arguments.  The value of such an expression is void.  This option
 is not supported for C++.
 
+@item -flax-vector-conversions
+@opindex flax-vector-conversions
+Allow implicit conversions between vectors with differing numbers of
+elements and/or incompatible element types.  This option should not be
+used for new code.
+
 @item -funsigned-char
 @opindex funsigned-char
 Let the type @code{char} be unsigned, like @code{unsigned char}.

Modified: projects/uefi/etc/mtree/BSD.include.dist
==============================================================================
--- projects/uefi/etc/mtree/BSD.include.dist	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/etc/mtree/BSD.include.dist	Thu Dec  5 23:18:54 2013	(r259020)
@@ -329,6 +329,8 @@
     ..
     sys
     ..
+    teken
+    ..
     ufs
         ffs
         ..

Modified: projects/uefi/include/Makefile
==============================================================================
--- projects/uefi/include/Makefile	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/include/Makefile	Thu Dec  5 23:18:54 2013	(r259020)
@@ -225,6 +225,9 @@ copies:
 	cd ${.CURDIR}/../sys/rpc; \
 	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 types.h \
 	    ${DESTDIR}${INCLUDEDIR}/rpc
+	cd ${.CURDIR}/../sys/teken; \
+	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 teken.h \
+	    ${DESTDIR}${INCLUDEDIR}/teken
 
 symlinks:
 	@${ECHO} "Setting up symlinks to kernel source tree..."

Modified: projects/uefi/sys/amd64/amd64/machdep.c
==============================================================================
--- projects/uefi/sys/amd64/amd64/machdep.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/amd64/amd64/machdep.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -867,7 +867,7 @@ cpu_idle(int busy)
 	/* Call main idle method. */
 	cpu_idle_fn(sbt);
 
-	/* Switch timers mack into active mode. */
+	/* Switch timers back into active mode. */
 	if (!busy) {
 		cpu_activeclock();
 		critical_exit();

Modified: projects/uefi/sys/conf/files
==============================================================================
--- projects/uefi/sys/conf/files	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/conf/files	Thu Dec  5 23:18:54 2013	(r259020)
@@ -82,7 +82,7 @@ pccarddevs.h			standard				   \
 	compile-with	"${AWK} -f $S/tools/pccarddevs2h.awk $S/dev/pccard/pccarddevs" \
 	no-obj no-implicit-rule before-depend				   \
 	clean		"pccarddevs.h"
-teken_state.h		optional sc					   \
+teken_state.h		optional sc | vt				   \
 	dependency	"$S/teken/gensequences $S/teken/sequences" \
 	compile-with	"${AWK} -f $S/teken/gensequences $S/teken/sequences > teken_state.h" \
 	no-obj no-implicit-rule before-depend				   \
@@ -1396,6 +1396,8 @@ dev/ex/if_ex_isa.c		optional ex isa
 dev/ex/if_ex_pccard.c		optional ex pccard
 dev/exca/exca.c			optional cbb
 dev/fatm/if_fatm.c		optional fatm pci
+dev/fb/fbd.c			optional fbd | vt
+dev/fb/fb_if.m			optional fbd | vt
 dev/fb/splash.c			optional splash
 dev/fdt/fdt_common.c		optional fdt
 dev/fdt/fdt_ic_if.m		optional fdt
@@ -2461,6 +2463,17 @@ dev/vge/if_vge.c		optional vge
 
 dev/vkbd/vkbd.c			optional vkbd
 dev/vr/if_vr.c			optional vr pci
+dev/vt/colors/vt_termcolors.c	optional vt
+dev/vt/font/vt_font_default.c	optional vt
+dev/vt/font/vt_mouse_cursor.c	optional vt
+dev/vt/hw/fb/vt_fb.c		optional vt
+dev/vt/hw/vga/vga.c		optional vt vt_vga
+dev/vt/logo/logo_freebsd.c	optional vt
+dev/vt/vt_buf.c			optional vt
+dev/vt/vt_consolectl.c		optional vt
+dev/vt/vt_core.c		optional vt
+dev/vt/vt_font.c		optional vt
+dev/vt/vt_sysmouse.c		optional vt
 dev/vte/if_vte.c		optional vte pci
 dev/vx/if_vx.c			optional vx
 dev/vx/if_vx_eisa.c		optional vx eisa
@@ -2897,6 +2910,7 @@ kern/subr_sleepqueue.c		standard
 kern/subr_smp.c			standard
 kern/subr_stack.c		optional ddb | stack | ktr
 kern/subr_taskqueue.c		standard
+kern/subr_terminal.c		optional vt
 kern/subr_trap.c		standard
 kern/subr_turnstile.c		standard
 kern/subr_uio.c			standard
@@ -3796,7 +3810,7 @@ security/mac_portacl/mac_portacl.c optio
 security/mac_seeotheruids/mac_seeotheruids.c optional mac_seeotheruids
 security/mac_stub/mac_stub.c	optional mac_stub
 security/mac_test/mac_test.c	optional mac_test
-teken/teken.c			optional sc
+teken/teken.c			optional sc | vt
 ufs/ffs/ffs_alloc.c		optional ffs
 ufs/ffs/ffs_balloc.c		optional ffs
 ufs/ffs/ffs_inode.c		optional ffs

Modified: projects/uefi/sys/conf/files.amd64
==============================================================================
--- projects/uefi/sys/conf/files.amd64	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/conf/files.amd64	Thu Dec  5 23:18:54 2013	(r259020)
@@ -242,7 +242,7 @@ dev/hyperv/vmbus/hv_connection.c			optio
 dev/hyperv/vmbus/hv_hv.c				optional	hyperv
 dev/hyperv/vmbus/hv_ring_buffer.c			optional	hyperv
 dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c			optional	hyperv
-dev/kbd/kbd.c			optional	atkbd | sc | ukbd
+dev/kbd/kbd.c			optional	atkbd | sc | ukbd | vt
 dev/lindev/full.c		optional	lindev
 dev/lindev/lindev.c		optional	lindev
 dev/nfe/if_nfe.c		optional	nfe pci

Modified: projects/uefi/sys/conf/files.arm
==============================================================================
--- projects/uefi/sys/conf/files.arm	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/conf/files.arm	Thu Dec  5 23:18:54 2013	(r259020)
@@ -62,7 +62,7 @@ crypto/blowfish/bf_enc.c	optional	crypto
 crypto/des/des_enc.c		optional	crypto | ipsec | netsmb
 dev/fb/fb.c			optional	sc
 dev/hwpmc/hwpmc_arm.c		optional	hwpmc
-dev/kbd/kbd.c			optional	sc
+dev/kbd/kbd.c			optional	sc | vt
 dev/syscons/scgfbrndr.c		optional	sc
 dev/syscons/scterm-teken.c	optional	sc
 dev/syscons/scvtb.c		optional	sc

Modified: projects/uefi/sys/conf/files.i386
==============================================================================
--- projects/uefi/sys/conf/files.i386	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/conf/files.i386	Thu Dec  5 23:18:54 2013	(r259020)
@@ -249,7 +249,7 @@ dev/ipmi/ipmi_smbios.c		optional ipmi
 dev/ipmi/ipmi_ssif.c		optional ipmi smbus
 dev/ipmi/ipmi_pci.c		optional ipmi pci
 dev/ipmi/ipmi_linux.c		optional ipmi compat_linux
-dev/kbd/kbd.c			optional atkbd | sc | ukbd
+dev/kbd/kbd.c			optional atkbd | sc | ukbd | vt
 dev/le/if_le_isa.c		optional le isa
 dev/lindev/full.c		optional lindev
 dev/lindev/lindev.c		optional lindev
@@ -293,6 +293,7 @@ dev/viawd/viawd.c		optional viawd
 dev/vmware/vmxnet3/if_vmx.c	optional vmx
 dev/acpica/acpi_if.m		standard
 dev/acpi_support/acpi_wmi_if.m	standard
+dev/vt/hw/xboxfb/xboxfb.c	optional vt_xboxfb
 dev/wbwd/wbwd.c			optional wbwd
 dev/wpi/if_wpi.c		optional wpi
 dev/isci/isci.c							optional isci

Modified: projects/uefi/sys/conf/files.powerpc
==============================================================================
--- projects/uefi/sys/conf/files.powerpc	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/conf/files.powerpc	Thu Dec  5 23:18:54 2013	(r259020)
@@ -35,7 +35,7 @@ dev/iicbus/ad7417.c		optional	ad7417 pow
 dev/iicbus/ds1631.c		optional	ds1631 powermac
 dev/iicbus/ds1775.c		optional	ds1775 powermac
 dev/iicbus/max6690.c		optional	max6690 powermac
-dev/kbd/kbd.c			optional	sc
+dev/kbd/kbd.c			optional	sc | vt
 dev/nand/nfc_fsl.c		optional	nand mpc85xx
 # ofw can be either aim or fdt: fdt case handled in files. aim only powerpc specific.
 dev/ofw/openfirm.c		optional	aim
@@ -65,6 +65,7 @@ dev/tsec/if_tsec.c		optional	tsec
 dev/tsec/if_tsec_fdt.c		optional	tsec fdt
 dev/uart/uart_cpu_powerpc.c	optional	uart
 dev/usb/controller/ehci_fsl.c	optional	ehci mpc85xx
+dev/vt/hw/ofwfb/ofwfb.c		optional	vt aim
 kern/kern_clocksource.c		standard
 kern/subr_dummy_vdso_tc.c	standard
 kern/syscalls.c			optional	ktr
@@ -106,15 +107,15 @@ powerpc/booke/pmap.c		optional	booke
 powerpc/booke/trap.c		optional	booke
 powerpc/cpufreq/dfs.c		optional	cpufreq
 powerpc/cpufreq/pcr.c		optional	cpufreq aim
-powerpc/fpu/fpu_add.c		optional	fpu_emu powerpc
-powerpc/fpu/fpu_compare.c	optional	fpu_emu powerpc
-powerpc/fpu/fpu_div.c		optional	fpu_emu powerpc
-powerpc/fpu/fpu_emu.c		optional	fpu_emu powerpc
-powerpc/fpu/fpu_explode.c	optional	fpu_emu powerpc
-powerpc/fpu/fpu_implode.c	optional	fpu_emu powerpc
-powerpc/fpu/fpu_mul.c		optional	fpu_emu powerpc
-powerpc/fpu/fpu_sqrt.c		optional	fpu_emu powerpc
-powerpc/fpu/fpu_subr.c		optional	fpu_emu powerpc
+powerpc/fpu/fpu_add.c		optional	fpu_emu
+powerpc/fpu/fpu_compare.c	optional	fpu_emu
+powerpc/fpu/fpu_div.c		optional	fpu_emu
+powerpc/fpu/fpu_emu.c		optional	fpu_emu
+powerpc/fpu/fpu_explode.c	optional	fpu_emu
+powerpc/fpu/fpu_implode.c	optional	fpu_emu
+powerpc/fpu/fpu_mul.c		optional	fpu_emu
+powerpc/fpu/fpu_sqrt.c		optional	fpu_emu
+powerpc/fpu/fpu_subr.c		optional	fpu_emu
 powerpc/mambo/mambocall.S	optional	mambo
 powerpc/mambo/mambo.c		optional	mambo
 powerpc/mambo/mambo_console.c	optional	mambo

Modified: projects/uefi/sys/conf/files.sparc64
==============================================================================
--- projects/uefi/sys/conf/files.sparc64	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/conf/files.sparc64	Thu Dec  5 23:18:54 2013	(r259020)
@@ -39,7 +39,7 @@ dev/fb/fb.c			optional	sc
 dev/fb/gallant12x22.c		optional	sc
 dev/fb/machfb.c			optional	machfb sc
 dev/hwpmc/hwpmc_sparc64.c	optional	hwpmc
-dev/kbd/kbd.c			optional	atkbd | sc | ukbd
+dev/kbd/kbd.c			optional	atkbd | sc | ukbd | vt
 dev/le/if_le_lebuffer.c		optional	le sbus
 dev/le/if_le_ledma.c		optional	le sbus
 dev/le/lebuffer_sbus.c		optional	le sbus
@@ -59,7 +59,8 @@ dev/syscons/scgfbrndr.c		optional	sc
 dev/syscons/scterm-teken.c	optional	sc
 dev/syscons/scvtb.c		optional	sc
 dev/uart/uart_cpu_sparc64.c	optional	uart
-dev/uart/uart_kbd_sun.c		optional	uart sc
+dev/uart/uart_kbd_sun.c		optional	uart sc | vt
+dev/vt/hw/ofwfb/ofwfb.c		optional	vt
 kern/kern_clocksource.c		standard
 kern/subr_dummy_vdso_tc.c	standard
 kern/syscalls.c			optional	ktr

Modified: projects/uefi/sys/conf/kmod.mk
==============================================================================
--- projects/uefi/sys/conf/kmod.mk	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/conf/kmod.mk	Thu Dec  5 23:18:54 2013	(r259020)
@@ -340,7 +340,7 @@ CFLAGS+=	${CONF_CFLAGS}
 
 MFILES?= dev/acpica/acpi_if.m dev/acpi_support/acpi_wmi_if.m \
 	dev/agp/agp_if.m dev/ata/ata_if.m dev/eisa/eisa_if.m \
-	dev/gpio/gpio_if.m dev/gpio/gpiobus_if.m \
+	dev/fb/fb_if.m dev/gpio/gpio_if.m dev/gpio/gpiobus_if.m \
 	dev/iicbus/iicbb_if.m dev/iicbus/iicbus_if.m \
 	dev/mmc/mmcbr_if.m dev/mmc/mmcbus_if.m \
 	dev/mii/miibus_if.m dev/mvs/mvs_if.m dev/ofw/ofw_bus_if.m \

Modified: projects/uefi/sys/conf/options
==============================================================================
--- projects/uefi/sys/conf/options	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/conf/options	Thu Dec  5 23:18:54 2013	(r259020)
@@ -731,8 +731,10 @@ SAFE_DEBUG		opt_safe.h
 SAFE_NO_RNG		opt_safe.h
 SAFE_RNDTEST		opt_safe.h
 
-# syscons options
+# syscons/vt options
 MAXCONS			opt_syscons.h
+VT_FB_DEFAULT_WIDTH	opt_syscons.h
+VT_FB_DEFAULT_HEIGHT	opt_syscons.h
 SC_ALT_MOUSE_IMAGE	opt_syscons.h
 SC_CUT_SPACES2TABS	opt_syscons.h
 SC_CUT_SEPCHARS		opt_syscons.h

Modified: projects/uefi/sys/dev/drm2/drm_fb_helper.c
==============================================================================
--- projects/uefi/sys/dev/drm2/drm_fb_helper.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/dev/drm2/drm_fb_helper.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -36,6 +36,41 @@ __FBSDID("$FreeBSD$");
 #include <dev/drm2/drm_fb_helper.h>
 #include <dev/drm2/drm_crtc_helper.h>
 
+#if defined(__FreeBSD__)
+struct vt_kms_softc {
+	struct drm_fb_helper *fb_helper;
+	struct task	fb_mode_task;
+};
+
+static fb_enter_t	vt_kms_postswitch;
+static void vt_restore_fbdev_mode(void *, int);
+
+/* Call restore out of vt(9) locks. */
+static void
+vt_restore_fbdev_mode(void *arg, int pending)
+{
+	struct drm_fb_helper *fb_helper;
+	struct vt_kms_softc *sc;
+
+	sc = (struct vt_kms_softc *)arg;
+	fb_helper = sc->fb_helper;
+	sx_xlock(&fb_helper->dev->mode_config.mutex);
+	drm_fb_helper_restore_fbdev_mode(fb_helper);
+	sx_xunlock(&fb_helper->dev->mode_config.mutex);
+}
+
+static int
+vt_kms_postswitch(void *arg)
+{
+	struct vt_kms_softc *sc;
+
+	sc = (struct vt_kms_softc *)arg;
+	taskqueue_enqueue_fast(taskqueue_thread, &sc->fb_mode_task);
+
+	return (0);
+}
+#endif
+
 static DRM_LIST_HEAD(kernel_fb_helper_list);
 
 /* simple single crtc case helper function */
@@ -216,6 +251,10 @@ static int
 fb_get_options(const char *connector_name, char **option)
 {
 
+	/*
+	 * TODO: store mode options pointer in ${option} for connector with
+	 * name ${connector_name}
+	 */
 	return (1);
 }
 
@@ -892,11 +931,13 @@ int drm_fb_helper_single_fb_probe(struct
 	int new_fb = 0;
 	int crtc_count = 0;
 	int i;
-#if 0
 	struct fb_info *info;
-#endif
 	struct drm_fb_helper_surface_size sizes;
 	int gamma_size = 0;
+#if defined(__FreeBSD__)
+	struct vt_kms_softc *sc;
+	device_t kdev;
+#endif
 
 	memset(&sizes, 0, sizeof(struct drm_fb_helper_surface_size));
 	sizes.surface_depth = 24;
@@ -973,8 +1014,21 @@ int drm_fb_helper_single_fb_probe(struct
 	if (new_fb < 0)
 		return new_fb;
 
-#if 0
+#if defined(__FreeBSD__)
+	sc = malloc(sizeof(struct vt_kms_softc), DRM_MEM_KMS,
+	    M_WAITOK | M_ZERO);
+	sc->fb_helper = fb_helper;
+	TASK_INIT(&sc->fb_mode_task, 0, vt_restore_fbdev_mode, sc);
+
 	info = fb_helper->fbdev;
+
+	info->fb_name = device_get_nameunit(fb_helper->dev->device);
+	info->fb_depth = fb_helper->fb->bits_per_pixel;
+	info->fb_height = fb_helper->fb->height;
+	info->fb_width = fb_helper->fb->width;
+	info->fb_stride = fb_helper->fb->pitches[0];
+	info->fb_priv = sc;
+	info->enter = &vt_kms_postswitch;
 #endif
 
 	/* set the fb pointer */
@@ -982,7 +1036,18 @@ int drm_fb_helper_single_fb_probe(struct
 		fb_helper->crtc_info[i].mode_set.fb = fb_helper->fb;
 	}
 
-#if 0
+#if defined(__FreeBSD__)
+	if (new_fb) {
+		device_t fbd;
+		int ret;
+
+		kdev = fb_helper->dev->device;
+		fbd = device_add_child(kdev, "fbd", device_get_unit(kdev));
+		ret = device_probe_and_attach(fbd);
+		if (ret != 0)
+			DRM_ERROR("Failed to attach fbd device: %d\n", ret);
+	}
+#else
 	if (new_fb) {
 		info->var.pixclock = 0;
 		if (register_framebuffer(info) < 0) {
@@ -1006,7 +1071,6 @@ int drm_fb_helper_single_fb_probe(struct
 	if (new_fb)
 		list_add(&fb_helper->kernel_fb_list, &kernel_fb_helper_list);
 #endif
-
 	return 0;
 }
 

Modified: projects/uefi/sys/dev/drm2/drm_os_freebsd.h
==============================================================================
--- projects/uefi/sys/dev/drm2/drm_os_freebsd.h	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/dev/drm2/drm_os_freebsd.h	Thu Dec  5 23:18:54 2013	(r259020)
@@ -6,6 +6,8 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
+#include <sys/fbio.h>
+
 #if _BYTE_ORDER == _BIG_ENDIAN
 #define	__BIG_ENDIAN 4321
 #else

Modified: projects/uefi/sys/dev/drm2/i915/i915_drv.c
==============================================================================
--- projects/uefi/sys/dev/drm2/i915/i915_drv.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/dev/drm2/i915/i915_drv.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -40,6 +40,8 @@ __FBSDID("$FreeBSD$");
 #include <dev/drm2/drm_pciids.h>
 #include <dev/drm2/i915/intel_drv.h>
 
+#include "fb_if.h"
+
 /* drv_PCI_IDs comes from drm_pciids.h, generated from drm_pciids.txt. */
 static drm_pci_id_list_t i915_pciidlist[] = {
 	i915_PCI_IDS
@@ -380,6 +382,25 @@ i915_attach(device_t kdev)
 	return (drm_attach(kdev, i915_pciidlist));
 }
 
+static struct fb_info *
+i915_fb_helper_getinfo(device_t kdev)
+{
+	struct intel_fbdev *ifbdev;
+	drm_i915_private_t *dev_priv;
+	struct drm_device *dev;
+	struct fb_info *info;
+
+	dev = device_get_softc(kdev);
+	dev_priv = dev->dev_private;
+	ifbdev = dev_priv->fbdev;
+	if (ifbdev == NULL)
+		return (NULL);
+
+	info = ifbdev->helper.fbdev;
+
+	return (info);
+}
+
 const struct intel_device_info *
 i915_get_device_id(int device)
 {
@@ -400,6 +421,10 @@ static device_method_t i915_methods[] = 
 	DEVMETHOD(device_suspend,	i915_suspend),
 	DEVMETHOD(device_resume,	i915_resume),
 	DEVMETHOD(device_detach,	drm_detach),
+
+	/* Framebuffer service methods */
+	DEVMETHOD(fb_getinfo,		i915_fb_helper_getinfo),
+
 	DEVMETHOD_END
 };
 

Modified: projects/uefi/sys/dev/drm2/i915/intel_fb.c
==============================================================================
--- projects/uefi/sys/dev/drm2/i915/intel_fb.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/dev/drm2/i915/intel_fb.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -41,8 +41,8 @@ static int intelfb_create(struct intel_f
 	struct drm_device *dev = ifbdev->helper.dev;
 #if 0
 	struct drm_i915_private *dev_priv = dev->dev_private;
-	struct fb_info *info;
 #endif
+	struct fb_info *info;
 	struct drm_framebuffer *fb;
 	struct drm_mode_fb_cmd2 mode_cmd;
 	struct drm_i915_gem_object *obj;
@@ -86,6 +86,16 @@ static int intelfb_create(struct intel_f
 	}
 
 	info->par = ifbdev;
+#else
+	info = malloc(sizeof(struct fb_info), DRM_MEM_KMS, M_WAITOK | M_ZERO);
+	info->fb_size = size;
+	info->fb_bpp = sizes->surface_bpp;
+	info->fb_width = sizes->fb_width;
+	info->fb_height = sizes->fb_height;
+	info->fb_pbase = dev->agp->base + obj->gtt_offset;
+	info->fb_vbase = (vm_offset_t)pmap_mapdev_attr(info->fb_pbase, size,
+	    PAT_WRITE_COMBINING);
+
 #endif
 
 	ret = intel_framebuffer_init(dev, &ifbdev->ifb, &mode_cmd, obj);
@@ -95,8 +105,8 @@ static int intelfb_create(struct intel_f
 	fb = &ifbdev->ifb.base;
 
 	ifbdev->helper.fb = fb;
-#if 0
 	ifbdev->helper.fbdev = info;
+#if 0
 
 	strcpy(info->fix.id, "inteldrmfb");
 
@@ -135,9 +145,8 @@ static int intelfb_create(struct intel_f
 
 	/* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */
 #endif
-
-	DRM_DEBUG_KMS("allocated %dx%d fb: 0x%08x, bo %p\n",
-		      fb->width, fb->height,
+	DRM_DEBUG_KMS("allocated %dx%d (s %dbits) fb: 0x%08x, bo %p\n",
+		      fb->width, fb->height, fb->depth,
 		      obj->gtt_offset, obj);
 
 	DRM_UNLOCK(dev);

Modified: projects/uefi/sys/dev/drm2/radeon/radeon.h
==============================================================================
--- projects/uefi/sys/dev/drm2/radeon/radeon.h	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/dev/drm2/radeon/radeon.h	Thu Dec  5 23:18:54 2013	(r259020)
@@ -2041,6 +2041,9 @@ void	radeon_pm_acpi_event_handler(struct
 int	radeon_ttm_init(struct radeon_device *rdev);
 void	radeon_ttm_fini(struct radeon_device *rdev);
 
+/* radeon_fb.c */
+struct fb_info *	radeon_fb_helper_getinfo(device_t kdev);
+
 /* r600.c */
 int r600_ih_ring_alloc(struct radeon_device *rdev);
 void r600_ih_ring_fini(struct radeon_device *rdev);

Modified: projects/uefi/sys/dev/drm2/radeon/radeon_drv.c
==============================================================================
--- projects/uefi/sys/dev/drm2/radeon/radeon_drv.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/dev/drm2/radeon/radeon_drv.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$");
 
 #include <dev/drm2/drm_pciids.h>
 
+#include "fb_if.h"
 
 /*
  * KMS wrapper.
@@ -338,6 +339,12 @@ static const struct file_operations rade
 };
 #endif /* DUMBBELL_WIP */
 
+static int radeon_sysctl_init(struct drm_device *dev, struct sysctl_ctx_list *ctx,
+			      struct sysctl_oid *top)
+{
+	return drm_add_busid_modesetting(dev, ctx, top);
+}
+
 static struct drm_driver_info kms_driver = {
 	.driver_features =
 	    DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | DRIVER_SG |
@@ -367,6 +374,7 @@ static struct drm_driver_info kms_driver
 	.irq_postinstall = radeon_driver_irq_postinstall_kms,
 	.irq_uninstall = radeon_driver_irq_uninstall_kms,
 	.irq_handler = radeon_driver_irq_handler_kms,
+	.sysctl_init = radeon_sysctl_init,
 	.ioctls = radeon_ioctls_kms,
 	.gem_init_object = radeon_gem_object_init,
 	.gem_free_object = radeon_gem_object_free,
@@ -488,6 +496,8 @@ radeon_resume(device_t kdev)
 	return (-ret);
 }
 
+extern struct fb_info *	radeon_fb_helper_getinfo(device_t kdev);
+
 static device_method_t radeon_methods[] = {
 	/* Device interface */
 	DEVMETHOD(device_probe,		radeon_probe),
@@ -495,6 +505,10 @@ static device_method_t radeon_methods[] 
 	DEVMETHOD(device_suspend,	radeon_suspend),
 	DEVMETHOD(device_resume,	radeon_resume),
 	DEVMETHOD(device_detach,	drm_detach),
+
+	/* Framebuffer service methods */
+	DEVMETHOD(fb_getinfo,		radeon_fb_helper_getinfo),
+
 	DEVMETHOD_END
 };
 

Modified: projects/uefi/sys/dev/drm2/radeon/radeon_fb.c
==============================================================================
--- projects/uefi/sys/dev/drm2/radeon/radeon_fb.c	Thu Dec  5 22:58:05 2013	(r259019)
+++ projects/uefi/sys/dev/drm2/radeon/radeon_fb.c	Thu Dec  5 23:18:54 2013	(r259020)
@@ -27,6 +27,8 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
+#include <machine/_inttypes.h>
+
 #include <dev/drm2/drmP.h>
 #include <dev/drm2/drm_crtc.h>
 #include <dev/drm2/drm_crtc_helper.h>
@@ -46,7 +48,7 @@ struct radeon_fbdev {
 	struct radeon_device *rdev;
 };
 

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

From owner-svn-src-projects@FreeBSD.ORG  Fri Dec  6 01:16:35 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 01AFC5E4;
 Fri,  6 Dec 2013 01:16:35 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id DC1D71AA1;
 Fri,  6 Dec 2013 01:16:34 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB61GYco018517;
 Fri, 6 Dec 2013 01:16:34 GMT (envelope-from jhibbits@svn.freebsd.org)
Received: (from jhibbits@localhost)
 by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB61GUBi018312;
 Fri, 6 Dec 2013 01:16:30 GMT (envelope-from jhibbits@svn.freebsd.org)
Message-Id: <201312060116.rB61GUBi018312@svn.freebsd.org>
From: Justin Hibbits <jhibbits@FreeBSD.org>
Date: Fri, 6 Dec 2013 01:16:30 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r259021 - in projects/pmac_pmu: . bin/pkill bin/sh
 bin/test cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n
 cddl/contrib/opensolaris/cmd/plockstat cddl/contrib/opensolaris...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Dec 2013 01:16:35 -0000

Author: jhibbits
Date: Fri Dec  6 01:16:26 2013
New Revision: 259021
URL: http://svnweb.freebsd.org/changeset/base/259021

Log:
  MFC@r259020

Added:
  projects/pmac_pmu/contrib/atf/atf-c++/detail/auto_array.hpp
     - copied unchanged from r259020, head/contrib/atf/atf-c++/detail/auto_array.hpp
  projects/pmac_pmu/contrib/atf/atf-c++/detail/auto_array_test.cpp
     - copied unchanged from r259020, head/contrib/atf/atf-c++/detail/auto_array_test.cpp
  projects/pmac_pmu/contrib/atf/atf-c++/noncopyable.hpp
     - copied unchanged from r259020, head/contrib/atf/atf-c++/noncopyable.hpp
  projects/pmac_pmu/contrib/atf/atf-c++/utils.cpp
     - copied unchanged from r259020, head/contrib/atf/atf-c++/utils.cpp
  projects/pmac_pmu/contrib/gcc/cp/ChangeLog.gcc43
     - copied unchanged from r259020, head/contrib/gcc/cp/ChangeLog.gcc43
  projects/pmac_pmu/contrib/gcc/tree-ssa-alias-warnings.c
     - copied unchanged from r259020, head/contrib/gcc/tree-ssa-alias-warnings.c
  projects/pmac_pmu/contrib/gcclibs/libcpp/ChangeLog.gcc43
     - copied unchanged from r259020, head/contrib/gcclibs/libcpp/ChangeLog.gcc43
  projects/pmac_pmu/contrib/gcclibs/libcpp/directives-only.c
     - copied unchanged from r259020, head/contrib/gcclibs/libcpp/directives-only.c
  projects/pmac_pmu/contrib/gcclibs/libiberty/ChangeLog.gcc43
     - copied unchanged from r259020, head/contrib/gcclibs/libiberty/ChangeLog.gcc43
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/StreamGDBRemote.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/Core/StreamGDBRemote.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/OptionParser.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/Host/OptionParser.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/StreamGDBRemote.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Core/StreamGDBRemote.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/LibCxxUnorderedMap.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/DataFormatters/LibCxxUnorderedMap.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/OptionParser.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Host/common/OptionParser.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/ProcessRunLock.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Host/common/ProcessRunLock.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/
     - copied from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_i386.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_i386.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_i386.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_i386.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_mips64.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_mips64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_i386.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_i386.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_mips64.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_mips64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_x86_64.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_x86_64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/SystemRuntime.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/source/Target/SystemRuntime.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/ELWrapper.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/tools/driver/ELWrapper.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/ELWrapper.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/tools/driver/ELWrapper.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/GetOptWrapper.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/tools/driver/GetOptWrapper.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/GetOptWrapper.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/tools/driver/GetOptWrapper.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/Platform.cpp
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/tools/driver/Platform.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/Platform.h
     - copied unchanged from r259020, head/contrib/llvm/tools/lldb/tools/driver/Platform.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/tools/lldb-platform/
     - copied from r259020, head/contrib/llvm/tools/lldb/tools/lldb-platform/
  projects/pmac_pmu/etc/casper/
     - copied from r259020, head/etc/casper/
  projects/pmac_pmu/lib/libc/iconv/__iconv.c
     - copied unchanged from r259020, head/lib/libc/iconv/__iconv.c
  projects/pmac_pmu/lib/libc/iconv/__iconv_free_list.c
     - copied unchanged from r259020, head/lib/libc/iconv/__iconv_free_list.c
  projects/pmac_pmu/lib/libc/iconv/__iconv_get_list.c
     - copied unchanged from r259020, head/lib/libc/iconv/__iconv_get_list.c
  projects/pmac_pmu/lib/libc/iconv/bsd_iconv.c
     - copied unchanged from r259020, head/lib/libc/iconv/bsd_iconv.c
  projects/pmac_pmu/lib/libc/iconv/iconv-internal.h
     - copied unchanged from r259020, head/lib/libc/iconv/iconv-internal.h
  projects/pmac_pmu/lib/libc/iconv/iconv_canonicalize.c
     - copied unchanged from r259020, head/lib/libc/iconv/iconv_canonicalize.c
  projects/pmac_pmu/lib/libc/iconv/iconv_close.c
     - copied unchanged from r259020, head/lib/libc/iconv/iconv_close.c
  projects/pmac_pmu/lib/libc/iconv/iconv_compat.c
     - copied unchanged from r259020, head/lib/libc/iconv/iconv_compat.c
  projects/pmac_pmu/lib/libc/iconv/iconv_open.c
     - copied unchanged from r259020, head/lib/libc/iconv/iconv_open.c
  projects/pmac_pmu/lib/libc/iconv/iconv_open_into.c
     - copied unchanged from r259020, head/lib/libc/iconv/iconv_open_into.c
  projects/pmac_pmu/lib/libc/iconv/iconv_set_relocation_prefix.c
     - copied unchanged from r259020, head/lib/libc/iconv/iconv_set_relocation_prefix.c
  projects/pmac_pmu/lib/libc/iconv/iconvctl.c
     - copied unchanged from r259020, head/lib/libc/iconv/iconvctl.c
  projects/pmac_pmu/lib/libc/iconv/iconvlist.c
     - copied unchanged from r259020, head/lib/libc/iconv/iconvlist.c
  projects/pmac_pmu/lib/libc_nonshared/
     - copied from r259020, head/lib/libc_nonshared/
  projects/pmac_pmu/lib/libcapsicum/
     - copied from r259020, head/lib/libcapsicum/
  projects/pmac_pmu/lib/libcasper/
     - copied from r259020, head/lib/libcasper/
  projects/pmac_pmu/lib/libnv/
     - copied from r259020, head/lib/libnv/
  projects/pmac_pmu/lib/libpjdlog/
     - copied from r259020, head/lib/libpjdlog/
  projects/pmac_pmu/libexec/casper/
     - copied from r259020, head/libexec/casper/
  projects/pmac_pmu/release/amd64/pkg-stage.conf
     - copied unchanged from r259020, head/release/amd64/pkg-stage.conf
  projects/pmac_pmu/release/i386/pkg-stage.conf
     - copied unchanged from r259020, head/release/i386/pkg-stage.conf
  projects/pmac_pmu/release/scripts/pkg-stage.sh
     - copied unchanged from r259020, head/release/scripts/pkg-stage.sh
  projects/pmac_pmu/sbin/casperd/
     - copied from r259020, head/sbin/casperd/
  projects/pmac_pmu/share/examples/tests/
     - copied from r259020, head/share/examples/tests/
  projects/pmac_pmu/share/man/man4/axge.4
     - copied unchanged from r259020, head/share/man/man4/axge.4
  projects/pmac_pmu/share/man/man4/gpioiic.4
     - copied unchanged from r259020, head/share/man/man4/gpioiic.4
  projects/pmac_pmu/share/man/man4/gpioled.4
     - copied unchanged from r259020, head/share/man/man4/gpioled.4
  projects/pmac_pmu/share/tests/
     - copied from r259020, head/share/tests/
  projects/pmac_pmu/sys/amd64/vmm/io/vhpet.c
     - copied unchanged from r259020, head/sys/amd64/vmm/io/vhpet.c
  projects/pmac_pmu/sys/amd64/vmm/io/vhpet.h
     - copied unchanged from r259020, head/sys/amd64/vmm/io/vhpet.h
  projects/pmac_pmu/sys/amd64/vmm/io/vioapic.c
     - copied unchanged from r259020, head/sys/amd64/vmm/io/vioapic.c
  projects/pmac_pmu/sys/amd64/vmm/io/vioapic.h
     - copied unchanged from r259020, head/sys/amd64/vmm/io/vioapic.h
  projects/pmac_pmu/sys/arm/conf/COSMIC
     - copied unchanged from r259020, head/sys/arm/conf/COSMIC
  projects/pmac_pmu/sys/arm/freescale/vybrid/
     - copied from r259020, head/sys/arm/freescale/vybrid/
  projects/pmac_pmu/sys/arm/rockchip/rk30xx_wdog.c
     - copied unchanged from r259020, head/sys/arm/rockchip/rk30xx_wdog.c
  projects/pmac_pmu/sys/arm/rockchip/rk30xx_wdog.h
     - copied unchanged from r259020, head/sys/arm/rockchip/rk30xx_wdog.h
  projects/pmac_pmu/sys/arm/ti/ti_mbox.c
     - copied unchanged from r259020, head/sys/arm/ti/ti_mbox.c
  projects/pmac_pmu/sys/arm/ti/ti_mbox.h
     - copied unchanged from r259020, head/sys/arm/ti/ti_mbox.h
  projects/pmac_pmu/sys/arm/ti/ti_pruss.c
     - copied unchanged from r259020, head/sys/arm/ti/ti_pruss.c
  projects/pmac_pmu/sys/arm/ti/ti_pruss.h
     - copied unchanged from r259020, head/sys/arm/ti/ti_pruss.h
  projects/pmac_pmu/sys/boot/fdt/dts/vybrid-cosmic.dts
     - copied unchanged from r259020, head/sys/boot/fdt/dts/vybrid-cosmic.dts
  projects/pmac_pmu/sys/boot/fdt/dts/vybrid.dtsi
     - copied unchanged from r259020, head/sys/boot/fdt/dts/vybrid.dtsi
  projects/pmac_pmu/sys/cddl/compat/opensolaris/sys/disp.h
     - copied unchanged from r259020, head/sys/cddl/compat/opensolaris/sys/disp.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c
     - copied unchanged from r259020, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_reftree.c
     - copied unchanged from r259020, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_reftree.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/range_tree.h
     - copied unchanged from r259020, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/range_tree.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_reftree.h
     - copied unchanged from r259020, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_reftree.h
  projects/pmac_pmu/sys/dev/fb/fb_if.m
     - copied unchanged from r259020, head/sys/dev/fb/fb_if.m
  projects/pmac_pmu/sys/dev/fb/fbd.c
     - copied unchanged from r259020, head/sys/dev/fb/fbd.c
  projects/pmac_pmu/sys/dev/iwn/if_iwn_chip_cfg.h
     - copied unchanged from r259020, head/sys/dev/iwn/if_iwn_chip_cfg.h
  projects/pmac_pmu/sys/dev/nand/nfc_at91.c
     - copied unchanged from r259020, head/sys/dev/nand/nfc_at91.c
  projects/pmac_pmu/sys/dev/usb/net/if_axge.c
     - copied unchanged from r259020, head/sys/dev/usb/net/if_axge.c
  projects/pmac_pmu/sys/dev/usb/net/if_axgereg.h
     - copied unchanged from r259020, head/sys/dev/usb/net/if_axgereg.h
  projects/pmac_pmu/sys/dev/vt/
     - copied from r259020, head/sys/dev/vt/
  projects/pmac_pmu/sys/kern/subr_terminal.c
     - copied unchanged from r259020, head/sys/kern/subr_terminal.c
  projects/pmac_pmu/sys/modules/usb/axge/
     - copied from r259020, head/sys/modules/usb/axge/
  projects/pmac_pmu/sys/net/ieee_oui.h
     - copied unchanged from r259020, head/sys/net/ieee_oui.h
  projects/pmac_pmu/sys/net/sff8472.h
     - copied unchanged from r259020, head/sys/net/sff8472.h
  projects/pmac_pmu/sys/powerpc/mpc85xx/platform_mpc85xx.c
     - copied unchanged from r259020, head/sys/powerpc/mpc85xx/platform_mpc85xx.c
  projects/pmac_pmu/sys/powerpc/ofw/ofw_pcibus.h
     - copied unchanged from r259020, head/sys/powerpc/ofw/ofw_pcibus.h
  projects/pmac_pmu/sys/powerpc/powerpc/copyinout.c
     - copied unchanged from r259020, head/sys/powerpc/powerpc/copyinout.c
  projects/pmac_pmu/sys/powerpc/powerpc/swtch32.S
     - copied unchanged from r259020, head/sys/powerpc/powerpc/swtch32.S
  projects/pmac_pmu/sys/powerpc/powerpc/swtch64.S
     - copied unchanged from r259020, head/sys/powerpc/powerpc/swtch64.S
  projects/pmac_pmu/sys/powerpc/pseries/plpar_pcibus.c
     - copied unchanged from r259020, head/sys/powerpc/pseries/plpar_pcibus.c
  projects/pmac_pmu/sys/powerpc/wii/ios_if.m
     - copied unchanged from r259020, head/sys/powerpc/wii/ios_if.m
  projects/pmac_pmu/sys/sys/ktr_class.h
     - copied unchanged from r259020, head/sys/sys/ktr_class.h
  projects/pmac_pmu/sys/sys/sf_sync.h
     - copied unchanged from r259020, head/sys/sys/sf_sync.h
  projects/pmac_pmu/sys/sys/terminal.h
     - copied unchanged from r259020, head/sys/sys/terminal.h
  projects/pmac_pmu/tools/build/options/WITHOUT_CASPER
     - copied unchanged from r259020, head/tools/build/options/WITHOUT_CASPER
  projects/pmac_pmu/tools/build/options/WITH_TESTS
     - copied unchanged from r259020, head/tools/build/options/WITH_TESTS
  projects/pmac_pmu/tools/regression/bin/sh/builtins/command12.0
     - copied unchanged from r259020, head/tools/regression/bin/sh/builtins/command12.0
  projects/pmac_pmu/tools/regression/bin/sh/execution/bg10.0
     - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg10.0
  projects/pmac_pmu/tools/regression/bin/sh/execution/bg10.0.stdout
     - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg10.0.stdout
  projects/pmac_pmu/tools/regression/bin/sh/execution/bg5.0
     - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg5.0
  projects/pmac_pmu/tools/regression/bin/sh/execution/bg6.0
     - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg6.0
  projects/pmac_pmu/tools/regression/bin/sh/execution/bg6.0.stdout
     - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg6.0.stdout
  projects/pmac_pmu/tools/regression/bin/sh/execution/bg7.0
     - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg7.0
  projects/pmac_pmu/tools/regression/bin/sh/execution/bg8.0
     - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg8.0
  projects/pmac_pmu/tools/regression/bin/sh/execution/bg9.0
     - copied unchanged from r259020, head/tools/regression/bin/sh/execution/bg9.0
  projects/pmac_pmu/tools/regression/bin/sh/parser/var-assign1.0
     - copied unchanged from r259020, head/tools/regression/bin/sh/parser/var-assign1.0
  projects/pmac_pmu/tools/regression/capsicum/libcapsicum/
     - copied from r259020, head/tools/regression/capsicum/libcapsicum/
  projects/pmac_pmu/tools/regression/lib/libnv/
     - copied from r259020, head/tools/regression/lib/libnv/
  projects/pmac_pmu/tools/regression/usr.sbin/etcupdate/preworld.sh
     - copied unchanged from r259020, head/tools/regression/usr.sbin/etcupdate/preworld.sh
  projects/pmac_pmu/tools/tools/vt/
     - copied from r259020, head/tools/tools/vt/
  projects/pmac_pmu/usr.sbin/bsdconfig/includes/
     - copied from r259020, head/usr.sbin/bsdconfig/includes/
Replaced:
  projects/pmac_pmu/lib/libc/iconv/iconv.c
     - copied unchanged from r259020, head/lib/libc/iconv/iconv.c
Deleted:
  projects/pmac_pmu/contrib/apr-util/test/testssl.c
  projects/pmac_pmu/contrib/atf/Atffile
  projects/pmac_pmu/contrib/atf/Makefile.am
  projects/pmac_pmu/contrib/atf/Makefile.in
  projects/pmac_pmu/contrib/atf/admin/
  projects/pmac_pmu/contrib/atf/atf-c++/Atffile
  projects/pmac_pmu/contrib/atf/atf-c++/Makefile.am.inc
  projects/pmac_pmu/contrib/atf/atf-c++/detail/Atffile
  projects/pmac_pmu/contrib/atf/atf-c++/detail/Makefile.am.inc
  projects/pmac_pmu/contrib/atf/atf-c/Atffile
  projects/pmac_pmu/contrib/atf/atf-c/Makefile.am.inc
  projects/pmac_pmu/contrib/atf/atf-c/detail/Atffile
  projects/pmac_pmu/contrib/atf/atf-c/detail/Makefile.am.inc
  projects/pmac_pmu/contrib/atf/atf-c/detail/test_helpers_test.c
  projects/pmac_pmu/contrib/atf/atf-config/
  projects/pmac_pmu/contrib/atf/atf-report/
  projects/pmac_pmu/contrib/atf/atf-run/
  projects/pmac_pmu/contrib/atf/atf-sh/Atffile
  projects/pmac_pmu/contrib/atf/atf-sh/Makefile.am.inc
  projects/pmac_pmu/contrib/atf/atf-version/
  projects/pmac_pmu/contrib/atf/bconfig.h.in
  projects/pmac_pmu/contrib/atf/configure
  projects/pmac_pmu/contrib/atf/configure.ac
  projects/pmac_pmu/contrib/atf/doc/Makefile.am.inc
  projects/pmac_pmu/contrib/atf/doc/atf-formats.5
  projects/pmac_pmu/contrib/atf/doc/atf.7.in
  projects/pmac_pmu/contrib/atf/test-programs/Atffile
  projects/pmac_pmu/contrib/atf/test-programs/Makefile.am.inc
  projects/pmac_pmu/contrib/atf/test-programs/fork_test.sh
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Utility/RefCounter.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_i386.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_i386.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_x86_64.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_x86_64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreFreeBSD_x86_64.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreFreeBSD_x86_64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreLinux_x86_64.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreLinux_x86_64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/RefCounter.cpp
  projects/pmac_pmu/lib/libc/rpc/LICENSE
  projects/pmac_pmu/sys/arm/samsung/exynos/bus_space.c
  projects/pmac_pmu/sys/cddl/compat/opensolaris/sys/taskq.h
  projects/pmac_pmu/sys/powerpc/aim/copyinout.c
  projects/pmac_pmu/sys/powerpc/aim/swtch32.S
  projects/pmac_pmu/sys/powerpc/aim/swtch64.S
  projects/pmac_pmu/sys/powerpc/booke/copyinout.c
  projects/pmac_pmu/sys/powerpc/booke/swtch.S
  projects/pmac_pmu/tools/build/options/WITH_LIBICONV_COMPAT
  projects/pmac_pmu/usr.sbin/bhyve/ioapic.c
  projects/pmac_pmu/usr.sbin/bhyve/ioapic.h
Modified:
  projects/pmac_pmu/Makefile.inc1
  projects/pmac_pmu/ObsoleteFiles.inc
  projects/pmac_pmu/UPDATING
  projects/pmac_pmu/bin/pkill/pkill.c
  projects/pmac_pmu/bin/sh/cd.c
  projects/pmac_pmu/bin/sh/exec.c
  projects/pmac_pmu/bin/sh/expand.c
  projects/pmac_pmu/bin/sh/memalloc.c
  projects/pmac_pmu/bin/sh/mystring.c
  projects/pmac_pmu/bin/sh/mystring.h
  projects/pmac_pmu/bin/sh/redir.c
  projects/pmac_pmu/bin/sh/show.c
  projects/pmac_pmu/bin/sh/var.c
  projects/pmac_pmu/bin/test/test.c
  projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh
  projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh
  projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh
  projects/pmac_pmu/cddl/contrib/opensolaris/cmd/plockstat/plockstat.c
  projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zdb/zdb.c
  projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
  projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7
  projects/pmac_pmu/cddl/contrib/opensolaris/cmd/ztest/ztest.c
  projects/pmac_pmu/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c
  projects/pmac_pmu/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c
  projects/pmac_pmu/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h
  projects/pmac_pmu/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c
  projects/pmac_pmu/contrib/apr-util/CHANGES
  projects/pmac_pmu/contrib/apr-util/apr-util.spec
  projects/pmac_pmu/contrib/apr-util/configure
  projects/pmac_pmu/contrib/apr-util/crypto/apr_crypto.c
  projects/pmac_pmu/contrib/apr-util/dbd/apr_dbd.c
  projects/pmac_pmu/contrib/apr-util/dbd/apr_dbd_odbc.c
  projects/pmac_pmu/contrib/apr-util/dbm/apr_dbm.c
  projects/pmac_pmu/contrib/apr-util/include/apr_buckets.h
  projects/pmac_pmu/contrib/apr-util/include/apr_dbd.h
  projects/pmac_pmu/contrib/apr-util/include/apr_hooks.h
  projects/pmac_pmu/contrib/apr-util/include/apr_optional_hooks.h
  projects/pmac_pmu/contrib/apr-util/include/apr_queue.h
  projects/pmac_pmu/contrib/apr-util/include/apr_reslist.h
  projects/pmac_pmu/contrib/apr-util/include/apu.hw
  projects/pmac_pmu/contrib/apr-util/include/apu_version.h
  projects/pmac_pmu/contrib/apr-util/libaprutil.rc
  projects/pmac_pmu/contrib/apr-util/memcache/apr_memcache.c
  projects/pmac_pmu/contrib/apr-util/misc/apu_dso.c
  projects/pmac_pmu/contrib/apr-util/test/abts.c
  projects/pmac_pmu/contrib/apr-util/test/testpass.c
  projects/pmac_pmu/contrib/atf/FREEBSD-Xlist
  projects/pmac_pmu/contrib/atf/FREEBSD-upgrade
  projects/pmac_pmu/contrib/atf/NEWS
  projects/pmac_pmu/contrib/atf/atf-c++.hpp
  projects/pmac_pmu/contrib/atf/atf-c++/atf-c++-api.3
  projects/pmac_pmu/contrib/atf/atf-c++/check.hpp
  projects/pmac_pmu/contrib/atf/atf-c++/check_test.cpp
  projects/pmac_pmu/contrib/atf/atf-c++/detail/Kyuafile
  projects/pmac_pmu/contrib/atf/atf-c++/detail/parser.hpp
  projects/pmac_pmu/contrib/atf/atf-c++/detail/process.cpp
  projects/pmac_pmu/contrib/atf/atf-c++/detail/process.hpp
  projects/pmac_pmu/contrib/atf/atf-c++/detail/test_helpers.cpp
  projects/pmac_pmu/contrib/atf/atf-c++/detail/test_helpers.hpp
  projects/pmac_pmu/contrib/atf/atf-c++/macros_test.cpp
  projects/pmac_pmu/contrib/atf/atf-c++/pkg_config_test.sh
  projects/pmac_pmu/contrib/atf/atf-c++/tests.cpp
  projects/pmac_pmu/contrib/atf/atf-c++/tests.hpp
  projects/pmac_pmu/contrib/atf/atf-c++/utils.hpp
  projects/pmac_pmu/contrib/atf/atf-c++/utils_test.cpp
  projects/pmac_pmu/contrib/atf/atf-c.h
  projects/pmac_pmu/contrib/atf/atf-c/atf-c-api.3
  projects/pmac_pmu/contrib/atf/atf-c/check_test.c
  projects/pmac_pmu/contrib/atf/atf-c/detail/Kyuafile
  projects/pmac_pmu/contrib/atf/atf-c/detail/process_test.c
  projects/pmac_pmu/contrib/atf/atf-c/detail/sanity_test.c
  projects/pmac_pmu/contrib/atf/atf-c/detail/test_helpers.c
  projects/pmac_pmu/contrib/atf/atf-c/detail/test_helpers.h
  projects/pmac_pmu/contrib/atf/atf-c/macros.h
  projects/pmac_pmu/contrib/atf/atf-c/macros_test.c
  projects/pmac_pmu/contrib/atf/atf-c/pkg_config_test.sh
  projects/pmac_pmu/contrib/atf/atf-c/utils.c
  projects/pmac_pmu/contrib/atf/atf-c/utils.h
  projects/pmac_pmu/contrib/atf/atf-c/utils_test.c
  projects/pmac_pmu/contrib/atf/atf-sh/atf-check.cpp
  projects/pmac_pmu/contrib/atf/atf-sh/atf-check_test.sh
  projects/pmac_pmu/contrib/atf/atf-sh/atf-sh-api.3
  projects/pmac_pmu/contrib/atf/atf-sh/atf-sh.1
  projects/pmac_pmu/contrib/atf/atf-sh/atf_check_test.sh
  projects/pmac_pmu/contrib/atf/atf-sh/misc_helpers.sh
  projects/pmac_pmu/contrib/atf/bconfig.h
  projects/pmac_pmu/contrib/atf/test-programs/Kyuafile
  projects/pmac_pmu/contrib/atf/test-programs/c_helpers.c
  projects/pmac_pmu/contrib/atf/test-programs/cpp_helpers.cpp
  projects/pmac_pmu/contrib/atf/test-programs/sh_helpers.sh
  projects/pmac_pmu/contrib/binutils/binutils/cxxfilt.c
  projects/pmac_pmu/contrib/bmake/hash.c
  projects/pmac_pmu/contrib/bmake/lst.lib/lstMember.c
  projects/pmac_pmu/contrib/gcc/ChangeLog.gcc43
  projects/pmac_pmu/contrib/gcc/Makefile.in
  projects/pmac_pmu/contrib/gcc/builtin-types.def
  projects/pmac_pmu/contrib/gcc/builtins.c
  projects/pmac_pmu/contrib/gcc/builtins.def
  projects/pmac_pmu/contrib/gcc/c-common.c
  projects/pmac_pmu/contrib/gcc/c-common.h
  projects/pmac_pmu/contrib/gcc/c-decl.c
  projects/pmac_pmu/contrib/gcc/c-opts.c
  projects/pmac_pmu/contrib/gcc/c-ppoutput.c
  projects/pmac_pmu/contrib/gcc/c-typeck.c
  projects/pmac_pmu/contrib/gcc/c.opt
  projects/pmac_pmu/contrib/gcc/cgraphunit.c
  projects/pmac_pmu/contrib/gcc/collect2.c
  projects/pmac_pmu/contrib/gcc/common.opt
  projects/pmac_pmu/contrib/gcc/config/i386/beos-elf.h
  projects/pmac_pmu/contrib/gcc/config/i386/cygwin.h
  projects/pmac_pmu/contrib/gcc/config/i386/i386.c
  projects/pmac_pmu/contrib/gcc/config/i386/i386.h
  projects/pmac_pmu/contrib/gcc/config/i386/i386.md
  projects/pmac_pmu/contrib/gcc/config/i386/nto.h
  projects/pmac_pmu/contrib/gcc/config/rs6000/aix.h
  projects/pmac_pmu/contrib/gcc/config/rs6000/altivec.h
  projects/pmac_pmu/contrib/gcc/config/rs6000/rs6000-c.c
  projects/pmac_pmu/contrib/gcc/config/rs6000/rs6000.c
  projects/pmac_pmu/contrib/gcc/config/rs6000/sysv4.h
  projects/pmac_pmu/contrib/gcc/config/svr4.h
  projects/pmac_pmu/contrib/gcc/configure
  projects/pmac_pmu/contrib/gcc/configure.ac
  projects/pmac_pmu/contrib/gcc/coverage.c
  projects/pmac_pmu/contrib/gcc/cp/call.c
  projects/pmac_pmu/contrib/gcc/cp/cp-lang.c
  projects/pmac_pmu/contrib/gcc/cp/cp-tree.h
  projects/pmac_pmu/contrib/gcc/cp/decl.c
  projects/pmac_pmu/contrib/gcc/cp/decl2.c
  projects/pmac_pmu/contrib/gcc/cp/mangle.c
  projects/pmac_pmu/contrib/gcc/cp/name-lookup.c
  projects/pmac_pmu/contrib/gcc/cp/parser.c
  projects/pmac_pmu/contrib/gcc/cp/pt.c
  projects/pmac_pmu/contrib/gcc/cp/semantics.c
  projects/pmac_pmu/contrib/gcc/cp/tree.c
  projects/pmac_pmu/contrib/gcc/cp/typeck.c
  projects/pmac_pmu/contrib/gcc/cppdefault.c
  projects/pmac_pmu/contrib/gcc/doc/cppopts.texi
  projects/pmac_pmu/contrib/gcc/doc/extend.texi
  projects/pmac_pmu/contrib/gcc/doc/invoke.texi
  projects/pmac_pmu/contrib/gcc/doc/libgcc.texi
  projects/pmac_pmu/contrib/gcc/doc/rtl.texi
  projects/pmac_pmu/contrib/gcc/dwarf2out.c
  projects/pmac_pmu/contrib/gcc/expr.c
  projects/pmac_pmu/contrib/gcc/final.c
  projects/pmac_pmu/contrib/gcc/flags.h
  projects/pmac_pmu/contrib/gcc/fold-const.c
  projects/pmac_pmu/contrib/gcc/gcc.c
  projects/pmac_pmu/contrib/gcc/genattrtab.c
  projects/pmac_pmu/contrib/gcc/genopinit.c
  projects/pmac_pmu/contrib/gcc/gimplify.c
  projects/pmac_pmu/contrib/gcc/langhooks-def.h
  projects/pmac_pmu/contrib/gcc/langhooks.h
  projects/pmac_pmu/contrib/gcc/libgcc-std.ver
  projects/pmac_pmu/contrib/gcc/libgcc2.c
  projects/pmac_pmu/contrib/gcc/libgcc2.h
  projects/pmac_pmu/contrib/gcc/mips-tdump.c
  projects/pmac_pmu/contrib/gcc/mips-tfile.c
  projects/pmac_pmu/contrib/gcc/mklibgcc.in
  projects/pmac_pmu/contrib/gcc/optabs.c
  projects/pmac_pmu/contrib/gcc/optabs.h
  projects/pmac_pmu/contrib/gcc/opts.c
  projects/pmac_pmu/contrib/gcc/postreload-gcse.c
  projects/pmac_pmu/contrib/gcc/print-tree.c
  projects/pmac_pmu/contrib/gcc/regs.h
  projects/pmac_pmu/contrib/gcc/reload1.c
  projects/pmac_pmu/contrib/gcc/rtl.def
  projects/pmac_pmu/contrib/gcc/rtlanal.c
  projects/pmac_pmu/contrib/gcc/simplify-rtx.c
  projects/pmac_pmu/contrib/gcc/toplev.c
  projects/pmac_pmu/contrib/gcc/tree-flow.h
  projects/pmac_pmu/contrib/gcc/tree-ssa-alias.c
  projects/pmac_pmu/contrib/gcc/tree-ssa-propagate.c
  projects/pmac_pmu/contrib/gcc/tree-vrp.c
  projects/pmac_pmu/contrib/gcc/tree.c
  projects/pmac_pmu/contrib/gcc/tree.h
  projects/pmac_pmu/contrib/gcc/varasm.c
  projects/pmac_pmu/contrib/gcclibs/libcpp/Makefile.in
  projects/pmac_pmu/contrib/gcclibs/libcpp/charset.c
  projects/pmac_pmu/contrib/gcclibs/libcpp/directives.c
  projects/pmac_pmu/contrib/gcclibs/libcpp/errors.c
  projects/pmac_pmu/contrib/gcclibs/libcpp/expr.c
  projects/pmac_pmu/contrib/gcclibs/libcpp/files.c
  projects/pmac_pmu/contrib/gcclibs/libcpp/include/cpplib.h
  projects/pmac_pmu/contrib/gcclibs/libcpp/init.c
  projects/pmac_pmu/contrib/gcclibs/libcpp/internal.h
  projects/pmac_pmu/contrib/gcclibs/libcpp/lex.c
  projects/pmac_pmu/contrib/gcclibs/libcpp/macro.c
  projects/pmac_pmu/contrib/gcclibs/libcpp/pch.c
  projects/pmac_pmu/contrib/gcclibs/libiberty/choose-temp.c
  projects/pmac_pmu/contrib/gcclibs/libiberty/cp-demangle.c
  projects/pmac_pmu/contrib/gcclibs/libiberty/cp-demangle.h
  projects/pmac_pmu/contrib/gcclibs/libiberty/floatformat.c
  projects/pmac_pmu/contrib/gcclibs/libiberty/functions.texi
  projects/pmac_pmu/contrib/gcclibs/libiberty/pex-unix.c
  projects/pmac_pmu/contrib/gcclibs/libiberty/strsignal.c
  projects/pmac_pmu/contrib/gcclibs/libiberty/testsuite/demangle-expected
  projects/pmac_pmu/contrib/gcclibs/libiberty/testsuite/test-demangle.c
  projects/pmac_pmu/contrib/gdb/gdb/amd64fbsd-nat.c
  projects/pmac_pmu/contrib/gperf/doc/gperf.1
  projects/pmac_pmu/contrib/gperf/src/options.cc
  projects/pmac_pmu/contrib/gperf/src/options.h
  projects/pmac_pmu/contrib/gperf/src/options.icc
  projects/pmac_pmu/contrib/gperf/src/output.cc
  projects/pmac_pmu/contrib/libexecinfo/backtrace.c
  projects/pmac_pmu/contrib/libstdc++/include/bits/basic_string.h
  projects/pmac_pmu/contrib/libstdc++/include/bits/basic_string.tcc
  projects/pmac_pmu/contrib/libstdc++/include/bits/stl_algobase.h
  projects/pmac_pmu/contrib/libstdc++/include/bits/stl_tree.h
  projects/pmac_pmu/contrib/libstdc++/include/bits/stl_vector.h
  projects/pmac_pmu/contrib/libstdc++/include/ext/hashtable.h
  projects/pmac_pmu/contrib/libstdc++/include/ext/mt_allocator.h
  projects/pmac_pmu/contrib/libstdc++/include/ext/throw_allocator.h
  projects/pmac_pmu/contrib/libstdc++/libsupc++/eh_alloc.cc
  projects/pmac_pmu/contrib/libstdc++/src/mt_allocator.cc
  projects/pmac_pmu/contrib/llvm/include/llvm/Support/Dwarf.h
  projects/pmac_pmu/contrib/llvm/include/llvm/Support/ELF.h
  projects/pmac_pmu/contrib/llvm/lib/Analysis/CaptureTracking.cpp
  projects/pmac_pmu/contrib/llvm/lib/Support/Dwarf.cpp
  projects/pmac_pmu/contrib/llvm/tools/clang/lib/Headers/emmintrin.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBError.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBHostOS.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBProcess.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocation.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolver.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointSiteList.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Breakpoint/StoppointLocation.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Address.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ArchSpec.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionFileDescriptor.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionMachPort.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ConstString.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/DataExtractor.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Disassembler.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/EmulateInstruction.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Error.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Flags.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Log.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Module.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ModuleList.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ModuleSpec.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Opcode.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/PluginManager.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/RangeMap.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/RegularExpression.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/UUID.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/Value.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ValueObject.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectDynamicValue.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Core/dwarf.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/DataVisualization.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatNavigator.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategory.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategoryMap.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSummary.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSynthetic.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Expression/ClangExpressionDeclMap.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Expression/ClangFunction.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Expression/ClangUserExpression.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Expression/DWARFExpression.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Expression/IRExecutionUnit.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Expression/IRForTarget.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Condition.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Config.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/File.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/FileSpec.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Host.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Mutex.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/ProcessRunLock.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/SocketAddress.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Symbols.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/Terminal.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Host/TimeValue.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/Args.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandObject.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueBoolean.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueEnumeration.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/Options.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/PythonDataObjects.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreter.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/Block.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTImporter.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTType.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangNamespaceDecl.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/ObjectFile.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/Symbol.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolContext.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/Symtab.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/Type.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Symbol/TypeList.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/ABI.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/DynamicLoader.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/ExecutionContext.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/LanguageRuntime.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/Platform.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/Process.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/RegisterContext.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/StackFrame.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/StackFrameList.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/StackID.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/Target.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/Thread.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/ThreadList.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunction.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallUserExpression.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepOverRange.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Utility/PythonPointer.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/Utility/SharingPtr.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-defines.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-enumerations.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-forward.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-private-enumerations.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-private-interfaces.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-private-log.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-private.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-python.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-types.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/include/lldb/lldb-versioning.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBCommandInterpreter.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBData.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBDebugger.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBExpressionOptions.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBFileSpec.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBFunction.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBHostOS.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBModule.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBModuleSpec.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBProcess.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBStream.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBSymbol.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBTarget.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBThread.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBType.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBTypeCategory.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBTypeNameSpecifier.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/API/SBValue.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/Breakpoint.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointList.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocation.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolver.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverName.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Breakpoint/StoppointLocation.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandCompletions.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectArgs.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpoint.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectCommands.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectDisassemble.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectFrame.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectHelp.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectLog.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectMemory.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlatform.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectRegister.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectSettings.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectSource.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectTarget.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectType.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpoint.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpointCommand.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Address.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ArchSpec.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Communication.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ConnectionFileDescriptor.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ConnectionMachPort.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ConnectionSharedMemory.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ConstString.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/DataBufferMemoryMap.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/DataExtractor.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Debugger.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Disassembler.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Error.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/FileLineResolver.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Log.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Mangled.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Module.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ModuleList.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Opcode.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/PluginManager.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/SearchFilter.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/SourceManager.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/StreamFile.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Timer.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/Value.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ValueObject.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ValueObjectDynamicValue.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ValueObjectSyntheticFilter.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Core/ValueObjectVariable.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/DataVisualization.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/FormatCache.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/FormatClasses.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/FormatManager.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/LibCxx.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/LibStdcpp.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/NSDictionary.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/NSSet.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategory.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategoryMap.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/TypeFormat.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/DataFormatters/TypeSummary.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/ClangASTSource.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/ClangExpressionDeclMap.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/ClangExpressionParser.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/ClangFunction.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/ClangUserExpression.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/DWARFExpression.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/IRForTarget.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/IRInterpreter.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/IRMemoryMap.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/Condition.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/File.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/FileSpec.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/Host.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/Mutex.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/SocketAddress.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/Terminal.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/common/TimeValue.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Host/freebsd/Host.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/Args.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/CommandInterpreter.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/CommandObject.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupArchitecture.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupBoolean.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFile.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFormat.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupOutputFile.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupPlatform.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupString.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUInt64.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUUID.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupVariable.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFileSpec.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/OptionValueProperties.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/Options.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/PythonDataObjects.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreter.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreterPython.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulationStateARM.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessMessage.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessMessage.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_x86_64.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_x86_64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_x86_64.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_x86_64.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_x86.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ThreadElfCore.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/ClangASTImporter.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/ClangASTType.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/CompileUnit.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/DWARFCallFrameInfo.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/FuncUnwinders.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/LineEntry.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/ObjectFile.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/Symbol.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/SymbolContext.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/Symtab.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/Type.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/UnwindTable.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Symbol/Variable.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ExecutionContext.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/LanguageRuntime.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/Platform.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/Process.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/RegisterContext.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/StackFrame.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/StackFrameList.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/StopInfo.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/Target.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/TargetList.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/Thread.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallUserExpression.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanRunToAddress.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInRange.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOut.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOverRange.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepRange.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepThrough.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepUntil.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Target/UnixSignals.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/PseudoTerminal.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/SharingPtr.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/StringExtractor.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/StringExtractor.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/lldb-log.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/source/lldb.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/Driver.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/Driver.h
  projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/IOChannel.cpp
  projects/pmac_pmu/contrib/llvm/tools/lldb/tools/driver/IOChannel.h
  projects/pmac_pmu/contrib/mdocml/lib.in
  projects/pmac_pmu/contrib/mtree/compare.c
  projects/pmac_pmu/contrib/mtree/create.c
  projects/pmac_pmu/contrib/mtree/spec.c
  projects/pmac_pmu/contrib/netcat/nc.1
  projects/pmac_pmu/contrib/netcat/netcat.c
  projects/pmac_pmu/contrib/nvi/README
  projects/pmac_pmu/contrib/nvi/common/main.c
  projects/pmac_pmu/contrib/nvi/docs/USD.doc/vi.man/vi.1
  projects/pmac_pmu/contrib/nvi/ex/ex_print.c
  projects/pmac_pmu/contrib/nvi/ex/version.h
  projects/pmac_pmu/contrib/nvi/vi/v_txt.c
  projects/pmac_pmu/contrib/nvi/vi/vs_refresh.c
  projects/pmac_pmu/contrib/smbfs/lib/smb/nls.c
  projects/pmac_pmu/contrib/subversion/CHANGES
  projects/pmac_pmu/contrib/subversion/INSTALL
  projects/pmac_pmu/contrib/subversion/Makefile.in
  projects/pmac_pmu/contrib/subversion/build-outputs.mk
  projects/pmac_pmu/contrib/subversion/build.conf
  projects/pmac_pmu/contrib/subversion/configure
  projects/pmac_pmu/contrib/subversion/configure.ac
  projects/pmac_pmu/contrib/subversion/subversion/include/private/svn_client_private.h
  projects/pmac_pmu/contrib/subversion/subversion/include/private/svn_subr_private.h
  projects/pmac_pmu/contrib/subversion/subversion/include/svn_config.h
  projects/pmac_pmu/contrib/subversion/subversion/include/svn_types.h
  projects/pmac_pmu/contrib/subversion/subversion/include/svn_version.h
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_client/commit.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_client/externals.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_client/merge.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_client/mergeinfo.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_client/update.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_diff/diff_file.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_fs/fs-loader.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_fs_base/fs.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_fs_fs/fs.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra/ra_loader.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra/ra_loader.h
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_local/ra_plugin.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_local/split_url.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_serf/commit.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_serf/ra_serf.h
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_serf/replay.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_serf/serf.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_serf/util.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_ra_svn/client.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/auth.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/cache_config.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/cmdline.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/config_auth.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/deprecated.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/dirent_uri.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/internal_statements.h
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/io.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/sysinfo.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/utf.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/version.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_subr/win32_crashrpt.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/diff.h
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/diff_editor.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/diff_local.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/info.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/old-and-busted.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/update_editor.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc-checks.h
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc-metadata.h
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc-queries.h
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc-queries.sql
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc_db.c
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc_db.h
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc_db_private.h
  projects/pmac_pmu/contrib/subversion/subversion/libsvn_wc/wc_db_update_move.c
  projects/pmac_pmu/contrib/subversion/subversion/svn/cl.h
  projects/pmac_pmu/contrib/subversion/subversion/svn/status-cmd.c
  projects/pmac_pmu/contrib/subversion/subversion/svn/status.c
  projects/pmac_pmu/contrib/subversion/subversion/svn/svn.c
  projects/pmac_pmu/contrib/subversion/subversion/svnadmin/svnadmin.c
  projects/pmac_pmu/contrib/subversion/subversion/svndumpfilter/svndumpfilter.c
  projects/pmac_pmu/contrib/subversion/subversion/svnlook/svnlook.c
  projects/pmac_pmu/contrib/subversion/subversion/svnmucc/svnmucc.c
  projects/pmac_pmu/contrib/subversion/subversion/svnserve/svnserve.c
  projects/pmac_pmu/contrib/subversion/subversion/svnsync/svnsync.c
  projects/pmac_pmu/contrib/subversion/subversion/svnversion/svnversion.c
  projects/pmac_pmu/contrib/tcpdump/extract.h
  projects/pmac_pmu/crypto/openssh/ChangeLog
  projects/pmac_pmu/crypto/openssh/README
  projects/pmac_pmu/crypto/openssh/auth-options.c
  projects/pmac_pmu/crypto/openssh/auth2-chall.c
  projects/pmac_pmu/crypto/openssh/authfd.c
  projects/pmac_pmu/crypto/openssh/channels.c
  projects/pmac_pmu/crypto/openssh/cipher-3des1.c
  projects/pmac_pmu/crypto/openssh/clientloop.c
  projects/pmac_pmu/crypto/openssh/contrib/caldera/openssh.spec
  projects/pmac_pmu/crypto/openssh/contrib/redhat/openssh.spec
  projects/pmac_pmu/crypto/openssh/contrib/suse/openssh.spec
  projects/pmac_pmu/crypto/openssh/gss-genr.c
  projects/pmac_pmu/crypto/openssh/monitor_mm.c
  projects/pmac_pmu/crypto/openssh/monitor_wrap.c
  projects/pmac_pmu/crypto/openssh/packet.c
  projects/pmac_pmu/crypto/openssh/schnorr.c
  projects/pmac_pmu/crypto/openssh/sftp-client.c
  projects/pmac_pmu/crypto/openssh/sftp-glob.c
  projects/pmac_pmu/crypto/openssh/sftp-server.0
  projects/pmac_pmu/crypto/openssh/sftp.0
  projects/pmac_pmu/crypto/openssh/ssh_config
  projects/pmac_pmu/crypto/openssh/ssh_config.5
  projects/pmac_pmu/crypto/openssh/sshd_config
  projects/pmac_pmu/crypto/openssh/sshd_config.5
  projects/pmac_pmu/crypto/openssh/umac.c
  projects/pmac_pmu/crypto/openssh/version.h
  projects/pmac_pmu/etc/Makefile
  projects/pmac_pmu/etc/devd/usb.conf
  projects/pmac_pmu/etc/gettytab
  projects/pmac_pmu/etc/mtree/BSD.include.dist
  projects/pmac_pmu/etc/mtree/BSD.root.dist
  projects/pmac_pmu/etc/mtree/BSD.tests.dist
  projects/pmac_pmu/etc/mtree/BSD.usr.dist
  projects/pmac_pmu/etc/mtree/BSD.var.dist
  projects/pmac_pmu/etc/mtree/Makefile
  projects/pmac_pmu/etc/network.subr
  projects/pmac_pmu/etc/pf.os
  projects/pmac_pmu/etc/pkg/FreeBSD.conf
  projects/pmac_pmu/etc/rc
  projects/pmac_pmu/etc/rc.d/ftp-proxy
  projects/pmac_pmu/etc/rc.d/pflog
  projects/pmac_pmu/etc/services
  projects/pmac_pmu/gnu/usr.bin/cc/Makefile.inc
  projects/pmac_pmu/gnu/usr.bin/cc/cc_int/Makefile
  projects/pmac_pmu/gnu/usr.bin/cc/cc_tools/freebsd-native.h
  projects/pmac_pmu/gnu/usr.bin/cc/libcpp/Makefile
  projects/pmac_pmu/include/Makefile
  projects/pmac_pmu/include/iconv.h
  projects/pmac_pmu/include/rpc/auth.h
  projects/pmac_pmu/include/rpc/auth_des.h
  projects/pmac_pmu/include/rpc/auth_kerb.h
  projects/pmac_pmu/include/rpc/auth_unix.h
  projects/pmac_pmu/include/rpc/clnt.h
  projects/pmac_pmu/include/rpc/clnt_soc.h
  projects/pmac_pmu/include/rpc/des.h
  projects/pmac_pmu/include/rpc/des_crypt.h
  projects/pmac_pmu/include/rpc/nettype.h
  projects/pmac_pmu/include/rpc/pmap_clnt.h
  projects/pmac_pmu/include/rpc/pmap_prot.h
  projects/pmac_pmu/include/rpc/pmap_rmt.h
  projects/pmac_pmu/include/rpc/raw.h
  projects/pmac_pmu/include/rpc/rpc.h
  projects/pmac_pmu/include/rpc/rpc_com.h
  projects/pmac_pmu/include/rpc/rpc_msg.h
  projects/pmac_pmu/include/rpc/rpcb_clnt.h
  projects/pmac_pmu/include/rpc/rpcb_prot.x
  projects/pmac_pmu/include/rpc/rpcent.h
  projects/pmac_pmu/include/rpc/svc.h
  projects/pmac_pmu/include/rpc/svc_auth.h
  projects/pmac_pmu/include/rpc/svc_dg.h
  projects/pmac_pmu/include/rpc/svc_soc.h
  projects/pmac_pmu/include/rpc/xdr.h
  projects/pmac_pmu/lib/Makefile
  projects/pmac_pmu/lib/atf/libatf-c++/Makefile
  projects/pmac_pmu/lib/atf/libatf-c++/tests/Makefile
  projects/pmac_pmu/lib/atf/libatf-c/tests/Makefile
  projects/pmac_pmu/lib/atf/tests/test-programs/Makefile
  projects/pmac_pmu/lib/clang/liblldbAPI/Makefile
  projects/pmac_pmu/lib/clang/liblldbCore/Makefile
  projects/pmac_pmu/lib/clang/liblldbDataFormatters/Makefile
  projects/pmac_pmu/lib/clang/liblldbHostCommon/Makefile
  projects/pmac_pmu/lib/clang/liblldbPluginProcessElfCore/Makefile
  projects/pmac_pmu/lib/clang/liblldbPluginProcessFreeBSD/Makefile
  projects/pmac_pmu/lib/clang/liblldbPluginProcessPOSIX/Makefile
  projects/pmac_pmu/lib/clang/liblldbPluginProcessUtility/Makefile
  projects/pmac_pmu/lib/clang/liblldbPluginSymbolFileDWARF/Makefile
  projects/pmac_pmu/lib/clang/liblldbTarget/Makefile
  projects/pmac_pmu/lib/clang/liblldbUtility/Makefile
  projects/pmac_pmu/lib/libc/Makefile
  projects/pmac_pmu/lib/libc/amd64/SYS.h
  projects/pmac_pmu/lib/libc/amd64/gen/_setjmp.S
  projects/pmac_pmu/lib/libc/amd64/gen/setjmp.S
  projects/pmac_pmu/lib/libc/amd64/gen/sigsetjmp.S
  projects/pmac_pmu/lib/libc/amd64/sys/getcontext.S
  projects/pmac_pmu/lib/libc/amd64/sys/pipe.S
  projects/pmac_pmu/lib/libc/amd64/sys/reboot.S
  projects/pmac_pmu/lib/libc/amd64/sys/setlogin.S
  projects/pmac_pmu/lib/libc/amd64/sys/vfork.S
  projects/pmac_pmu/lib/libc/i386/SYS.h
  projects/pmac_pmu/lib/libc/i386/gen/_setjmp.S
  projects/pmac_pmu/lib/libc/i386/gen/setjmp.S
  projects/pmac_pmu/lib/libc/i386/gen/sigsetjmp.S
  projects/pmac_pmu/lib/libc/i386/string/strchr.S
  projects/pmac_pmu/lib/libc/i386/string/strrchr.S
  projects/pmac_pmu/lib/libc/i386/sys/Ovfork.S
  projects/pmac_pmu/lib/libc/i386/sys/getcontext.S
  projects/pmac_pmu/lib/libc/iconv/Makefile.inc
  projects/pmac_pmu/lib/libc/iconv/Symbol.map
  projects/pmac_pmu/lib/libc/iconv/citrus_iconv_local.h
  projects/pmac_pmu/lib/libc/iconv/iconvctl.3
  projects/pmac_pmu/lib/libc/libc.ldscript
  projects/pmac_pmu/lib/libc/posix1e/acl.3
  projects/pmac_pmu/lib/libc/posix1e/acl_is_trivial_np.3
  projects/pmac_pmu/lib/libc/powerpc/SYS.h
  projects/pmac_pmu/lib/libc/powerpc64/SYS.h
  projects/pmac_pmu/lib/libc/rpc/DISCLAIMER
  projects/pmac_pmu/lib/libc/rpc/auth_des.c
  projects/pmac_pmu/lib/libc/rpc/auth_none.c
  projects/pmac_pmu/lib/libc/rpc/auth_unix.c
  projects/pmac_pmu/lib/libc/rpc/authdes_prot.c
  projects/pmac_pmu/lib/libc/rpc/authunix_prot.c
  projects/pmac_pmu/lib/libc/rpc/bindresvport.c
  projects/pmac_pmu/lib/libc/rpc/clnt_bcast.c
  projects/pmac_pmu/lib/libc/rpc/clnt_dg.c
  projects/pmac_pmu/lib/libc/rpc/clnt_generic.c
  projects/pmac_pmu/lib/libc/rpc/clnt_perror.c
  projects/pmac_pmu/lib/libc/rpc/clnt_raw.c
  projects/pmac_pmu/lib/libc/rpc/clnt_simple.c
  projects/pmac_pmu/lib/libc/rpc/clnt_vc.c
  projects/pmac_pmu/lib/libc/rpc/des_crypt.c
  projects/pmac_pmu/lib/libc/rpc/des_soft.c
  projects/pmac_pmu/lib/libc/rpc/getnetconfig.c
  projects/pmac_pmu/lib/libc/rpc/getnetpath.c
  projects/pmac_pmu/lib/libc/rpc/getpublickey.c
  projects/pmac_pmu/lib/libc/rpc/getrpcent.c
  projects/pmac_pmu/lib/libc/rpc/getrpcport.c
  projects/pmac_pmu/lib/libc/rpc/key_call.c
  projects/pmac_pmu/lib/libc/rpc/key_prot_xdr.c
  projects/pmac_pmu/lib/libc/rpc/netname.c
  projects/pmac_pmu/lib/libc/rpc/netnamer.c
  projects/pmac_pmu/lib/libc/rpc/pmap_clnt.c
  projects/pmac_pmu/lib/libc/rpc/pmap_getmaps.c
  projects/pmac_pmu/lib/libc/rpc/pmap_getport.c
  projects/pmac_pmu/lib/libc/rpc/pmap_prot.c
  projects/pmac_pmu/lib/libc/rpc/pmap_prot2.c
  projects/pmac_pmu/lib/libc/rpc/pmap_rmt.c
  projects/pmac_pmu/lib/libc/rpc/rpc_callmsg.c
  projects/pmac_pmu/lib/libc/rpc/rpc_com.h
  projects/pmac_pmu/lib/libc/rpc/rpc_commondata.c
  projects/pmac_pmu/lib/libc/rpc/rpc_dtablesize.c
  projects/pmac_pmu/lib/libc/rpc/rpc_generic.c
  projects/pmac_pmu/lib/libc/rpc/rpc_prot.c
  projects/pmac_pmu/lib/libc/rpc/rpc_soc.c
  projects/pmac_pmu/lib/libc/rpc/rpcb_clnt.c
  projects/pmac_pmu/lib/libc/rpc/rpcb_prot.c
  projects/pmac_pmu/lib/libc/rpc/rpcb_st_xdr.c
  projects/pmac_pmu/lib/libc/rpc/rpcdname.c
  projects/pmac_pmu/lib/libc/rpc/rtime.c
  projects/pmac_pmu/lib/libc/rpc/svc.c
  projects/pmac_pmu/lib/libc/rpc/svc_auth.c
  projects/pmac_pmu/lib/libc/rpc/svc_auth_des.c
  projects/pmac_pmu/lib/libc/rpc/svc_auth_unix.c
  projects/pmac_pmu/lib/libc/rpc/svc_dg.c
  projects/pmac_pmu/lib/libc/rpc/svc_generic.c
  projects/pmac_pmu/lib/libc/rpc/svc_raw.c
  projects/pmac_pmu/lib/libc/rpc/svc_run.c
  projects/pmac_pmu/lib/libc/rpc/svc_simple.c
  projects/pmac_pmu/lib/libc/rpc/svc_vc.c
  projects/pmac_pmu/lib/libc/sparc64/fpu/fpu.c
  projects/pmac_pmu/lib/libc/sparc64/fpu/fpu_sqrt.c
  projects/pmac_pmu/lib/libc/stdio/printf_l.3
  projects/pmac_pmu/lib/libc/stdio/scanf_l.3
  projects/pmac_pmu/lib/libc/string/strcasecmp.3
  projects/pmac_pmu/lib/libc/sys/chmod.2
  projects/pmac_pmu/lib/libc/sys/pdfork.2
  projects/pmac_pmu/lib/libc/sys/wait.2
  projects/pmac_pmu/lib/libc/xdr/xdr_rec.c
  projects/pmac_pmu/lib/libfetch/common.c
  projects/pmac_pmu/lib/libiconv_modules/UTF7/citrus_utf7.c
  projects/pmac_pmu/lib/libiconv_modules/iconv_std/citrus_iconv_std.c
  projects/pmac_pmu/lib/libkse/arch/i386/i386/thr_getcontext.S
  projects/pmac_pmu/lib/libnetgraph/netgraph.3
  projects/pmac_pmu/lib/libpam/libpam/Makefile
  projects/pmac_pmu/lib/libpmc/pmc.h
  projects/pmac_pmu/lib/libproc/proc_sym.c
  projects/pmac_pmu/lib/libsmb/Makefile
  projects/pmac_pmu/lib/libstand/libstand.3
  projects/pmac_pmu/lib/libthr/thread/thr_private.h
  projects/pmac_pmu/lib/libthr/thread/thr_sig.c
  projects/pmac_pmu/lib/libutil/expand_number.3
  projects/pmac_pmu/lib/libvmmapi/vmmapi.c
  projects/pmac_pmu/lib/libvmmapi/vmmapi.h
  projects/pmac_pmu/libexec/Makefile
  projects/pmac_pmu/release/Makefile
  projects/pmac_pmu/release/doc/de_DE.ISO8859-1/readme/article.xml
  projects/pmac_pmu/release/doc/en_US.ISO8859-1/errata/article.xml
  projects/pmac_pmu/release/doc/en_US.ISO8859-1/hardware/article.xml
  projects/pmac_pmu/release/doc/en_US.ISO8859-1/readme/article.xml
  projects/pmac_pmu/release/doc/en_US.ISO8859-1/relnotes/article.xml
  projects/pmac_pmu/release/doc/ru_RU.KOI8-R/readme/article.xml
  projects/pmac_pmu/release/doc/zh_CN.GB2312/readme/article.xml
  projects/pmac_pmu/release/picobsd/build/picobsd
  projects/pmac_pmu/release/release.sh
  projects/pmac_pmu/sbin/Makefile
  projects/pmac_pmu/sbin/fdisk/fdisk.c
  projects/pmac_pmu/sbin/geom/class/mirror/geom_mirror.c
  projects/pmac_pmu/sbin/geom/class/mirror/gmirror.8
  projects/pmac_pmu/sbin/growfs/growfs.8
  projects/pmac_pmu/sbin/ipfw/ipfw2.c
  projects/pmac_pmu/sbin/ipfw/ipfw2.h
  projects/pmac_pmu/sbin/mdconfig/mdconfig.8
  projects/pmac_pmu/sbin/mdconfig/mdconfig.c
  projects/pmac_pmu/sbin/nvmecontrol/firmware.c
  projects/pmac_pmu/sbin/pfctl/pfctl.c
  projects/pmac_pmu/sbin/route/route.c
  projects/pmac_pmu/sbin/swapon/swapon.8
  projects/pmac_pmu/sbin/sysctl/sysctl.8
  projects/pmac_pmu/sbin/sysctl/sysctl.c
  projects/pmac_pmu/share/Makefile
  projects/pmac_pmu/share/dict/README
  projects/pmac_pmu/share/examples/Makefile
  projects/pmac_pmu/share/i18n/esdb/UTF/UTF.alias
  projects/pmac_pmu/share/man/man3/tree.3
  projects/pmac_pmu/share/man/man4/Makefile
  projects/pmac_pmu/share/man/man4/capsicum.4
  projects/pmac_pmu/share/man/man4/gpio.4
  projects/pmac_pmu/share/man/man4/iwn.4
  projects/pmac_pmu/share/man/man4/netgraph.4
  projects/pmac_pmu/share/man/man4/pf.4
  projects/pmac_pmu/share/man/man4/procdesc.4
  projects/pmac_pmu/share/man/man4/rights.4
  projects/pmac_pmu/share/man/man4/run.4
  projects/pmac_pmu/share/man/man4/runfw.4
  projects/pmac_pmu/share/man/man4/u3g.4
  projects/pmac_pmu/share/man/man4/usb.4
  projects/pmac_pmu/share/man/man5/rc.conf.5
  projects/pmac_pmu/share/man/man5/src.conf.5
  projects/pmac_pmu/share/man/man7/development.7
  projects/pmac_pmu/share/man/man7/release.7
  projects/pmac_pmu/share/man/man9/SDT.9
  projects/pmac_pmu/share/misc/bsd-family-tree
  projects/pmac_pmu/share/misc/committers-ports.dot   (contents, props changed)
  projects/pmac_pmu/share/misc/committers-src.dot   (contents, props changed)
  projects/pmac_pmu/share/mk/Makefile
  projects/pmac_pmu/share/mk/atf.test.mk
  projects/pmac_pmu/share/mk/bsd.libnames.mk
  projects/pmac_pmu/share/mk/bsd.own.mk
  projects/pmac_pmu/share/mk/bsd.progs.mk
  projects/pmac_pmu/share/mk/plain.test.mk
  projects/pmac_pmu/sys/amd64/amd64/exception.S
  projects/pmac_pmu/sys/amd64/amd64/machdep.c
  projects/pmac_pmu/sys/amd64/amd64/trap.c
  projects/pmac_pmu/sys/amd64/conf/GENERIC
  projects/pmac_pmu/sys/amd64/ia32/ia32_signal.c
  projects/pmac_pmu/sys/amd64/include/asm.h
  projects/pmac_pmu/sys/amd64/include/pcb.h
  projects/pmac_pmu/sys/amd64/include/segments.h
  projects/pmac_pmu/sys/amd64/include/vmm.h   (contents, props changed)
  projects/pmac_pmu/sys/amd64/include/vmm_dev.h   (contents, props changed)
  projects/pmac_pmu/sys/amd64/linux32/linux32_dummy.c
  projects/pmac_pmu/sys/amd64/linux32/linux32_sysvec.c
  projects/pmac_pmu/sys/amd64/pci/pci_cfgreg.c
  projects/pmac_pmu/sys/amd64/vmm/intel/vmcs.h
  projects/pmac_pmu/sys/amd64/vmm/intel/vmx.c
  projects/pmac_pmu/sys/amd64/vmm/intel/vmx_controls.h
  projects/pmac_pmu/sys/amd64/vmm/intel/vtd.c
  projects/pmac_pmu/sys/amd64/vmm/io/ppt.c
  projects/pmac_pmu/sys/amd64/vmm/io/vlapic.c
  projects/pmac_pmu/sys/amd64/vmm/io/vlapic.h
  projects/pmac_pmu/sys/amd64/vmm/vmm.c
  projects/pmac_pmu/sys/amd64/vmm/vmm_dev.c
  projects/pmac_pmu/sys/amd64/vmm/vmm_ktr.h
  projects/pmac_pmu/sys/amd64/vmm/vmm_lapic.c
  projects/pmac_pmu/sys/amd64/vmm/vmm_lapic.h
  projects/pmac_pmu/sys/arm/arm/db_trace.c
  projects/pmac_pmu/sys/arm/arm/devmap.c
  projects/pmac_pmu/sys/arm/arm/locore.S
  projects/pmac_pmu/sys/arm/arm/machdep.c
  projects/pmac_pmu/sys/arm/arm/pl190.c
  projects/pmac_pmu/sys/arm/arm/pmap-v6.c
  projects/pmac_pmu/sys/arm/arm/trap.c
  projects/pmac_pmu/sys/arm/at91/at91_machdep.c
  projects/pmac_pmu/sys/arm/at91/at91_pioreg.h
  projects/pmac_pmu/sys/arm/at91/files.at91
  projects/pmac_pmu/sys/arm/at91/if_macbvar.h
  projects/pmac_pmu/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
  projects/pmac_pmu/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h
  projects/pmac_pmu/sys/arm/broadcom/bcm2835/bcm2835_dma.c
  projects/pmac_pmu/sys/arm/conf/BEAGLEBONE
  projects/pmac_pmu/sys/arm/econa/econa_machdep.c
  projects/pmac_pmu/sys/arm/econa/if_ece.c
  projects/pmac_pmu/sys/arm/econa/uart_bus_ec.c
  projects/pmac_pmu/sys/arm/econa/uart_cpu_ec.c
  projects/pmac_pmu/sys/arm/freescale/imx/imx6_anatopreg.h
  projects/pmac_pmu/sys/arm/freescale/imx/imx6_machdep.c
  projects/pmac_pmu/sys/arm/freescale/imx/imx6_usbphy.c
  projects/pmac_pmu/sys/arm/freescale/imx/imx_gptreg.h
  projects/pmac_pmu/sys/arm/include/armreg.h
  projects/pmac_pmu/sys/arm/include/machdep.h
  projects/pmac_pmu/sys/arm/lpc/if_lpereg.h
  projects/pmac_pmu/sys/arm/lpc/lpcreg.h
  projects/pmac_pmu/sys/arm/mv/mv_machdep.c
  projects/pmac_pmu/sys/arm/mv/mv_pci.c
  projects/pmac_pmu/sys/arm/rockchip/files.rk30xx
  projects/pmac_pmu/sys/arm/rockchip/rk30xx_machdep.c
  projects/pmac_pmu/sys/arm/s3c2xx0/s3c24x0_machdep.c
  projects/pmac_pmu/sys/arm/sa11x0/assabet_machdep.c
  projects/pmac_pmu/sys/arm/samsung/exynos/ehci_exynos5.c
  projects/pmac_pmu/sys/arm/samsung/exynos/exynos5_machdep.c
  projects/pmac_pmu/sys/arm/samsung/exynos/files.exynos5
  projects/pmac_pmu/sys/arm/ti/files.ti
  projects/pmac_pmu/sys/arm/ti/ti_sdhci.c
  projects/pmac_pmu/sys/arm/xscale/i80321/ep80219_machdep.c
  projects/pmac_pmu/sys/arm/xscale/i80321/iq31244_machdep.c
  projects/pmac_pmu/sys/arm/xscale/i8134x/crb_machdep.c
  projects/pmac_pmu/sys/arm/xscale/i8134x/i81342reg.h
  projects/pmac_pmu/sys/arm/xscale/ixp425/avila_machdep.c
  projects/pmac_pmu/sys/arm/xscale/ixp425/ixp425reg.h
  projects/pmac_pmu/sys/arm/xscale/pxa/pxa_machdep.c
  projects/pmac_pmu/sys/boot/arm/at91/libat91/mci_device.h
  projects/pmac_pmu/sys/boot/arm/uboot/start.S
  projects/pmac_pmu/sys/boot/fdt/dts/rk3188.dtsi
  projects/pmac_pmu/sys/boot/fdt/dts/rpi.dts
  projects/pmac_pmu/sys/boot/forth/beastie.4th
  projects/pmac_pmu/sys/boot/forth/loader.4th
  projects/pmac_pmu/sys/boot/forth/loader.4th.8
  projects/pmac_pmu/sys/boot/forth/loader.rc
  projects/pmac_pmu/sys/boot/forth/menu.rc
  projects/pmac_pmu/sys/boot/i386/efi/reloc.c
  projects/pmac_pmu/sys/boot/i386/libfirewire/fwohci.h
  projects/pmac_pmu/sys/boot/i386/libfirewire/fwohcireg.h
  projects/pmac_pmu/sys/boot/i386/loader/loader.rc
  projects/pmac_pmu/sys/cam/cam_xpt.c
  projects/pmac_pmu/sys/cam/ctl/ctl.c
  projects/pmac_pmu/sys/cam/ctl/ctl_backend_block.c
  projects/pmac_pmu/sys/cam/ctl/ctl_frontend.c
  projects/pmac_pmu/sys/cam/ctl/ctl_private.h
  projects/pmac_pmu/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c
  projects/pmac_pmu/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c
  projects/pmac_pmu/sys/cddl/compat/opensolaris/sys/sdt.h
  projects/pmac_pmu/sys/cddl/compat/opensolaris/sys/vm.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/Makefile.files
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_userhold.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lz4.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_tx.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/sa_impl.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg_impl.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfeature.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_compress.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap.h
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/uts/common/sys/taskq.h
  projects/pmac_pmu/sys/cddl/dev/dtrace/dtrace_test.c
  projects/pmac_pmu/sys/cddl/dev/fbt/fbt_powerpc.c
  projects/pmac_pmu/sys/cddl/dev/lockstat/lockstat.c
  projects/pmac_pmu/sys/cddl/dev/sdt/sdt.c
  projects/pmac_pmu/sys/compat/freebsd32/freebsd32.h
  projects/pmac_pmu/sys/compat/freebsd32/freebsd32_misc.c
  projects/pmac_pmu/sys/compat/linux/linux_dtrace.h
  projects/pmac_pmu/sys/compat/linux/linux_emul.c
  projects/pmac_pmu/sys/compat/linux/linux_fork.c
  projects/pmac_pmu/sys/compat/linux/linux_futex.c
  projects/pmac_pmu/sys/compat/linux/linux_mib.c
  projects/pmac_pmu/sys/compat/linux/linux_misc.c
  projects/pmac_pmu/sys/compat/linux/linux_sysctl.c
  projects/pmac_pmu/sys/compat/linux/linux_time.c
  projects/pmac_pmu/sys/compat/linux/linux_uid16.c
  projects/pmac_pmu/sys/compat/linux/linux_util.c
  projects/pmac_pmu/sys/conf/NOTES
  projects/pmac_pmu/sys/conf/files
  projects/pmac_pmu/sys/conf/files.amd64
  projects/pmac_pmu/sys/conf/files.arm
  projects/pmac_pmu/sys/conf/files.i386
  projects/pmac_pmu/sys/conf/files.powerpc
  projects/pmac_pmu/sys/conf/files.sparc64
  projects/pmac_pmu/sys/conf/kern.pre.mk
  projects/pmac_pmu/sys/conf/kmod.mk
  projects/pmac_pmu/sys/conf/options
  projects/pmac_pmu/sys/conf/options.amd64
  projects/pmac_pmu/sys/conf/options.arm
  projects/pmac_pmu/sys/crypto/aesni/aesni.c
  projects/pmac_pmu/sys/dev/aac/aacvar.h
  projects/pmac_pmu/sys/dev/acpica/acpi_hpet.c
  projects/pmac_pmu/sys/dev/acpica/acpi_video.c
  projects/pmac_pmu/sys/dev/agp/agp_i810.c
  projects/pmac_pmu/sys/dev/ahci/ahci.c
  projects/pmac_pmu/sys/dev/ahci/ahci.h
  projects/pmac_pmu/sys/dev/ata/ata-pci.h
  projects/pmac_pmu/sys/dev/ata/chipsets/ata-intel.c
  projects/pmac_pmu/sys/dev/bge/if_bge.c
  projects/pmac_pmu/sys/dev/bge/if_bgereg.h
  projects/pmac_pmu/sys/dev/bktr/bktr_core.c
  projects/pmac_pmu/sys/dev/bxe/bxe.c
  projects/pmac_pmu/sys/dev/bxe/bxe.h
  projects/pmac_pmu/sys/dev/bxe/bxe_elink.c
  projects/pmac_pmu/sys/dev/bxe/ecore_hsi.h
  projects/pmac_pmu/sys/dev/bxe/ecore_init.h
  projects/pmac_pmu/sys/dev/bxe/ecore_reg.h
  projects/pmac_pmu/sys/dev/bxe/ecore_sp.c
  projects/pmac_pmu/sys/dev/bxe/ecore_sp.h
  projects/pmac_pmu/sys/dev/cesa/cesa.h
  projects/pmac_pmu/sys/dev/cxgbe/common/common.h
  projects/pmac_pmu/sys/dev/cxgbe/common/t4_hw.c
  projects/pmac_pmu/sys/dev/cxgbe/t4_ioctl.h
  projects/pmac_pmu/sys/dev/cxgbe/t4_main.c
  projects/pmac_pmu/sys/dev/cxgbe/t4_sge.c
  projects/pmac_pmu/sys/dev/drm/i915_reg.h
  projects/pmac_pmu/sys/dev/drm/mach64_drv.h
  projects/pmac_pmu/sys/dev/drm/mga_drv.h
  projects/pmac_pmu/sys/dev/drm/r128_drv.h
  projects/pmac_pmu/sys/dev/drm/r300_reg.h
  projects/pmac_pmu/sys/dev/drm/r600_blit.c
  projects/pmac_pmu/sys/dev/drm/radeon_cp.c
  projects/pmac_pmu/sys/dev/drm/radeon_drv.h
  projects/pmac_pmu/sys/dev/drm/via_irq.c
  projects/pmac_pmu/sys/dev/drm2/drm.h
  projects/pmac_pmu/sys/dev/drm2/drmP.h
  projects/pmac_pmu/sys/dev/drm2/drm_drv.c
  projects/pmac_pmu/sys/dev/drm2/drm_fb_helper.c
  projects/pmac_pmu/sys/dev/drm2/drm_ioctl.c
  projects/pmac_pmu/sys/dev/drm2/drm_linux_list_sort.c
  projects/pmac_pmu/sys/dev/drm2/drm_os_freebsd.h
  projects/pmac_pmu/sys/dev/drm2/drm_pci.c
  projects/pmac_pmu/sys/dev/drm2/i915/i915_drv.c
  projects/pmac_pmu/sys/dev/drm2/i915/intel_fb.c
  projects/pmac_pmu/sys/dev/drm2/radeon/evergreen_blit_kms.c
  projects/pmac_pmu/sys/dev/drm2/radeon/evergreen_cs.c
  projects/pmac_pmu/sys/dev/drm2/radeon/evergreend.h
  projects/pmac_pmu/sys/dev/drm2/radeon/nid.h
  projects/pmac_pmu/sys/dev/drm2/radeon/r200.c
  projects/pmac_pmu/sys/dev/drm2/radeon/r300.c
  projects/pmac_pmu/sys/dev/drm2/radeon/r300_reg.h
  projects/pmac_pmu/sys/dev/drm2/radeon/r500_reg.h
  projects/pmac_pmu/sys/dev/drm2/radeon/r600_blit.c
  projects/pmac_pmu/sys/dev/drm2/radeon/r600_blit_kms.c
  projects/pmac_pmu/sys/dev/drm2/radeon/r600_cs.c
  projects/pmac_pmu/sys/dev/drm2/radeon/r600d.h
  projects/pmac_pmu/sys/dev/drm2/radeon/radeon.h
  projects/pmac_pmu/sys/dev/drm2/radeon/radeon_cp.c
  projects/pmac_pmu/sys/dev/drm2/radeon/radeon_drv.c
  projects/pmac_pmu/sys/dev/drm2/radeon/radeon_drv.h
  projects/pmac_pmu/sys/dev/drm2/radeon/radeon_fb.c
  projects/pmac_pmu/sys/dev/drm2/radeon/radeon_pm.c
  projects/pmac_pmu/sys/dev/drm2/radeon/radeon_reg.h
  projects/pmac_pmu/sys/dev/drm2/radeon/rv770d.h
  projects/pmac_pmu/sys/dev/drm2/radeon/sid.h
  projects/pmac_pmu/sys/dev/drm2/ttm/ttm_bo.c
  projects/pmac_pmu/sys/dev/e1000/e1000_82575.h
  projects/pmac_pmu/sys/dev/e1000/e1000_ich8lan.c
  projects/pmac_pmu/sys/dev/e1000/e1000_regs.h
  projects/pmac_pmu/sys/dev/etherswitch/arswitch/arswitchreg.h
  projects/pmac_pmu/sys/dev/ffec/if_ffecreg.h
  projects/pmac_pmu/sys/dev/firewire/firewire.c
  projects/pmac_pmu/sys/dev/firewire/fwohci.c
  projects/pmac_pmu/sys/dev/firewire/fwohcireg.h
  projects/pmac_pmu/sys/dev/firewire/sbp.c
  projects/pmac_pmu/sys/dev/firewire/sbp.h
  projects/pmac_pmu/sys/dev/firewire/sbp_targ.c
  projects/pmac_pmu/sys/dev/gpio/gpiobus.c
  projects/pmac_pmu/sys/dev/hatm/if_hatmreg.h
  projects/pmac_pmu/sys/dev/hwpmc/hwpmc_piv.h
  projects/pmac_pmu/sys/dev/ichsmb/ichsmb_pci.c
  projects/pmac_pmu/sys/dev/iscsi/iscsi.c
  projects/pmac_pmu/sys/dev/isp/isp.c
  projects/pmac_pmu/sys/dev/isp/isp_freebsd.h
  projects/pmac_pmu/sys/dev/isp/isp_library.c
  projects/pmac_pmu/sys/dev/isp/isp_pci.c
  projects/pmac_pmu/sys/dev/iwi/if_iwi.c
  projects/pmac_pmu/sys/dev/iwn/if_iwn.c
  projects/pmac_pmu/sys/dev/iwn/if_iwn_debug.h
  projects/pmac_pmu/sys/dev/iwn/if_iwnreg.h
  projects/pmac_pmu/sys/dev/iwn/if_iwnvar.h
  projects/pmac_pmu/sys/dev/md/md.c
  projects/pmac_pmu/sys/dev/mge/if_mgevar.h
  projects/pmac_pmu/sys/dev/mpt/mpt_cam.c
  projects/pmac_pmu/sys/dev/msk/if_mskreg.h
  projects/pmac_pmu/sys/dev/mvs/mvs.h
  projects/pmac_pmu/sys/dev/mxge/mxge_mcp.h
  projects/pmac_pmu/sys/dev/nand/nand.c
  projects/pmac_pmu/sys/dev/nand/nand.h
  projects/pmac_pmu/sys/dev/nand/nand_cdev.c
  projects/pmac_pmu/sys/dev/nand/nand_generic.c
  projects/pmac_pmu/sys/dev/nand/nand_geom.c
  projects/pmac_pmu/sys/dev/nand/nand_id.c
  projects/pmac_pmu/sys/dev/nand/nandbus.c
  projects/pmac_pmu/sys/dev/oce/oce_hw.h
  projects/pmac_pmu/sys/dev/oce/oce_if.c
  projects/pmac_pmu/sys/dev/oce/oce_if.h
  projects/pmac_pmu/sys/dev/oce/oce_mbox.c
  projects/pmac_pmu/sys/dev/oce/oce_sysctl.c
  projects/pmac_pmu/sys/dev/ofw/ofw_bus_if.m
  projects/pmac_pmu/sys/dev/ofw/ofw_fdt.c
  projects/pmac_pmu/sys/dev/qlxgbe/ql_hw.c
  projects/pmac_pmu/sys/dev/qlxgbe/ql_hw.h
  projects/pmac_pmu/sys/dev/qlxgbe/ql_ioctl.c
  projects/pmac_pmu/sys/dev/qlxge/qls_dump.c
  projects/pmac_pmu/sys/dev/qlxge/qls_ioctl.c
  projects/pmac_pmu/sys/dev/ral/rt2560reg.h
  projects/pmac_pmu/sys/dev/ral/rt2661reg.h
  projects/pmac_pmu/sys/dev/ral/rt2860reg.h
  projects/pmac_pmu/sys/dev/sfxge/common/efsys.h
  projects/pmac_pmu/sys/dev/sfxge/common/siena_nic.c
  projects/pmac_pmu/sys/dev/sound/pci/hda/hdaa.h
  projects/pmac_pmu/sys/dev/sound/pci/hda/hdac.c
  projects/pmac_pmu/sys/dev/sound/pci/hda/hdac.h
  projects/pmac_pmu/sys/dev/sound/pci/hda/hdacc.c
  projects/pmac_pmu/sys/dev/tsec/if_tsec.c
  projects/pmac_pmu/sys/dev/tsec/if_tsec.h
  projects/pmac_pmu/sys/dev/tsec/if_tsec_fdt.c
  projects/pmac_pmu/sys/dev/tsec/if_tsecreg.h
  projects/pmac_pmu/sys/dev/uart/uart.h
  projects/pmac_pmu/sys/dev/uart/uart_bus_fdt.c
  projects/pmac_pmu/sys/dev/uart/uart_cpu_powerpc.c
  projects/pmac_pmu/sys/dev/usb/controller/ehci.h
  projects/pmac_pmu/sys/dev/usb/controller/ehci_pci.c
  projects/pmac_pmu/sys/dev/usb/controller/xhci.c
  projects/pmac_pmu/sys/dev/usb/serial/u3g.c
  projects/pmac_pmu/sys/dev/usb/usb_busdma.c
  projects/pmac_pmu/sys/dev/usb/usbdevs
  projects/pmac_pmu/sys/dev/usb/wlan/if_rsu.c
  projects/pmac_pmu/sys/dev/usb/wlan/if_rum.c
  projects/pmac_pmu/sys/dev/usb/wlan/if_rumreg.h
  projects/pmac_pmu/sys/dev/usb/wlan/if_run.c
  projects/pmac_pmu/sys/dev/usb/wlan/if_runreg.h
  projects/pmac_pmu/sys/dev/usb/wlan/if_runvar.h
  projects/pmac_pmu/sys/dev/usb/wlan/if_ural.c
  projects/pmac_pmu/sys/dev/usb/wlan/if_uralreg.h
  projects/pmac_pmu/sys/dev/usb/wlan/if_urtw.c
  projects/pmac_pmu/sys/dev/usb/wlan/if_urtwreg.h
  projects/pmac_pmu/sys/dev/usb/wlan/if_zydreg.h
  projects/pmac_pmu/sys/dev/wpi/if_wpireg.h
  projects/pmac_pmu/sys/dev/xen/balloon/balloon.c
  projects/pmac_pmu/sys/dev/xen/blkback/blkback.c
  projects/pmac_pmu/sys/dev/xen/netfront/netfront.c
  projects/pmac_pmu/sys/fs/ext2fs/ext2_dinode.h
  projects/pmac_pmu/sys/fs/nfs/nfs_commonkrpc.c
  projects/pmac_pmu/sys/fs/nfs/nfs_commonsubs.c
  projects/pmac_pmu/sys/fs/nfs/nfs_var.h
  projects/pmac_pmu/sys/fs/nfsclient/nfs_clbio.c
  projects/pmac_pmu/sys/fs/nfsclient/nfs_clcomsubs.c
  projects/pmac_pmu/sys/fs/nfsclient/nfs_clkdtrace.c
  projects/pmac_pmu/sys/fs/nfsclient/nfs_clnode.c
  projects/pmac_pmu/sys/fs/nfsclient/nfs_clport.c
  projects/pmac_pmu/sys/fs/nfsclient/nfs_clsubs.c
  projects/pmac_pmu/sys/fs/nfsclient/nfs_clvnops.c
  projects/pmac_pmu/sys/fs/nfsclient/nfs_kdtrace.h
  projects/pmac_pmu/sys/fs/pseudofs/pseudofs_vnops.c
  projects/pmac_pmu/sys/geom/eli/g_eli.c
  projects/pmac_pmu/sys/geom/geom_disk.c
  projects/pmac_pmu/sys/geom/geom_dump.c
  projects/pmac_pmu/sys/geom/geom_int.h
  projects/pmac_pmu/sys/geom/mirror/g_mirror.c
  projects/pmac_pmu/sys/geom/mirror/g_mirror_ctl.c
  projects/pmac_pmu/sys/geom/multipath/g_multipath.c
  projects/pmac_pmu/sys/geom/multipath/g_multipath.h
  projects/pmac_pmu/sys/geom/part/g_part_gpt.c
  projects/pmac_pmu/sys/geom/raid/tr_raid1e.c
  projects/pmac_pmu/sys/i386/conf/GENERIC
  projects/pmac_pmu/sys/i386/conf/NOTES
  projects/pmac_pmu/sys/i386/conf/XEN
  projects/pmac_pmu/sys/i386/i386/exception.s
  projects/pmac_pmu/sys/i386/i386/machdep.c
  projects/pmac_pmu/sys/i386/i386/trap.c
  projects/pmac_pmu/sys/i386/include/asm.h
  projects/pmac_pmu/sys/i386/include/vm86.h
  projects/pmac_pmu/sys/i386/linux/linux_dummy.c
  projects/pmac_pmu/sys/i386/linux/linux_sysvec.c
  projects/pmac_pmu/sys/i386/pci/pci_cfgreg.c
  projects/pmac_pmu/sys/ia64/conf/GENERIC
  projects/pmac_pmu/sys/ia64/ia64/mp_machdep.c
  projects/pmac_pmu/sys/kern/kern_clock.c
  projects/pmac_pmu/sys/kern/kern_clocksource.c
  projects/pmac_pmu/sys/kern/kern_descrip.c
  projects/pmac_pmu/sys/kern/kern_event.c
  projects/pmac_pmu/sys/kern/kern_exec.c
  projects/pmac_pmu/sys/kern/kern_exit.c
  projects/pmac_pmu/sys/kern/kern_fork.c
  projects/pmac_pmu/sys/kern/kern_jail.c
  projects/pmac_pmu/sys/kern/kern_lock.c
  projects/pmac_pmu/sys/kern/kern_lockstat.c
  projects/pmac_pmu/sys/kern/kern_malloc.c
  projects/pmac_pmu/sys/kern/kern_mib.c
  projects/pmac_pmu/sys/kern/kern_mutex.c
  projects/pmac_pmu/sys/kern/kern_priv.c
  projects/pmac_pmu/sys/kern/kern_proc.c
  projects/pmac_pmu/sys/kern/kern_racct.c
  projects/pmac_pmu/sys/kern/kern_rmlock.c
  projects/pmac_pmu/sys/kern/kern_rwlock.c
  projects/pmac_pmu/sys/kern/kern_sdt.c
  projects/pmac_pmu/sys/kern/kern_shutdown.c
  projects/pmac_pmu/sys/kern/kern_sig.c
  projects/pmac_pmu/sys/kern/kern_sx.c
  projects/pmac_pmu/sys/kern/kern_synch.c
  projects/pmac_pmu/sys/kern/kern_thread.c
  projects/pmac_pmu/sys/kern/kern_timeout.c
  projects/pmac_pmu/sys/kern/makesyscalls.sh
  projects/pmac_pmu/sys/kern/sched_4bsd.c
  projects/pmac_pmu/sys/kern/sched_ule.c
  projects/pmac_pmu/sys/kern/subr_capability.c
  projects/pmac_pmu/sys/kern/subr_devstat.c
  projects/pmac_pmu/sys/kern/subr_param.c
  projects/pmac_pmu/sys/kern/subr_sleepqueue.c
  projects/pmac_pmu/sys/kern/subr_syscall.c
  projects/pmac_pmu/sys/kern/subr_taskqueue.c
  projects/pmac_pmu/sys/kern/subr_trap.c
  projects/pmac_pmu/sys/kern/subr_turnstile.c
  projects/pmac_pmu/sys/kern/sys_generic.c
  projects/pmac_pmu/sys/kern/sys_procdesc.c
  projects/pmac_pmu/sys/kern/sysv_shm.c
  projects/pmac_pmu/sys/kern/uipc_mbuf.c
  projects/pmac_pmu/sys/kern/uipc_mqueue.c
  projects/pmac_pmu/sys/kern/uipc_syscalls.c
  projects/pmac_pmu/sys/kern/vfs_bio.c
  projects/pmac_pmu/sys/kern/vfs_cache.c
  projects/pmac_pmu/sys/kern/vfs_lookup.c
  projects/pmac_pmu/sys/kern/vfs_syscalls.c
  projects/pmac_pmu/sys/kern/vfs_vnops.c
  projects/pmac_pmu/sys/kern/vnode_if.src
  projects/pmac_pmu/sys/libkern/iconv.c
  projects/pmac_pmu/sys/mips/atheros/ar71xxreg.h
  projects/pmac_pmu/sys/mips/atheros/ar934xreg.h
  projects/pmac_pmu/sys/mips/atheros/if_argevar.h
  projects/pmac_pmu/sys/mips/malta/gt_pci.c
  projects/pmac_pmu/sys/mips/mips/exception.S
  projects/pmac_pmu/sys/mips/mips/trap.c
  projects/pmac_pmu/sys/mips/nlm/dev/net/nae.c
  projects/pmac_pmu/sys/mips/nlm/xlp_machdep.c
  projects/pmac_pmu/sys/mips/rmi/pic.h
  projects/pmac_pmu/sys/modules/Makefile
  projects/pmac_pmu/sys/modules/crypto/Makefile
  projects/pmac_pmu/sys/modules/ctl/Makefile
  projects/pmac_pmu/sys/modules/drm2/i915kms/Makefile
  projects/pmac_pmu/sys/modules/drm2/radeonkms/Makefile
  projects/pmac_pmu/sys/modules/dtrace/dtrace_test/Makefile
  projects/pmac_pmu/sys/modules/dtrace/lockstat/Makefile
  projects/pmac_pmu/sys/modules/dtrace/sdt/Makefile
  projects/pmac_pmu/sys/modules/ip6_mroute_mod/Makefile
  projects/pmac_pmu/sys/modules/linux/Makefile
  projects/pmac_pmu/sys/modules/nfscl/Makefile
  projects/pmac_pmu/sys/modules/nfsclient/Makefile
  projects/pmac_pmu/sys/modules/nfscommon/Makefile
  projects/pmac_pmu/sys/modules/send/Makefile
  projects/pmac_pmu/sys/modules/usb/Makefile
  projects/pmac_pmu/sys/modules/vmm/Makefile
  projects/pmac_pmu/sys/net/if.c
  projects/pmac_pmu/sys/net/if.h
  projects/pmac_pmu/sys/net/if_ethersubr.c
  projects/pmac_pmu/sys/net/if_gif.c
  projects/pmac_pmu/sys/net/if_gre.c
  projects/pmac_pmu/sys/net/netisr.c
  projects/pmac_pmu/sys/net/pfvar.h
  projects/pmac_pmu/sys/net/route.c
  projects/pmac_pmu/sys/net/vnet.c
  projects/pmac_pmu/sys/net80211/ieee80211_scan.c
  projects/pmac_pmu/sys/net80211/ieee80211_scan_sta.c
  projects/pmac_pmu/sys/netinet/in.c
  projects/pmac_pmu/sys/netinet/in_kdtrace.c
  projects/pmac_pmu/sys/netinet/in_kdtrace.h
  projects/pmac_pmu/sys/netinet/ip_fastfwd.c
  projects/pmac_pmu/sys/netinet/ip_input.c
  projects/pmac_pmu/sys/netinet/ip_output.c
  projects/pmac_pmu/sys/netinet/sctp_bsd_addr.c
  projects/pmac_pmu/sys/netinet/sctp_dtrace_declare.h
  projects/pmac_pmu/sys/netinet/sctp_dtrace_define.h
  projects/pmac_pmu/sys/netinet/sctp_indata.c
  projects/pmac_pmu/sys/netinet/sctp_output.c
  projects/pmac_pmu/sys/netinet/sctp_pcb.c
  projects/pmac_pmu/sys/netinet/tcp_input.c
  projects/pmac_pmu/sys/netinet/tcp_output.c
  projects/pmac_pmu/sys/netinet/tcp_subr.c
  projects/pmac_pmu/sys/netinet/udp_usrreq.c
  projects/pmac_pmu/sys/netinet6/in6.c
  projects/pmac_pmu/sys/netinet6/ip6_input.c
  projects/pmac_pmu/sys/netinet6/ip6_mroute.c
  projects/pmac_pmu/sys/netinet6/nd6.c
  projects/pmac_pmu/sys/netinet6/nd6_nbr.c
  projects/pmac_pmu/sys/netinet6/send.c
  projects/pmac_pmu/sys/netinet6/udp6_usrreq.c
  projects/pmac_pmu/sys/netipsec/ipsec_input.c
  projects/pmac_pmu/sys/netpfil/ipfw/dn_sched.h
  projects/pmac_pmu/sys/netpfil/ipfw/ip_dn_io.c
  projects/pmac_pmu/sys/netpfil/ipfw/ip_dn_private.h
  projects/pmac_pmu/sys/netpfil/ipfw/ip_fw2.c
  projects/pmac_pmu/sys/netpfil/ipfw/ip_fw_dynamic.c
  projects/pmac_pmu/sys/netpfil/ipfw/ip_fw_log.c
  projects/pmac_pmu/sys/netpfil/ipfw/ip_fw_nat.c
  projects/pmac_pmu/sys/netpfil/ipfw/ip_fw_pfil.c
  projects/pmac_pmu/sys/netpfil/ipfw/ip_fw_sockopt.c
  projects/pmac_pmu/sys/netpfil/pf/pf.c
  projects/pmac_pmu/sys/netpfil/pf/pf_ioctl.c
  projects/pmac_pmu/sys/netpfil/pf/pf_lb.c
  projects/pmac_pmu/sys/nfsclient/nfs_bio.c
  projects/pmac_pmu/sys/nfsclient/nfs_krpc.c
  projects/pmac_pmu/sys/nfsclient/nfs_subs.c
  projects/pmac_pmu/sys/nfsclient/nfs_vnops.c
  projects/pmac_pmu/sys/ofed/drivers/infiniband/hw/mlx4/qp.c
  projects/pmac_pmu/sys/ofed/drivers/infiniband/hw/mthca/mthca_mcg.c
  projects/pmac_pmu/sys/ofed/drivers/infiniband/hw/mthca/mthca_qp.c
  projects/pmac_pmu/sys/ofed/drivers/net/mlx4/en_netdev.c
  projects/pmac_pmu/sys/ofed/drivers/net/mlx4/mcg.c
  projects/pmac_pmu/sys/opencrypto/crypto.c
  projects/pmac_pmu/sys/opencrypto/deflate.c
  projects/pmac_pmu/sys/pc98/conf/GENERIC
  projects/pmac_pmu/sys/pc98/pc98/machdep.c
  projects/pmac_pmu/sys/powerpc/aim/locore32.S
  projects/pmac_pmu/sys/powerpc/aim/locore64.S
  projects/pmac_pmu/sys/powerpc/aim/machdep.c
  projects/pmac_pmu/sys/powerpc/aim/mmu_oea64.c
  projects/pmac_pmu/sys/powerpc/aim/trap.c
  projects/pmac_pmu/sys/powerpc/aim/trap_subr32.S
  projects/pmac_pmu/sys/powerpc/aim/trap_subr64.S
  projects/pmac_pmu/sys/powerpc/booke/locore.S
  projects/pmac_pmu/sys/powerpc/booke/machdep.c
  projects/pmac_pmu/sys/powerpc/booke/mp_cpudep.c
  projects/pmac_pmu/sys/powerpc/booke/platform_bare.c
  projects/pmac_pmu/sys/powerpc/booke/pmap.c
  projects/pmac_pmu/sys/powerpc/booke/trap.c
  projects/pmac_pmu/sys/powerpc/booke/trap_subr.S
  projects/pmac_pmu/sys/powerpc/conf/GENERIC
  projects/pmac_pmu/sys/powerpc/fpu/fpu_emu.c
  projects/pmac_pmu/sys/powerpc/fpu/fpu_explode.c
  projects/pmac_pmu/sys/powerpc/fpu/fpu_sqrt.c
  projects/pmac_pmu/sys/powerpc/include/counter.h
  projects/pmac_pmu/sys/powerpc/include/fdt.h
  projects/pmac_pmu/sys/powerpc/include/ofw_machdep.h
  projects/pmac_pmu/sys/powerpc/include/param.h
  projects/pmac_pmu/sys/powerpc/include/pcb.h
  projects/pmac_pmu/sys/powerpc/include/pcpu.h
  projects/pmac_pmu/sys/powerpc/include/pmap.h
  projects/pmac_pmu/sys/powerpc/include/trap.h
  projects/pmac_pmu/sys/powerpc/mpc85xx/mpc85xx.h
  projects/pmac_pmu/sys/powerpc/mpc85xx/pci_mpc85xx.c
  projects/pmac_pmu/sys/powerpc/ofw/ofw_machdep.c
  projects/pmac_pmu/sys/powerpc/ofw/ofw_pcibus.c
  projects/pmac_pmu/sys/powerpc/ofw/ofw_syscons.c
  projects/pmac_pmu/sys/powerpc/ofw/rtas.c
  projects/pmac_pmu/sys/powerpc/powermac/grackle.c
  projects/pmac_pmu/sys/powerpc/powermac/macio.c
  projects/pmac_pmu/sys/powerpc/powermac/nvbl.c
  projects/pmac_pmu/sys/powerpc/powermac/platform_powermac.c
  projects/pmac_pmu/sys/powerpc/powermac/uninorth.c
  projects/pmac_pmu/sys/powerpc/powermac/uninorthpci.c
  projects/pmac_pmu/sys/powerpc/powermac/uninorthvar.h
  projects/pmac_pmu/sys/powerpc/powerpc/cpu.c
  projects/pmac_pmu/sys/powerpc/powerpc/dump_machdep.c
  projects/pmac_pmu/sys/powerpc/powerpc/exec_machdep.c
  projects/pmac_pmu/sys/powerpc/powerpc/fpu.c
  projects/pmac_pmu/sys/powerpc/powerpc/genassym.c
  projects/pmac_pmu/sys/powerpc/powerpc/platform.c
  projects/pmac_pmu/sys/powerpc/powerpc/platform_if.m
  projects/pmac_pmu/sys/powerpc/ps3/platform_ps3.c
  projects/pmac_pmu/sys/powerpc/pseries/mmu_phyp.c
  projects/pmac_pmu/sys/powerpc/pseries/phyp_console.c
  projects/pmac_pmu/sys/powerpc/pseries/platform_chrp.c
  projects/pmac_pmu/sys/powerpc/pseries/plpar_iommu.c
  projects/pmac_pmu/sys/powerpc/pseries/rtas_pci.c
  projects/pmac_pmu/sys/powerpc/wii/platform_wii.c
  projects/pmac_pmu/sys/rpc/auth.h
  projects/pmac_pmu/sys/rpc/auth_none.c
  projects/pmac_pmu/sys/rpc/auth_unix.c
  projects/pmac_pmu/sys/rpc/authunix_prot.c
  projects/pmac_pmu/sys/rpc/clnt.h
  projects/pmac_pmu/sys/rpc/clnt_dg.c
  projects/pmac_pmu/sys/rpc/clnt_vc.c
  projects/pmac_pmu/sys/rpc/krpc.h
  projects/pmac_pmu/sys/rpc/nettype.h
  projects/pmac_pmu/sys/rpc/pmap_prot.h
  projects/pmac_pmu/sys/rpc/rpc.h
  projects/pmac_pmu/sys/rpc/rpc_callmsg.c
  projects/pmac_pmu/sys/rpc/rpc_com.h
  projects/pmac_pmu/sys/rpc/rpc_generic.c
  projects/pmac_pmu/sys/rpc/rpc_msg.h
  projects/pmac_pmu/sys/rpc/rpc_prot.c
  projects/pmac_pmu/sys/rpc/rpcb_clnt.c
  projects/pmac_pmu/sys/rpc/rpcb_clnt.h
  projects/pmac_pmu/sys/rpc/rpcb_prot.c
  projects/pmac_pmu/sys/rpc/rpcb_prot.h
  projects/pmac_pmu/sys/rpc/svc.c
  projects/pmac_pmu/sys/rpc/svc.h
  projects/pmac_pmu/sys/rpc/svc_auth.c
  projects/pmac_pmu/sys/rpc/svc_auth.h
  projects/pmac_pmu/sys/rpc/svc_auth_unix.c
  projects/pmac_pmu/sys/rpc/svc_dg.c
  projects/pmac_pmu/sys/rpc/svc_generic.c
  projects/pmac_pmu/sys/rpc/svc_vc.c
  projects/pmac_pmu/sys/rpc/types.h
  projects/pmac_pmu/sys/rpc/xdr.h
  projects/pmac_pmu/sys/security/audit/audit_bsm_klib.c
  projects/pmac_pmu/sys/security/mac/mac_audit.c
  projects/pmac_pmu/sys/security/mac/mac_cred.c
  projects/pmac_pmu/sys/security/mac/mac_framework.c
  projects/pmac_pmu/sys/security/mac/mac_inet.c
  projects/pmac_pmu/sys/security/mac/mac_internal.h
  projects/pmac_pmu/sys/security/mac/mac_net.c
  projects/pmac_pmu/sys/security/mac/mac_pipe.c
  projects/pmac_pmu/sys/security/mac/mac_posix_sem.c
  projects/pmac_pmu/sys/security/mac/mac_posix_shm.c
  projects/pmac_pmu/sys/security/mac/mac_priv.c
  projects/pmac_pmu/sys/security/mac/mac_process.c
  projects/pmac_pmu/sys/security/mac/mac_socket.c
  projects/pmac_pmu/sys/security/mac/mac_system.c
  projects/pmac_pmu/sys/security/mac/mac_sysv_msg.c
  projects/pmac_pmu/sys/security/mac/mac_sysv_sem.c
  projects/pmac_pmu/sys/security/mac/mac_sysv_shm.c
  projects/pmac_pmu/sys/security/mac/mac_vfs.c
  projects/pmac_pmu/sys/sparc64/conf/GENERIC
  projects/pmac_pmu/sys/sparc64/sparc64/machdep.c
  projects/pmac_pmu/sys/sys/bufobj.h
  projects/pmac_pmu/sys/sys/capability.h
  projects/pmac_pmu/sys/sys/consio.h
  projects/pmac_pmu/sys/sys/eventhandler.h
  projects/pmac_pmu/sys/sys/fbio.h
  projects/pmac_pmu/sys/sys/file.h
  projects/pmac_pmu/sys/sys/ktr.h
  projects/pmac_pmu/sys/sys/lock.h
  projects/pmac_pmu/sys/sys/mdioctl.h
  projects/pmac_pmu/sys/sys/mount.h
  projects/pmac_pmu/sys/sys/mutex.h
  projects/pmac_pmu/sys/sys/param.h
  projects/pmac_pmu/sys/sys/rwlock.h
  projects/pmac_pmu/sys/sys/sdt.h
  projects/pmac_pmu/sys/sys/sockio.h
  projects/pmac_pmu/sys/sys/sx.h
  projects/pmac_pmu/sys/sys/sysctl.h
  projects/pmac_pmu/sys/sys/systm.h
  projects/pmac_pmu/sys/sys/taskqueue.h
  projects/pmac_pmu/sys/sys/tty.h
  projects/pmac_pmu/sys/sys/user.h
  projects/pmac_pmu/sys/teken/teken.c
  projects/pmac_pmu/sys/teken/teken.h
  projects/pmac_pmu/sys/teken/teken_subr.h
  projects/pmac_pmu/sys/tools/vnode_if.awk
  projects/pmac_pmu/sys/ufs/ffs/ffs_softdep.c
  projects/pmac_pmu/sys/ufs/ffs/softdep.h
  projects/pmac_pmu/sys/vm/uma_core.c
  projects/pmac_pmu/sys/vm/uma_int.h
  projects/pmac_pmu/sys/vm/vm_fault.c
  projects/pmac_pmu/sys/vm/vm_map.c
  projects/pmac_pmu/sys/vm/vm_pageout.c
  projects/pmac_pmu/sys/x86/include/mptable.h
  projects/pmac_pmu/sys/x86/include/psl.h
  projects/pmac_pmu/sys/x86/iommu/intel_drv.c
  projects/pmac_pmu/sys/x86/iommu/intel_fault.c
  projects/pmac_pmu/sys/x86/iommu/intel_idpgtbl.c
  projects/pmac_pmu/sys/x86/iommu/intel_reg.h
  projects/pmac_pmu/sys/x86/x86/local_apic.c
  projects/pmac_pmu/tools/build/mk/OptionalObsoleteFiles.inc
  projects/pmac_pmu/tools/build/options/WITHOUT_PKGBOOTSTRAP
  projects/pmac_pmu/tools/regression/fsx/fsx.c
  projects/pmac_pmu/tools/regression/usr.sbin/etcupdate/always.sh
  projects/pmac_pmu/tools/regression/usr.sbin/etcupdate/conflicts.sh
  projects/pmac_pmu/tools/regression/usr.sbin/etcupdate/fbsdid.sh
  projects/pmac_pmu/tools/regression/usr.sbin/etcupdate/ignore.sh
  projects/pmac_pmu/tools/regression/usr.sbin/etcupdate/tests.sh
  projects/pmac_pmu/tools/test/dtrace/Makefile
  projects/pmac_pmu/tools/tools/bus_autoconf/bus_autoconf.sh
  projects/pmac_pmu/tools/tools/cxgbetool/Makefile
  projects/pmac_pmu/tools/tools/cxgbetool/cxgbetool.c
  projects/pmac_pmu/tools/tools/nanobsd/nanobsd.sh
  projects/pmac_pmu/tools/tools/netmap/pkt-gen.c
  projects/pmac_pmu/tools/tools/umastat/umastat.c
  projects/pmac_pmu/tools/tools/zfsboottest/Makefile
  projects/pmac_pmu/usr.bin/calendar/calendars/calendar.freebsd   (contents, props changed)
  projects/pmac_pmu/usr.bin/cmp/cmp.1
  projects/pmac_pmu/usr.bin/from/from.c
  projects/pmac_pmu/usr.bin/iscsictl/iscsictl.c
  projects/pmac_pmu/usr.bin/login/login.c
  projects/pmac_pmu/usr.bin/procstat/procstat_files.c
  projects/pmac_pmu/usr.bin/script/script.1
  projects/pmac_pmu/usr.bin/script/script.c
  projects/pmac_pmu/usr.bin/svn/svn/Makefile
  projects/pmac_pmu/usr.bin/svn/svn_private_config.h
  projects/pmac_pmu/usr.bin/uname/uname.1
  projects/pmac_pmu/usr.bin/yacc/Makefile
  projects/pmac_pmu/usr.sbin/acpi/acpidump/acpi.c
  projects/pmac_pmu/usr.sbin/bhyve/Makefile
  projects/pmac_pmu/usr.sbin/bhyve/acpi.c
  projects/pmac_pmu/usr.sbin/bhyve/bhyverun.c
  projects/pmac_pmu/usr.sbin/bhyve/mptbl.c
  projects/pmac_pmu/usr.sbin/bhyve/pci_ahci.c
  projects/pmac_pmu/usr.sbin/bhyve/pci_emul.c
  projects/pmac_pmu/usr.sbin/bhyve/pci_emul.h
  projects/pmac_pmu/usr.sbin/bhyve/pci_lpc.c
  projects/pmac_pmu/usr.sbin/bhyve/pit_8254.c
  projects/pmac_pmu/usr.sbin/bhyve/uart_emul.c
  projects/pmac_pmu/usr.sbin/bhyveload/bhyveload.8
  projects/pmac_pmu/usr.sbin/bhyveload/bhyveload.c
  projects/pmac_pmu/usr.sbin/bluetooth/bthidd/kbd.c
  projects/pmac_pmu/usr.sbin/bsdconfig/Makefile
  projects/pmac_pmu/usr.sbin/bsdconfig/console/include/messages.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/console/ttys
  projects/pmac_pmu/usr.sbin/bsdconfig/dot/dot
  projects/pmac_pmu/usr.sbin/bsdconfig/include/messages.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/mouse/include/messages.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/networking/devices
  projects/pmac_pmu/usr.sbin/bsdconfig/networking/include/messages.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/networking/share/device.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/packages/packages
  projects/pmac_pmu/usr.sbin/bsdconfig/share/common.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/share/device.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/share/media/cdrom.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/share/media/http.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/share/media/tcpip.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/share/packages/index.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/share/packages/packages.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/share/sysrc.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/share/variable.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/startup/include/messages.subr
  projects/pmac_pmu/usr.sbin/bsdconfig/usermgmt/include/messages.subr
  projects/pmac_pmu/usr.sbin/bsdinstall/scripts/zfsboot
  projects/pmac_pmu/usr.sbin/ctld/ctl.conf.5
  projects/pmac_pmu/usr.sbin/ctld/parse.y
  projects/pmac_pmu/usr.sbin/etcupdate/etcupdate.8
  projects/pmac_pmu/usr.sbin/etcupdate/etcupdate.sh
  projects/pmac_pmu/usr.sbin/gpioctl/gpioctl.8
  projects/pmac_pmu/usr.sbin/iostat/iostat.c
  projects/pmac_pmu/usr.sbin/makefs/ffs.c
  projects/pmac_pmu/usr.sbin/mergemaster/mergemaster.sh
  projects/pmac_pmu/usr.sbin/mfiutil/mfi_show.c
  projects/pmac_pmu/usr.sbin/mfiutil/mfiutil.c
  projects/pmac_pmu/usr.sbin/pkg/pkg.7
  projects/pmac_pmu/usr.sbin/pkg/pkg.c
  projects/pmac_pmu/usr.sbin/portsnap/portsnap/portsnap.sh
  projects/pmac_pmu/usr.sbin/rpcbind/check_bound.c
  projects/pmac_pmu/usr.sbin/rpcbind/pmap_svc.c
  projects/pmac_pmu/usr.sbin/rpcbind/rpcb_stat.c
  projects/pmac_pmu/usr.sbin/rpcbind/rpcb_svc.c
  projects/pmac_pmu/usr.sbin/rpcbind/rpcb_svc_4.c
  projects/pmac_pmu/usr.sbin/rpcbind/rpcb_svc_com.c
  projects/pmac_pmu/usr.sbin/rpcbind/rpcbind.c
  projects/pmac_pmu/usr.sbin/rpcbind/rpcbind.h
  projects/pmac_pmu/usr.sbin/rpcbind/warmstart.c
  projects/pmac_pmu/usr.sbin/rwhod/rwhod.c
  projects/pmac_pmu/usr.sbin/syslogd/syslogd.c
  projects/pmac_pmu/usr.sbin/sysrc/sysrc.8
  projects/pmac_pmu/usr.sbin/wpa/ndis_events/ndis_events.8
Directory Properties:
  projects/pmac_pmu/   (props changed)
  projects/pmac_pmu/cddl/   (props changed)
  projects/pmac_pmu/cddl/contrib/opensolaris/   (props changed)
  projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/   (props changed)
  projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zfs/   (props changed)
  projects/pmac_pmu/cddl/contrib/opensolaris/lib/libzfs/   (props changed)
  projects/pmac_pmu/contrib/apr-util/   (props changed)
  projects/pmac_pmu/contrib/atf/   (props changed)
  projects/pmac_pmu/contrib/binutils/   (props changed)
  projects/pmac_pmu/contrib/bmake/   (props changed)
  projects/pmac_pmu/contrib/gcc/   (props changed)
  projects/pmac_pmu/contrib/gdb/   (props changed)
  projects/pmac_pmu/contrib/libexecinfo/   (props changed)
  projects/pmac_pmu/contrib/libstdc++/   (props changed)
  projects/pmac_pmu/contrib/llvm/   (props changed)
  projects/pmac_pmu/contrib/llvm/tools/clang/   (props changed)
  projects/pmac_pmu/contrib/llvm/tools/lldb/   (props changed)
  projects/pmac_pmu/contrib/mtree/   (props changed)
  projects/pmac_pmu/contrib/netcat/   (props changed)
  projects/pmac_pmu/contrib/nvi/   (props changed)
  projects/pmac_pmu/contrib/subversion/   (props changed)
  projects/pmac_pmu/contrib/tcpdump/   (props changed)
  projects/pmac_pmu/crypto/openssh/   (props changed)
  projects/pmac_pmu/etc/   (props changed)
  projects/pmac_pmu/gnu/usr.bin/cc/cc_tools/   (props changed)
  projects/pmac_pmu/include/   (props changed)
  projects/pmac_pmu/lib/libc/   (props changed)
  projects/pmac_pmu/lib/libutil/   (props changed)
  projects/pmac_pmu/lib/libvmmapi/   (props changed)
  projects/pmac_pmu/sbin/   (props changed)
  projects/pmac_pmu/sbin/ipfw/   (props changed)
  projects/pmac_pmu/share/man/man4/   (props changed)
  projects/pmac_pmu/sys/   (props changed)
  projects/pmac_pmu/sys/amd64/vmm/   (props changed)
  projects/pmac_pmu/sys/boot/   (props changed)
  projects/pmac_pmu/sys/boot/i386/efi/   (props changed)
  projects/pmac_pmu/sys/cddl/contrib/opensolaris/   (props changed)
  projects/pmac_pmu/sys/conf/   (props changed)
  projects/pmac_pmu/sys/modules/vmm/   (props changed)
  projects/pmac_pmu/usr.bin/calendar/   (props changed)
  projects/pmac_pmu/usr.bin/procstat/   (props changed)
  projects/pmac_pmu/usr.sbin/bhyve/   (props changed)
  projects/pmac_pmu/usr.sbin/bhyveload/   (props changed)

Modified: projects/pmac_pmu/Makefile.inc1
==============================================================================
--- projects/pmac_pmu/Makefile.inc1	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/Makefile.inc1	Fri Dec  6 01:16:26 2013	(r259021)
@@ -136,7 +136,7 @@ REVISION!=	make -C ${SRCDIR}/release -V 
 BRANCH!=	make -C ${SRCDIR}/release -V BRANCH
 SRCRELDATE!=	awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
 		${SRCDIR}/sys/sys/param.h
-VERSION=	FreeBSD ${REVISION}-${BRANCH} ${TARGET_ARCH} ${SRCRELDATE}
+VERSION=	FreeBSD ${REVISION}-${BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDATE}
 .endif
 
 KNOWN_ARCHES?=	amd64 arm armeb/arm armv6/arm i386 i386/pc98 ia64 mips mipsel/mips mips64el/mips mips64/mips mipsn32el/mips mipsn32/mips powerpc powerpc64/powerpc sparc64
@@ -509,7 +509,7 @@ _worldtmp:
 .endif
 .if ${MK_TESTS} != "no"
 	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \
-	    -p ${WORLDTMP}${TESTSBASE} >/dev/null
+	    -p ${WORLDTMP}/usr >/dev/null
 .endif
 .for _mtree in ${LOCAL_MTREE}
 	mtree -deU -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null
@@ -1475,11 +1475,13 @@ _startup_libs+=	lib/csu/${MACHINE_CPUARC
 _startup_libs+=	gnu/lib/libgcc
 _startup_libs+=	lib/libcompiler_rt
 _startup_libs+=	lib/libc
+_startup_libs+=	lib/libc_nonshared
 .if ${MK_LIBCPLUSPLUS} != "no"
 _startup_libs+=	lib/libcxxrt
 .endif
 
 gnu/lib/libgcc__L: lib/libc__L
+gnu/lib/libgcc__L: lib/libc_nonshared__L
 .if ${MK_LIBCPLUSPLUS} != "no"
 lib/libcxxrt__L: gnu/lib/libgcc__L
 .endif
@@ -1497,13 +1499,14 @@ _prebuild_libs=	${_kerberos5_lib_libasn1
 		lib/libbz2 ${_libcom_err} lib/libcrypt \
 		lib/libelf lib/libexpat \
 		${_lib_libgssapi} ${_lib_libipx} \
-		lib/libkiconv lib/libkvm lib/liblzma lib/libmd \
+		lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \
+		${_lib_libcapsicum} \
 		lib/ncurses/ncurses lib/ncurses/ncursesw \
 		lib/libopie lib/libpam ${_lib_libthr} \
 		lib/libradius lib/libsbuf lib/libtacplus \
 		${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \
 		${_cddl_lib_libzfs_core} \
-		lib/libutil ${_lib_libypclnt} lib/libz lib/msun \
+		lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \
 		${_secure_lib_libcrypto} ${_lib_libldns} \
 		${_secure_lib_libssh} ${_secure_lib_libssl}
 
@@ -1519,6 +1522,13 @@ _lib_libthr=	lib/libthr
 _ofed_lib=	contrib/ofed/usr.lib/
 .endif
 
+.if ${MK_CASPER} != "no"
+_lib_libcapsicum=lib/libcapsicum
+.endif
+
+lib/libcapsicum__L: lib/libnv__L
+lib/libpjdlog__L: lib/libutil__L
+
 _generic_libs=	${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib ${_ofed_lib}
 .for _DIR in ${LOCAL_LIB_DIRS}
 .if exists(${.CURDIR}/${_DIR}/Makefile)

Modified: projects/pmac_pmu/ObsoleteFiles.inc
==============================================================================
--- projects/pmac_pmu/ObsoleteFiles.inc	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/ObsoleteFiles.inc	Fri Dec  6 01:16:26 2013	(r259021)
@@ -38,18 +38,28 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20131202: libcapsicum and libcasper moved to /lib/
+OLD_LIBS+=usr/lib/libcapsicum.so.0
+OLD_LIBS+=usr/lib/libcasper.so.0
 # 20131109: extattr(2) mlinks fixed
 OLD_FILES+=usr/share/man/man2/extattr_delete_list.2.gz
 OLD_FILES+=usr/share/man/man2/extattr_get_list.2.gz
 # 20131107: example files removed
 OLD_FILES+=usr/share/examples/libusb20/aux.c
 OLD_FILES+=usr/share/examples/libusb20/aux.h
+# 20131105: tzdata 2013h import
+OLD_FILES+=usr/share/zoneinfo/America/Shiprock
+OLD_FILES+=usr/share/zoneinfo/Antarctica/South_Pole
 # 20131103: WITH_LIBICONV_COMPAT removal
 OLD_FILES+=usr/include/_libiconv_compat.h
 OLD_FILES+=usr/lib/libiconv.a
 OLD_FILES+=usr/lib/libiconv.so
 OLD_FILES+=usr/lib/libiconv.so.3
 OLD_FILES+=usr/lib/libiconv_p.a
+OLD_FILES+=usr/lib32/libiconv.a
+OLD_FILES+=usr/lib32/libiconv.so
+OLD_FILES+=usr/lib32/libiconv.so.3
+OLD_FILES+=usr/lib32/libiconv_p.a
 # 20131103: removal of utxrm(8), use 'utx rm' instead.
 OLD_FILES+=usr/sbin/utxrm
 OLD_FILES+=usr/share/man/man8/utxrm.8.gz
@@ -79,8 +89,14 @@ OLD_FILES+=etc/keys/pkg/trusted/pkg.free
 # 20131028: ng_fec(4) removed
 OLD_FILES+=usr/include/netgraph/ng_fec.h
 OLD_FILES+=usr/share/man/man4/ng_fec.4.gz
+# 20131027: header moved
+OLD_FILES+=usr/include/net/pf_mtag.h
 # 20131023: remove never used iscsi directory
 OLD_DIRS+=usr/share/examples/iscsi
+# 20131021: isf(4) removed
+OLD_FILES+=usr/sbin/isfctl
+OLD_FILES+=usr/share/man/man4/isf.4.gz
+OLD_FILES+=usr/share/man/man8/isfctl.8.gz
 # 20131014: libbsdyml becomes private
 OLD_FILES+=usr/lib/libbsdyml.a
 OLD_FILES+=usr/lib/libbsdyml.so
@@ -119,6 +135,7 @@ OLD_FILES+=usr/bin/gnu-ranlib
 OLD_FILES+=usr/share/man/man1/gnu-ar.1.gz
 OLD_FILES+=usr/share/man/man1/gnu-ranlib.1.gz
 # 20130930: BIND removed from base
+OLD_FILES+=etc/mtree/BIND.chroot.dist
 OLD_FILES+=etc/namedb
 OLD_FILES+=etc/periodic/daily/470.status-named
 OLD_FILES+=usr/bin/dig

Modified: projects/pmac_pmu/UPDATING
==============================================================================
--- projects/pmac_pmu/UPDATING	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/UPDATING	Fri Dec  6 01:16:26 2013	(r259021)
@@ -76,7 +76,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	BIND has been removed from the base system.  If all you need
 	is a local resolver, simply enable and start the local_unbound
 	service instead.  Otherwise, several versions of BIND are
-	available in the ports tree.
+	available in the ports tree.   The dns/bind99 port is one example.
+
+	With this change, nslookup(1) and dig(1) are no longer in the base
+	system.  Users should instead use host(1) and drill(1) which are
+	in the base system.  Alternatively, nslookup and dig can
+	be obtained by installing the dns/bind-tools port.
 
 20130916:
 	With the addition of unbound(8), a new unbound user is now

Modified: projects/pmac_pmu/bin/pkill/pkill.c
==============================================================================
--- projects/pmac_pmu/bin/pkill/pkill.c	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/bin/pkill/pkill.c	Fri Dec  6 01:16:26 2013	(r259021)
@@ -318,7 +318,10 @@ main(int argc, char **argv)
 	 * Use KERN_PROC_PROC instead of KERN_PROC_ALL, since we
 	 * just want processes and not individual kernel threads.
 	 */
-	plist = kvm_getprocs(kd, KERN_PROC_PROC, 0, &nproc);
+	if (pidfromfile >= 0)
+		plist = kvm_getprocs(kd, KERN_PROC_PID, pidfromfile, &nproc);
+	else
+		plist = kvm_getprocs(kd, KERN_PROC_PROC, 0, &nproc);
 	if (plist == NULL) {
 		errx(STATUS_ERROR, "Cannot get process list (%s)",
 		    kvm_geterr(kd));

Modified: projects/pmac_pmu/bin/sh/cd.c
==============================================================================
--- projects/pmac_pmu/bin/sh/cd.c	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/bin/sh/cd.c	Fri Dec  6 01:16:26 2013	(r259021)
@@ -182,6 +182,7 @@ cdlogical(char *dest)
 	struct stat statb;
 	int first;
 	int badstat;
+	size_t len;
 
 	/*
 	 *  Check each component of the path. If we find a symlink or
@@ -189,8 +190,9 @@ cdlogical(char *dest)
 	 *  next time we get the value of the current directory.
 	 */
 	badstat = 0;
-	cdcomppath = stalloc(strlen(dest) + 1);
-	scopy(dest, cdcomppath);
+	len = strlen(dest);
+	cdcomppath = stalloc(len + 1);
+	memcpy(cdcomppath, dest, len + 1);
 	STARTSTACKSTR(p);
 	if (*dest == '/') {
 		STPUTC('/', p);
@@ -275,6 +277,7 @@ findcwd(char *dir)
 {
 	char *new;
 	char *p;
+	size_t len;
 
 	/*
 	 * If our argument is NULL, we don't know the current directory
@@ -283,8 +286,9 @@ findcwd(char *dir)
 	 */
 	if (dir == NULL || curdir == NULL)
 		return getpwd2();
-	cdcomppath = stalloc(strlen(dir) + 1);
-	scopy(dir, cdcomppath);
+	len = strlen(dir);
+	cdcomppath = stalloc(len + 1);
+	memcpy(cdcomppath, dir, len + 1);
 	STARTSTACKSTR(new);
 	if (*dir != '/') {
 		STPUTS(curdir, new);

Modified: projects/pmac_pmu/bin/sh/exec.c
==============================================================================
--- projects/pmac_pmu/bin/sh/exec.c	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/bin/sh/exec.c	Fri Dec  6 01:16:26 2013	(r259021)
@@ -187,14 +187,15 @@ padvance(const char **path, const char *
 {
 	const char *p, *start;
 	char *q;
-	size_t len;
+	size_t len, namelen;
 
 	if (*path == NULL)
 		return NULL;
 	start = *path;
 	for (p = start; *p && *p != ':' && *p != '%'; p++)
 		; /* nothing */
-	len = p - start + strlen(name) + 2;	/* "2" is for '/' and '\0' */
+	namelen = strlen(name);
+	len = p - start + namelen + 2;	/* "2" is for '/' and '\0' */
 	STARTSTACKSTR(q);
 	CHECKSTRSPACE(len, q);
 	if (p != start) {
@@ -202,7 +203,7 @@ padvance(const char **path, const char *
 		q += p - start;
 		*q++ = '/';
 	}
-	strcpy(q, name);
+	memcpy(q, name, namelen + 1);
 	pathopt = NULL;
 	if (*p == '%') {
 		pathopt = ++p;
@@ -527,6 +528,7 @@ cmdlookup(const char *name, int add)
 	const char *p;
 	struct tblentry *cmdp;
 	struct tblentry **pp;
+	size_t len;
 
 	p = name;
 	hashval = *p << 4;
@@ -541,11 +543,11 @@ cmdlookup(const char *name, int add)
 	}
 	if (add && cmdp == NULL) {
 		INTOFF;
-		cmdp = *pp = ckmalloc(sizeof (struct tblentry)
-					+ strlen(name) + 1);
+		len = strlen(name);
+		cmdp = *pp = ckmalloc(sizeof (struct tblentry) + len + 1);
 		cmdp->next = NULL;
 		cmdp->cmdtype = CMDUNKNOWN;
-		strcpy(cmdp->cmdname, name);
+		memcpy(cmdp->cmdname, name, len + 1);
 		INTON;
 	}
 	lastcmdentry = pp;
@@ -672,9 +674,11 @@ typecmd_impl(int argc, char **argv, int 
 
 		/* Then look at the aliases */
 		if ((ap = lookupalias(argv[i], 1)) != NULL) {
-			if (cmd == TYPECMD_SMALLV)
-				out1fmt("alias %s='%s'\n", argv[i], ap->val);
-			else
+			if (cmd == TYPECMD_SMALLV) {
+				out1fmt("alias %s=", argv[i]);
+				out1qstr(ap->val);
+				outcslow('\n', out1);
+			} else
 				out1fmt("%s is an alias for %s\n", argv[i],
 				    ap->val);
 			continue;

Modified: projects/pmac_pmu/bin/sh/expand.c
==============================================================================
--- projects/pmac_pmu/bin/sh/expand.c	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/bin/sh/expand.c	Fri Dec  6 01:16:26 2013	(r259021)
@@ -1307,9 +1307,11 @@ addfname(char *name)
 {
 	char *p;
 	struct strlist *sp;
+	size_t len;
 
-	p = stalloc(strlen(name) + 1);
-	scopy(name, p);
+	len = strlen(name);
+	p = stalloc(len + 1);
+	memcpy(p, name, len + 1);
 	sp = (struct strlist *)stalloc(sizeof *sp);
 	sp->text = p;
 	*exparg.lastp = sp;

Modified: projects/pmac_pmu/bin/sh/memalloc.c
==============================================================================
--- projects/pmac_pmu/bin/sh/memalloc.c	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/bin/sh/memalloc.c	Fri Dec  6 01:16:26 2013	(r259021)
@@ -98,9 +98,11 @@ char *
 savestr(const char *s)
 {
 	char *p;
+	size_t len;
 
-	p = ckmalloc(strlen(s) + 1);
-	scopy(s, p);
+	len = strlen(s);
+	p = ckmalloc(len + 1);
+	memcpy(p, s, len + 1);
 	return p;
 }
 

Modified: projects/pmac_pmu/bin/sh/mystring.c
==============================================================================
--- projects/pmac_pmu/bin/sh/mystring.c	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/bin/sh/mystring.c	Fri Dec  6 01:16:26 2013	(r259021)
@@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$");
  * String functions.
  *
  *	equal(s1, s2)		Return true if strings are equal.
- *	scopy(from, to)		Copy a string.
  *	number(s)		Convert a string of digits to an integer.
  *	is_number(s)		Return true if s is a string of digits.
  */
@@ -60,10 +59,6 @@ char nullstr[1];		/* zero length string 
  * equal - #defined in mystring.h
  */
 
-/*
- * scopy - #defined in mystring.h
- */
-
 
 /*
  * prefix -- see if pfx is a prefix of string.

Modified: projects/pmac_pmu/bin/sh/mystring.h
==============================================================================
--- projects/pmac_pmu/bin/sh/mystring.h	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/bin/sh/mystring.h	Fri Dec  6 01:16:26 2013	(r259021)
@@ -40,4 +40,3 @@ int number(const char *);
 int is_number(const char *);
 
 #define equal(s1, s2)	(strcmp(s1, s2) == 0)
-#define scopy(s1, s2)	((void)strcpy(s2, s1))

Modified: projects/pmac_pmu/bin/sh/redir.c
==============================================================================
--- projects/pmac_pmu/bin/sh/redir.c	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/bin/sh/redir.c	Fri Dec  6 01:16:26 2013	(r259021)
@@ -69,6 +69,7 @@ __FBSDID("$FreeBSD$");
 struct redirtab {
 	struct redirtab *next;
 	int renamed[10];
+	int fd0_redirected;
 };
 
 
@@ -109,11 +110,14 @@ redirect(union node *redir, int flags)
 		sv = ckmalloc(sizeof (struct redirtab));
 		for (i = 0 ; i < 10 ; i++)
 			sv->renamed[i] = EMPTY;
+		sv->fd0_redirected = fd0_redirected;
 		sv->next = redirlist;
 		redirlist = sv;
 	}
 	for (n = redir ; n ; n = n->nfile.next) {
 		fd = n->nfile.fd;
+		if (fd == 0)
+			fd0_redirected = 1;
 		if ((n->nfile.type == NTOFD || n->nfile.type == NFROMFD) &&
 		    n->ndup.dupfd == fd)
 			continue; /* redirect from/to same file descriptor */
@@ -134,8 +138,6 @@ redirect(union node *redir, int flags)
 			sv->renamed[fd] = i;
 			INTON;
 		}
-		if (fd == 0)
-			fd0_redirected++;
 		openredirect(n, memory);
 	}
 	if (memory[1])
@@ -303,8 +305,6 @@ popredir(void)
 
 	for (i = 0 ; i < 10 ; i++) {
 		if (rp->renamed[i] != EMPTY) {
-                        if (i == 0)
-                                fd0_redirected--;
 			if (rp->renamed[i] >= 0) {
 				dup2(rp->renamed[i], i);
 				close(rp->renamed[i]);
@@ -314,6 +314,7 @@ popredir(void)
 		}
 	}
 	INTOFF;
+	fd0_redirected = rp->fd0_redirected;
 	redirlist = rp->next;
 	ckfree(rp);
 	INTON;

Modified: projects/pmac_pmu/bin/sh/show.c
==============================================================================
--- projects/pmac_pmu/bin/sh/show.c	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/bin/sh/show.c	Fri Dec  6 01:16:26 2013	(r259021)
@@ -390,11 +390,11 @@ opentrace(void)
 			else
 				p = "/tmp";
 		}
-		scopy(p, s);
+		strcpy(s, p);
 		strcat(s, "/trace");
 	}
 #else
-	scopy("./trace", s);
+	strcpy(s, "./trace");
 #endif /* not_this_way */
 	if ((tracefile = fopen(s, "a")) == NULL) {
 		fprintf(stderr, "Can't open %s: %s\n", s, strerror(errno));

Modified: projects/pmac_pmu/bin/sh/var.c
==============================================================================
--- projects/pmac_pmu/bin/sh/var.c	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/bin/sh/var.c	Fri Dec  6 01:16:26 2013	(r259021)
@@ -224,8 +224,9 @@ void
 setvar(const char *name, const char *val, int flags)
 {
 	const char *p;
-	int len;
-	int namelen;
+	size_t len;
+	size_t namelen;
+	size_t vallen;
 	char *nameeq;
 	int isbad;
 
@@ -244,18 +245,20 @@ setvar(const char *name, const char *val
 	}
 	namelen = p - name;
 	if (isbad)
-		error("%.*s: bad variable name", namelen, name);
+		error("%.*s: bad variable name", (int)namelen, name);
 	len = namelen + 2;		/* 2 is space for '=' and '\0' */
 	if (val == NULL) {
 		flags |= VUNSET;
+		vallen = 0;
 	} else {
-		len += strlen(val);
+		vallen = strlen(val);
+		len += vallen;
 	}
 	nameeq = ckmalloc(len);
 	memcpy(nameeq, name, namelen);
 	nameeq[namelen] = '=';
 	if (val)
-		scopy(val, nameeq + namelen + 1);
+		memcpy(nameeq + namelen + 1, val, vallen + 1);
 	else
 		nameeq[namelen + 1] = '\0';
 	setvareq(nameeq, flags);

Modified: projects/pmac_pmu/bin/test/test.c
==============================================================================
--- projects/pmac_pmu/bin/test/test.c	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/bin/test/test.c	Fri Dec  6 01:16:26 2013	(r259021)
@@ -67,9 +67,18 @@ error(const char *msg, ...)
 	operand ::= <any legal UNIX file name>
 */
 
+enum token_types {
+	UNOP = 0x100,
+	BINOP = 0x200,
+	BUNOP = 0x300,
+	BBINOP = 0x400,
+	PAREN = 0x500
+};
+
 enum token {
 	EOI,
-	FILRD,
+	OPERAND,
+	FILRD = UNOP + 1,
 	FILWR,
 	FILEX,
 	FILEXIST,
@@ -85,13 +94,13 @@ enum token {
 	FILSUID,
 	FILSGID,
 	FILSTCK,
-	FILNT,
-	FILOT,
-	FILEQ,
-	FILUID,
-	FILGID,
 	STREZ,
 	STRNZ,
+	FILUID,
+	FILGID,
+	FILNT = BINOP + 1,
+	FILOT,
+	FILEQ,
 	STREQ,
 	STRNE,
 	STRLT,
@@ -102,76 +111,68 @@ enum token {
 	INTGT,
 	INTLE,
 	INTLT,
-	UNOT,
-	BAND,
+	UNOT = BUNOP + 1,
+	BAND = BBINOP + 1,
 	BOR,
-	LPAREN,
-	RPAREN,
-	OPERAND
+	LPAREN = PAREN + 1,
+	RPAREN
 };
 
-enum token_types {
-	UNOP,
-	BINOP,
-	BUNOP,
-	BBINOP,
-	PAREN
-};
+#define TOKEN_TYPE(token) ((token) & 0xff00)
 
 static struct t_op {
 	char op_text[4];
-	short op_num, op_type;
+	short op_num;
 } const ops [] = {
-	{"-r",	FILRD,	UNOP},
-	{"-w",	FILWR,	UNOP},
-	{"-x",	FILEX,	UNOP},
-	{"-e",	FILEXIST,UNOP},
-	{"-f",	FILREG,	UNOP},
-	{"-d",	FILDIR,	UNOP},
-	{"-c",	FILCDEV,UNOP},
-	{"-b",	FILBDEV,UNOP},
-	{"-p",	FILFIFO,UNOP},
-	{"-u",	FILSUID,UNOP},
-	{"-g",	FILSGID,UNOP},
-	{"-k",	FILSTCK,UNOP},
-	{"-s",	FILGZ,	UNOP},
-	{"-t",	FILTT,	UNOP},
-	{"-z",	STREZ,	UNOP},
-	{"-n",	STRNZ,	UNOP},
-	{"-h",	FILSYM,	UNOP},		/* for backwards compat */
-	{"-O",	FILUID,	UNOP},
-	{"-G",	FILGID,	UNOP},
-	{"-L",	FILSYM,	UNOP},
-	{"-S",	FILSOCK,UNOP},
-	{"=",	STREQ,	BINOP},
-	{"==",	STREQ,	BINOP},
-	{"!=",	STRNE,	BINOP},
-	{"<",	STRLT,	BINOP},
-	{">",	STRGT,	BINOP},
-	{"-eq",	INTEQ,	BINOP},
-	{"-ne",	INTNE,	BINOP},
-	{"-ge",	INTGE,	BINOP},
-	{"-gt",	INTGT,	BINOP},
-	{"-le",	INTLE,	BINOP},
-	{"-lt",	INTLT,	BINOP},
-	{"-nt",	FILNT,	BINOP},
-	{"-ot",	FILOT,	BINOP},
-	{"-ef",	FILEQ,	BINOP},
-	{"!",	UNOT,	BUNOP},
-	{"-a",	BAND,	BBINOP},
-	{"-o",	BOR,	BBINOP},
-	{"(",	LPAREN,	PAREN},
-	{")",	RPAREN,	PAREN},
-	{"",	0,	0}
+	{"-r",	FILRD},
+	{"-w",	FILWR},
+	{"-x",	FILEX},
+	{"-e",	FILEXIST},
+	{"-f",	FILREG},
+	{"-d",	FILDIR},
+	{"-c",	FILCDEV},
+	{"-b",	FILBDEV},
+	{"-p",	FILFIFO},
+	{"-u",	FILSUID},
+	{"-g",	FILSGID},
+	{"-k",	FILSTCK},
+	{"-s",	FILGZ},
+	{"-t",	FILTT},
+	{"-z",	STREZ},
+	{"-n",	STRNZ},
+	{"-h",	FILSYM},		/* for backwards compat */
+	{"-O",	FILUID},
+	{"-G",	FILGID},
+	{"-L",	FILSYM},
+	{"-S",	FILSOCK},
+	{"=",	STREQ},
+	{"==",	STREQ},
+	{"!=",	STRNE},
+	{"<",	STRLT},
+	{">",	STRGT},
+	{"-eq",	INTEQ},
+	{"-ne",	INTNE},
+	{"-ge",	INTGE},
+	{"-gt",	INTGT},
+	{"-le",	INTLE},
+	{"-lt",	INTLT},
+	{"-nt",	FILNT},
+	{"-ot",	FILOT},
+	{"-ef",	FILEQ},
+	{"!",	UNOT},
+	{"-a",	BAND},
+	{"-o",	BOR},
+	{"(",	LPAREN},
+	{")",	RPAREN},
+	{"",	0}
 };
 
-static struct t_op const *t_wp_op;
 static int nargc;
 static char **t_wp;
 static int parenlevel;
 
 static int	aexpr(enum token);
-static int	binop(void);
+static int	binop(enum token);
 static int	equalf(const char *, const char *);
 static int	filstat(char *, enum token);
 static int	getn(const char *);
@@ -295,10 +296,10 @@ primary(enum token n)
 		parenlevel--;
 		return res;
 	}
-	if (t_wp_op && t_wp_op->op_type == UNOP) {
+	if (TOKEN_TYPE(n) == UNOP) {
 		/* unary expression */
 		if (--nargc == 0)
-			syntax(t_wp_op->op_text, "argument expected");
+			syntax(NULL, "argument expected"); /* impossible */
 		switch (n) {
 		case STREZ:
 			return strlen(*++t_wp) == 0;
@@ -311,28 +312,25 @@ primary(enum token n)
 		}
 	}
 
-	if (t_lex(nargc > 0 ? t_wp[1] : NULL), t_wp_op && t_wp_op->op_type ==
-	    BINOP) {
-		return binop();
-	}
+	nn = t_lex(nargc > 0 ? t_wp[1] : NULL);
+	if (TOKEN_TYPE(nn) == BINOP)
+		return binop(nn);
 
 	return strlen(*t_wp) > 0;
 }
 
 static int
-binop(void)
+binop(enum token n)
 {
-	const char *opnd1, *opnd2;
-	struct t_op const *op;
+	const char *opnd1, *op, *opnd2;
 
 	opnd1 = *t_wp;
-	(void) t_lex(nargc > 0 ? (--nargc, *++t_wp) : NULL);
-	op = t_wp_op;
+	op = nargc > 0 ? (--nargc, *++t_wp) : NULL;
 
 	if ((opnd2 = nargc > 0 ? (--nargc, *++t_wp) : NULL) == NULL)
-		syntax(op->op_text, "argument expected");
+		syntax(op, "argument expected");
 
-	switch (op->op_num) {
+	switch (n) {
 	case STREQ:
 		return strcmp(opnd1, opnd2) == 0;
 	case STRNE:
@@ -424,22 +422,20 @@ t_lex(char *s)
 	struct t_op const *op = ops;
 
 	if (s == 0) {
-		t_wp_op = NULL;
 		return EOI;
 	}
 	while (*op->op_text) {
 		if (strcmp(s, op->op_text) == 0) {
-			if (((op->op_type == UNOP || op->op_type == BUNOP)
+			if (((TOKEN_TYPE(op->op_num) == UNOP ||
+			    TOKEN_TYPE(op->op_num) == BUNOP)
 						&& isunopoperand()) ||
 			    (op->op_num == LPAREN && islparenoperand()) ||
 			    (op->op_num == RPAREN && isrparenoperand()))
 				break;
-			t_wp_op = op;
 			return op->op_num;
 		}
 		op++;
 	}
-	t_wp_op = NULL;
 	return OPERAND;
 }
 
@@ -458,7 +454,7 @@ isunopoperand(void)
 	t = *(t_wp + 2);
 	while (*op->op_text) {
 		if (strcmp(s, op->op_text) == 0)
-			return op->op_type == BINOP &&
+			return TOKEN_TYPE(op->op_num) == BINOP &&
 			    (parenlevel == 0 || t[0] != ')' || t[1] != '\0');
 		op++;
 	}
@@ -480,7 +476,7 @@ islparenoperand(void)
 		return 0;
 	while (*op->op_text) {
 		if (strcmp(s, op->op_text) == 0)
-			return op->op_type == BINOP;
+			return TOKEN_TYPE(op->op_num) == BINOP;
 		op++;
 	}
 	return 0;

Modified: projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh
==============================================================================
--- projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh	Fri Dec  6 01:16:26 2013	(r259021)
@@ -64,7 +64,7 @@ child=$!
 # ksh doing work.  (This actually goes one step further and assumes that we
 # catch some non-static function in ksh.)
 #
-script | tee /dev/fd/2 | grep 'ksh`[a-zA-Z_]' > /dev/null
+script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null
 status=$? 
 
 kill $child

Modified: projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh
==============================================================================
--- projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh	Fri Dec  6 01:16:26 2013	(r259021)
@@ -62,7 +62,7 @@ child=$!
 #
 # The only thing we can be sure of here is that ksh is doing some work.
 #
-script | tee /dev/fd/2 | grep -w ksh > /dev/null
+script | tee /dev/fd/2 | egrep -w 'ksh(93)?' > /dev/null
 status=$? 
 
 kill $child

Modified: projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh
==============================================================================
--- projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh	Fri Dec  6 01:16:26 2013	(r259021)
@@ -63,7 +63,7 @@ child=$!
 # This test is essentially the same as that in the ufunc test; see that
 # test for the rationale.
 #
-script | tee /dev/fd/2 | grep 'ksh`[a-zA-Z_]' > /dev/null
+script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null
 status=$? 
 
 kill $child

Modified: projects/pmac_pmu/cddl/contrib/opensolaris/cmd/plockstat/plockstat.c
==============================================================================
--- projects/pmac_pmu/cddl/contrib/opensolaris/cmd/plockstat/plockstat.c	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/cddl/contrib/opensolaris/cmd/plockstat/plockstat.c	Fri Dec  6 01:16:26 2013	(r259021)
@@ -778,7 +778,8 @@ main(int argc, char **argv)
 #endif
 	int err;
 	int opt_C = 0, opt_H = 0, opt_p = 0, opt_v = 0;
-	char c, *p, *end;
+	int c;
+	char *p, *end;
 	struct sigaction act;
 	int done = 0;
 

Modified: projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zdb/zdb.c
==============================================================================
--- projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zdb/zdb.c	Thu Dec  5 23:18:54 2013	(r259020)
+++ projects/pmac_pmu/cddl/contrib/opensolaris/cmd/zdb/zdb.c	Fri Dec  6 01:16:26 2013	(r259021)
@@ -242,7 +242,7 @@ const char histo_stars[] = "************
 const int histo_width = sizeof (histo_stars) - 1;
 
 static void
-dump_histogram(const uint64_t *histo, int size)
+dump_histogram(const uint64_t *histo, int size, int offset)
 {
 	int i;
 	int minidx = size - 1;
@@ -263,7 +263,7 @@ dump_histogram(const uint64_t *histo, in
 
 	for (i = minidx; i <= maxidx; i++) {
 		(void) printf("\t\t\t%3u: %6llu %s\n",
-		    i, (u_longlong_t)histo[i],
+		    i + offset, (u_longlong_t)histo[i],
 		    &histo_stars[(max - histo[i]) * histo_width / max]);
 	}
 }
@@ -316,19 +316,19 @@ dump_zap_stats(objset_t *os, uint64_t ob
 	    (u_longlong_t)zs.zs_salt);
 
 	(void) printf("\t\tLeafs with 2^n pointers:\n");
-	dump_histogram(zs.zs_leafs_with_2n_pointers, ZAP_HISTOGRAM_SIZE);
+	dump_histogram(zs.zs_leafs_with_2n_pointers, ZAP_HISTOGRAM_SIZE, 0);
 
 	(void) printf("\t\tBlocks with n*5 entries:\n");
-	dump_histogram(zs.zs_blocks_with_n5_entries, ZAP_HISTOGRAM_SIZE);
+	dump_histogram(zs.zs_blocks_with_n5_entries, ZAP_HISTOGRAM_SIZE, 0);
 
 	(void) printf("\t\tBlocks n/10 full:\n");
-	dump_histogram(zs.zs_blocks_n_tenths_full, ZAP_HISTOGRAM_SIZE);
+	dump_histogram(zs.zs_blocks_n_tenths_full, ZAP_HISTOGRAM_SIZE, 0);
 
 	(void) printf("\t\tEntries with n chunks:\n");
-	dump_histogram(zs.zs_entries_using_n_chunks, ZAP_HISTOGRAM_SIZE);
+	dump_histogram(zs.zs_entries_using_n_chunks, ZAP_HISTOGRAM_SIZE, 0);
 
 	(void) printf("\t\tBuckets with n entries:\n");
-	dump_histogram(zs.zs_buckets_with_n_entries, ZAP_HISTOGRAM_SIZE);
+	dump_histogram(zs.zs_buckets_with_n_entries, ZAP_HISTOGRAM_SIZE, 0);
 }
 
 /*ARGSUSED*/
@@ -517,26 +517,85 @@ dump_zpldir(objset_t *os, uint64_t objec
 	zap_cursor_fini(&zc);
 }
 
+int
+get_dtl_refcount(vdev_t *vd)
+{
+	int refcount = 0;
+
+	if (vd->vdev_ops->vdev_op_leaf) {
+		space_map_t *sm = vd->vdev_dtl_sm;
+
+		if (sm != NULL &&
+		    sm->sm_dbuf->db_size == sizeof (space_map_phys_t))
+			return (1);
+		return (0);
+	}
+
+	for (int c = 0; c < vd->vdev_children; c++)
+		refcount += get_dtl_refcount(vd->vdev_child[c]);
+	return (refcount);
+}
+
+int
+get_metaslab_refcount(vdev_t *vd)
+{
+	int refcount = 0;
+
+	if (vd->vdev_top == vd) {
+		for (int m = 0; m < vd->vdev_ms_count; m++) {
+			space_map_t *sm = vd->vdev_ms[m]->ms_sm;
+
+			if (sm != NULL &&
+			    sm->sm_dbuf->db_size == sizeof (space_map_phys_t))
+				refcount++;
+		}
+	}
+	for (int c = 0; c < vd->vdev_children; c++)
+		refcount += get_metaslab_refcount(vd->vdev_child[c]);
+
+	return (refcount);
+}
+
+static int
+verify_spacemap_refcounts(spa_t *spa)
+{
+	int expected_refcount, actual_refcount;
+
+	expected_refcount = spa_feature_get_refcount(spa,
+	    &spa_feature_table[SPA_FEATURE_SPACEMAP_HISTOGRAM]);
+	actual_refcount = get_dtl_refcount(spa->spa_root_vdev);
+	actual_refcount += get_metaslab_refcount(spa->spa_root_vdev);
+
+	if (expected_refcount != actual_refcount) {
+		(void) printf("space map refcount mismatch: expected %d != "
+		    "actual %d\n", expected_refcount, actual_refcount);
+		return (2);
+	}
+	return (0);
+}
+
 static void
-dump_spacemap(objset_t *os, space_map_obj_t *smo, space_map_t *sm)
+dump_spacemap(objset_t *os, space_map_t *sm)
 {
 	uint64_t alloc, offset, entry;
-	uint8_t mapshift = sm->sm_shift;
-	uint64_t mapstart = sm->sm_start;
 	char *ddata[] = { "ALLOC", "FREE", "CONDENSE", "INVALID",
 			    "INVALID", "INVALID", "INVALID", "INVALID" };
 
-	if (smo->smo_object == 0)
+	if (sm == NULL)
 		return;
 
 	/*
 	 * Print out the freelist entries in both encoded and decoded form.
 	 */
 	alloc = 0;
-	for (offset = 0; offset < smo->smo_objsize; offset += sizeof (entry)) {
-		VERIFY3U(0, ==, dmu_read(os, smo->smo_object, offset,
+	for (offset = 0; offset < space_map_length(sm);
+	    offset += sizeof (entry)) {
+		uint8_t mapshift = sm->sm_shift;
+
+		VERIFY0(dmu_read(os, space_map_object(sm), offset,
 		    sizeof (entry), &entry, DMU_READ_PREFETCH));
 		if (SM_DEBUG_DECODE(entry)) {
+
 			(void) printf("\t    [%6llu] %s: txg %llu, pass %llu\n",
 			    (u_longlong_t)(offset / sizeof (entry)),
 			    ddata[SM_DEBUG_ACTION_DECODE(entry)],
@@ -548,10 +607,10 @@ dump_spacemap(objset_t *os, space_map_ob
 			    (u_longlong_t)(offset / sizeof (entry)),
 			    SM_TYPE_DECODE(entry) == SM_ALLOC ? 'A' : 'F',
 			    (u_longlong_t)((SM_OFFSET_DECODE(entry) <<
-			    mapshift) + mapstart),
+			    mapshift) + sm->sm_start),
 			    (u_longlong_t)((SM_OFFSET_DECODE(entry) <<
-			    mapshift) + mapstart + (SM_RUN_DECODE(entry) <<
-			    mapshift)),
+			    mapshift) + sm->sm_start +
+			    (SM_RUN_DECODE(entry) << mapshift)),
 			    (u_longlong_t)(SM_RUN_DECODE(entry) << mapshift));
 			if (SM_TYPE_DECODE(entry) == SM_ALLOC)
 				alloc += SM_RUN_DECODE(entry) << mapshift;
@@ -559,10 +618,10 @@ dump_spacemap(objset_t *os, space_map_ob
 				alloc -= SM_RUN_DECODE(entry) << mapshift;
 		}
 	}
-	if (alloc != smo->smo_alloc) {
+	if (alloc != space_map_allocated(sm)) {
 		(void) printf("space_map_object alloc (%llu) INCONSISTENT "
 		    "with space map summary (%llu)\n",
-		    (u_longlong_t)smo->smo_alloc, (u_longlong_t)alloc);
+		    (u_longlong_t)space_map_allocated(sm), (u_longlong_t)alloc);
 	}
 }
 
@@ -570,15 +629,17 @@ static void
 dump_metaslab_stats(metaslab_t *msp)
 {
 	char maxbuf[32];
-	space_map_t *sm = msp->ms_map;
-	avl_tree_t *t = sm->sm_pp_root;
-	int free_pct = sm->sm_space * 100 / sm->sm_size;
+	range_tree_t *rt = msp->ms_tree;
+	avl_tree_t *t = &msp->ms_size_tree;
+	int free_pct = range_tree_space(rt) * 100 / msp->ms_size;
 
-	zdb_nicenum(space_map_maxsize(sm), maxbuf);
+	zdb_nicenum(metaslab_block_maxsize(msp), maxbuf);
 
 	(void) printf("\t %25s %10lu   %7s  %6s   %4s %4d%%\n",
 	    "segments", avl_numnodes(t), "maxsize", maxbuf,
 	    "freepct", free_pct);
+	(void) printf("\tIn-memory histogram:\n");
+	dump_histogram(rt->rt_histogram, RANGE_TREE_HISTOGRAM_SIZE, 0);
 }
 
 static void
@@ -586,33 +647,45 @@ dump_metaslab(metaslab_t *msp)
 {
 	vdev_t *vd = msp->ms_group->mg_vd;
 	spa_t *spa = vd->vdev_spa;
-	space_map_t *sm = msp->ms_map;
-	space_map_obj_t *smo = &msp->ms_smo;
+	space_map_t *sm = msp->ms_sm;
 	char freebuf[32];
 
-	zdb_nicenum(sm->sm_size - smo->smo_alloc, freebuf);
+	zdb_nicenum(msp->ms_size - space_map_allocated(sm), freebuf);
 
 	(void) printf(
 	    "\tmetaslab %6llu   offset %12llx   spacemap %6llu   free    %5s\n",
-	    (u_longlong_t)(sm->sm_start / sm->sm_size),
-	    (u_longlong_t)sm->sm_start, (u_longlong_t)smo->smo_object, freebuf);
+	    (u_longlong_t)msp->ms_id, (u_longlong_t)msp->ms_start,
+	    (u_longlong_t)space_map_object(sm), freebuf);
 
-	if (dump_opt['m'] > 1 && !dump_opt['L']) {
+	if (dump_opt['m'] > 2 && !dump_opt['L']) {
 		mutex_enter(&msp->ms_lock);
-		space_map_load_wait(sm);
-		if (!sm->sm_loaded)
-			VERIFY(space_map_load(sm, zfs_metaslab_ops,
-			    SM_FREE, smo, spa->spa_meta_objset) == 0);
+		metaslab_load_wait(msp);
+		if (!msp->ms_loaded) {
+			VERIFY0(metaslab_load(msp));
+			range_tree_stat_verify(msp->ms_tree);
+		}
 		dump_metaslab_stats(msp);
-		space_map_unload(sm);
+		metaslab_unload(msp);
 		mutex_exit(&msp->ms_lock);
 	}
 
-	if (dump_opt['d'] > 5 || dump_opt['m'] > 2) {
-		ASSERT(sm->sm_size == (1ULL << vd->vdev_ms_shift));
+	if (dump_opt['m'] > 1 && sm != NULL &&
+	    spa_feature_is_active(spa,
+	    &spa_feature_table[SPA_FEATURE_SPACEMAP_HISTOGRAM])) {
+		/*
+		 * The space map histogram represents free space in chunks
+		 * of sm_shift (i.e. bucket 0 refers to 2^sm_shift).
+		 */
+		(void) printf("\tOn-disk histogram:\n");
+		dump_histogram(sm->sm_phys->smp_histogram,
+		    SPACE_MAP_HISTOGRAM_SIZE(sm), sm->sm_shift);
+	}
+
+	if (dump_opt['d'] > 5 || dump_opt['m'] > 3) {
+		ASSERT(msp->ms_size == (1ULL << vd->vdev_ms_shift));
 
 		mutex_enter(&msp->ms_lock);
-		dump_spacemap(spa->spa_meta_objset, smo, sm);
+		dump_spacemap(spa->spa_meta_objset, msp->ms_sm);
 		mutex_exit(&msp->ms_lock);
 	}
 }
@@ -801,9 +874,9 @@ dump_all_ddts(spa_t *spa)
 }
 
 static void
-dump_dtl_seg(space_map_t *sm, uint64_t start, uint64_t size)
+dump_dtl_seg(void *arg, uint64_t start, uint64_t size)
 {
-	char *prefix = (void *)sm;
+	char *prefix = arg;
 
 	(void) printf("%s [%llu,%llu) length %llu\n",
 	    prefix,
@@ -833,17 +906,16 @@ dump_dtl(vdev_t *vd, int indent)
 	    required ? "DTL-required" : "DTL-expendable");
 
 	for (int t = 0; t < DTL_TYPES; t++) {
-		space_map_t *sm = &vd->vdev_dtl[t];
-		if (sm->sm_space == 0)
+		range_tree_t *rt = vd->vdev_dtl[t];
+		if (range_tree_space(rt) == 0)
 			continue;
 		(void) snprintf(prefix, sizeof (prefix), "\t%*s%s",
 		    indent + 2, "", name[t]);
-		mutex_enter(sm->sm_lock);
-		space_map_walk(sm, dump_dtl_seg, (void *)prefix);
-		mutex_exit(sm->sm_lock);
+		mutex_enter(rt->rt_lock);

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