From owner-svn-src-projects@FreeBSD.ORG  Sun Apr 24 15:59:55 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 66E63106566C;
	Sun, 24 Apr 2011 15:59:55 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 56CAB8FC12;
	Sun, 24 Apr 2011 15:59:55 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3OFxt1o038013;
	Sun, 24 Apr 2011 15:59:55 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3OFxtOm038005;
	Sun, 24 Apr 2011 15:59:55 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104241559.p3OFxtOm038005@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Sun, 24 Apr 2011 15:59:55 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r220991 - in projects/portbuild: qmanager scripts
	sources
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 24 Apr 2011 15:59:55 -0000

Author: flz
Date: Sun Apr 24 15:59:54 2011
New Revision: 220991
URL: http://svn.freebsd.org/changeset/base/220991

Log:
  Cleanup:
  - allgohans.safe is a superset of allgohans, so rename it.
  - reportload.sh is obsolete as reportload is called via inetd.
  - checkmachines' loop is now part of pollmachine.
  - retcode belongs to qmanager.
  - dopackages2 is abandoned.
  - move pnohang and ptimeout sources to a separate directory.
  - make prunebad and zexpire executable.

Added:
  projects/portbuild/qmanager/retcodes
     - copied, changed from r220976, projects/portbuild/scripts/retcodes
  projects/portbuild/sources/
  projects/portbuild/sources/pnohang.c
     - copied, changed from r220976, projects/portbuild/scripts/pnohang.c
  projects/portbuild/sources/ptimeout.c
     - copied, changed from r220976, projects/portbuild/scripts/ptimeout.c
Deleted:
  projects/portbuild/scripts/allgohans.safe
  projects/portbuild/scripts/checkmachines
  projects/portbuild/scripts/checkmachines.sh
  projects/portbuild/scripts/dopackages2
  projects/portbuild/scripts/pnohang.c
  projects/portbuild/scripts/ptimeout.c
  projects/portbuild/scripts/reportload.sh
  projects/portbuild/scripts/retcodes
  projects/portbuild/scripts/showrunning
Modified:
  projects/portbuild/scripts/allgohans
  projects/portbuild/scripts/do-cleanup-chroots
  projects/portbuild/scripts/prunebad   (contents, props changed)
  projects/portbuild/scripts/zexpire   (contents, props changed)

Copied and modified: projects/portbuild/qmanager/retcodes (from r220976, projects/portbuild/scripts/retcodes)
==============================================================================

Modified: projects/portbuild/scripts/allgohans
==============================================================================
--- projects/portbuild/scripts/allgohans	Sun Apr 24 15:53:57 2011	(r220990)
+++ projects/portbuild/scripts/allgohans	Sun Apr 24 15:59:54 2011	(r220991)
@@ -21,7 +21,11 @@ doarch() {
 	if [ ${quiet} -eq 0 ]; then
 	    echo "[$i]"
 	fi
-	su ports-${arch} -c "ssh ${client_user}@$i ${sudo_cmd} $@"
+	lockf -t 60 ${pb}/${arch}/lockfiles/lock.$i su ports-${arch} -c "ssh ${client_user}@$i ${sudo_cmd} $@"
+	result=$?
+	if [ $result -ne 0 ]; then
+	    echo "could not execute command $@ on $i: $result"
+	fi
     done
 }
 

Modified: projects/portbuild/scripts/do-cleanup-chroots
==============================================================================
--- projects/portbuild/scripts/do-cleanup-chroots	Sun Apr 24 15:53:57 2011	(r220990)
+++ projects/portbuild/scripts/do-cleanup-chroots	Sun Apr 24 15:59:54 2011	(r220991)
@@ -2,10 +2,4 @@
 # 
 # clean up stale chroots on all client machines.  MCL 20081216.
 #
-# original version from root crontab:
-#
-#/var/portbuild/scripts/allgohans all -q /var/portbuild/scripts/cleanup-chroots
-#
-# new code:
-#
-/var/portbuild/scripts/allgohans.safe all -q /var/portbuild/scripts/cleanup-chroots
+/var/portbuild/scripts/allgohans all -q /var/portbuild/scripts/cleanup-chroots

Modified: projects/portbuild/scripts/prunebad
==============================================================================

Modified: projects/portbuild/scripts/zexpire
==============================================================================

Copied and modified: projects/portbuild/sources/pnohang.c (from r220976, projects/portbuild/scripts/pnohang.c)
==============================================================================

Copied and modified: projects/portbuild/sources/ptimeout.c (from r220976, projects/portbuild/scripts/ptimeout.c)
==============================================================================

From owner-svn-src-projects@FreeBSD.ORG  Sun Apr 24 16:33:42 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 47DDB1065675;
	Sun, 24 Apr 2011 16:33:42 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 1E3F18FC17;
	Sun, 24 Apr 2011 16:33:42 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3OGXg2J039005;
	Sun, 24 Apr 2011 16:33:42 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3OGXfPD039004;
	Sun, 24 Apr 2011 16:33:42 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104241633.p3OGXfPD039004@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Sun, 24 Apr 2011 16:33:41 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r220992 - projects/portbuild/scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 24 Apr 2011 16:33:42 -0000

Author: flz
Date: Sun Apr 24 16:33:41 2011
New Revision: 220992
URL: http://svn.freebsd.org/changeset/base/220992

Log:
  Remove scripts/packagebuild.
  
  Packagebuild now lives under qmanager/.

Deleted:
  projects/portbuild/scripts/packagebuild

From owner-svn-src-projects@FreeBSD.ORG  Sun Apr 24 16:56:35 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 16188106566B;
	Sun, 24 Apr 2011 16:56:35 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id DFCB88FC14;
	Sun, 24 Apr 2011 16:56:34 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3OGuYAH039721;
	Sun, 24 Apr 2011 16:56:34 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3OGuYhW039718;
	Sun, 24 Apr 2011 16:56:34 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104241656.p3OGuYhW039718@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Sun, 24 Apr 2011 16:56:34 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r220993 - projects/altix/sys/conf
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 24 Apr 2011 16:56:35 -0000

Author: marcel
Date: Sun Apr 24 16:56:34 2011
New Revision: 220993
URL: http://svn.freebsd.org/changeset/base/220993

Log:
  Revert changes to support relocatable kernels and modules for
  ia64. We can replace R/O segments without problems with PBVM.

Modified:
  projects/altix/sys/conf/kern.pre.mk
  projects/altix/sys/conf/kmod.mk

Modified: projects/altix/sys/conf/kern.pre.mk
==============================================================================
--- projects/altix/sys/conf/kern.pre.mk	Sun Apr 24 16:33:41 2011	(r220992)
+++ projects/altix/sys/conf/kern.pre.mk	Sun Apr 24 16:56:34 2011	(r220993)
@@ -8,10 +8,6 @@
 # backwards compat option for older systems.
 MACHINE_CPUARCH?=${MACHINE_ARCH:C/mipse[lb]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
 
-# Support for building relocatable kernels on some architectures.
-REL_KERNEL_ARCHS= # Altix TODO
-LINK_REL_KERNEL= ${REL_KERNEL_ARCHS:S/${MACHINE_ARCH}/yes/g:Myes}
-
 # Can be overridden by makeoptions or /etc/make.conf
 KERNEL_KO?=	kernel
 KERNEL?=	kernel
@@ -159,17 +155,10 @@ SYSTEM_CFILES= config.c env.c hints.c vn
 SYSTEM_DEP= Makefile ${SYSTEM_OBJS}
 SYSTEM_OBJS= locore.o ${MDOBJS} ${OBJS}
 SYSTEM_OBJS+= ${SYSTEM_CFILES:.c=.o}
-SYSTEM_CTFMERGE= [ -z "${CTFMERGE}" -o -n "${NO_CTF}" ] || ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SYSTEM_OBJS} vers.o
-
-.if ${LINK_REL_KERNEL} == yes
-SYSTEM_LDFLAGS= -r -e __start
-.else
 SYSTEM_OBJS+= hack.So
-SYSTEM_LDFLAGS= -Bdynamic -T ${LDSCRIPT} -export-dynamic \
-	-dynamic-linker /red/herring
-.endif
-
-SYSTEM_LD= @${LD} ${SYSTEM_LDFLAGS} -warn-common \
+SYSTEM_CTFMERGE= [ -z "${CTFMERGE}" -o -n "${NO_CTF}" ] || ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SYSTEM_OBJS} vers.o
+SYSTEM_LD= @${LD} -Bdynamic -T ${LDSCRIPT} \
+	-warn-common -export-dynamic -dynamic-linker /red/herring \
 	-o ${.TARGET} -X ${SYSTEM_OBJS} vers.o
 SYSTEM_LD_TAIL= @${OBJCOPY} --strip-symbol gcc2_compiled. ${.TARGET} ; \
 	${SIZE} ${.TARGET} ; chmod 755 ${.TARGET}

Modified: projects/altix/sys/conf/kmod.mk
==============================================================================
--- projects/altix/sys/conf/kmod.mk	Sun Apr 24 16:33:41 2011	(r220992)
+++ projects/altix/sys/conf/kmod.mk	Sun Apr 24 16:56:34 2011	(r220993)
@@ -82,9 +82,7 @@ OBJCOPY?=	objcopy
 .SUFFIXES: .out .o .c .cc .cxx .C .y .l .s .S
 
 # amd64 and mips use direct linking for kmod, all others use shared binaries
-.if ${MACHINE_CPUARCH} != amd64 && \
-    ${MACHINE_CPUARCH} != ia64 && \
-    ${MACHINE_CPUARCH} != mips
+.if ${MACHINE_CPUARCH} != amd64 && ${MACHINE_CPUARCH} != mips
 __KLD_SHARED=yes
 .else
 __KLD_SHARED=no

From owner-svn-src-projects@FreeBSD.ORG  Sun Apr 24 17:13:42 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 7B2B9106564A;
	Sun, 24 Apr 2011 17:13:42 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 68BFE8FC0C;
	Sun, 24 Apr 2011 17:13:42 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3OHDg2u040258;
	Sun, 24 Apr 2011 17:13:42 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3OHDgXh040252;
	Sun, 24 Apr 2011 17:13:42 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104241713.p3OHDgXh040252@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Sun, 24 Apr 2011 17:13:42 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r220994 - in projects/altix/sys: conf dev/uart
	ia64/sgisn
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 24 Apr 2011 17:13:42 -0000

Author: marcel
Date: Sun Apr 24 17:13:42 2011
New Revision: 220994
URL: http://svn.freebsd.org/changeset/base/220994

Log:
  Use a seperate driver for the SAL-based console on Altix. While initially
  uart(4) seemed like a good idea (and for the low-level console it wasn't
  a bad idea), the fact that the SAL-based console doesn't have any I/O port
  or memory mapped I/O resources and uart(4) expects and needs that means
  that uart(4) is simply not a good idea.
  
  The new driver in its current form is almost functional complete. It only
  lacks proper interrupt handling. The reason for that is that interrupts
  aren't exactly working on Altix, so it's a bit hard to test. Also, SAL
  only allows us to have receive interrupts, not transmit interrupts. As
  such, a bit more effort is required to make sure the TX path doesn't
  stall (read: polling and/or timeouts are needed).
  
  The uart(4) driver changes are reverted.

Added:
  projects/altix/sys/ia64/sgisn/sgisn_console.c   (contents, props changed)
Deleted:
  projects/altix/sys/dev/uart/uart_dev_sgisn.c
Modified:
  projects/altix/sys/conf/files.ia64
  projects/altix/sys/dev/uart/uart.h
  projects/altix/sys/dev/uart/uart_cpu_ia64.c
  projects/altix/sys/dev/uart/uart_subr.c

Modified: projects/altix/sys/conf/files.ia64
==============================================================================
--- projects/altix/sys/conf/files.ia64	Sun Apr 24 16:56:34 2011	(r220993)
+++ projects/altix/sys/conf/files.ia64	Sun Apr 24 17:13:42 2011	(r220994)
@@ -60,7 +60,6 @@ dev/syscons/scterm-teken.c	optional	sc
 dev/syscons/scvgarndr.c		optional	sc vga
 dev/syscons/scvtb.c		optional	sc
 dev/uart/uart_cpu_ia64.c	optional	uart
-dev/uart/uart_dev_sgisn.c	optional	uart
 dev/acpica/acpi_if.m		standard
 ia64/acpica/OsdEnvironment.c	optional	acpi
 ia64/acpica/acpi_machdep.c	optional	acpi
@@ -117,6 +116,7 @@ ia64/ia64/vm_machdep.c		standard
 ia64/isa/isa.c			optional	isa
 ia64/isa/isa_dma.c		optional	isa
 ia64/pci/pci_cfgreg.c		optional	pci
+ia64/sgisn/sgisn_console.c	standard
 ia64/sgisn/sgisn_pcib.c		standard
 ia64/sgisn/sgisn_shub.c		standard
 isa/syscons_isa.c		optional	sc

Modified: projects/altix/sys/dev/uart/uart.h
==============================================================================
--- projects/altix/sys/dev/uart/uart.h	Sun Apr 24 16:56:34 2011	(r220993)
+++ projects/altix/sys/dev/uart/uart.h	Sun Apr 24 17:13:42 2011	(r220994)
@@ -68,7 +68,6 @@ extern struct uart_class uart_ns8250_cla
 extern struct uart_class uart_quicc_class __attribute__((weak));
 extern struct uart_class uart_sab82532_class __attribute__((weak));
 extern struct uart_class uart_sbbc_class __attribute__((weak));
-extern struct uart_class uart_sgisn_class __attribute__((weak));
 extern struct uart_class uart_z8530_class __attribute__((weak));
 
 #ifdef PC98

Modified: projects/altix/sys/dev/uart/uart_cpu_ia64.c
==============================================================================
--- projects/altix/sys/dev/uart/uart_cpu_ia64.c	Sun Apr 24 16:56:34 2011	(r220993)
+++ projects/altix/sys/dev/uart/uart_cpu_ia64.c	Sun Apr 24 17:13:42 2011	(r220994)
@@ -66,8 +66,6 @@ uart_cpu_getdev(int devtype, struct uart
 
 	class = &uart_ns8250_class;
 	if (class == NULL)
-		class = &uart_sgisn_class;
-	if (class == NULL)
 		return (ENXIO);
 
 	/*

Modified: projects/altix/sys/dev/uart/uart_subr.c
==============================================================================
--- projects/altix/sys/dev/uart/uart_subr.c	Sun Apr 24 16:56:34 2011	(r220993)
+++ projects/altix/sys/dev/uart/uart_subr.c	Sun Apr 24 17:13:42 2011	(r220994)
@@ -51,7 +51,6 @@ __FBSDID("$FreeBSD$");
 static struct uart_class *uart_classes[] = {
 	&uart_ns8250_class,
 	&uart_sab82532_class,
-	&uart_sgisn_class,
 	&uart_z8530_class,
 };
 static size_t uart_nclasses = sizeof(uart_classes) / sizeof(uart_classes[0]);
@@ -195,7 +194,7 @@ uart_getenv(int devtype, struct uart_dev
 {
 	__const char *spec;
 	bus_addr_t addr = ~0U;
-	int error, range;
+	int error;
 
 	/*
 	 * All uart_class references are weak. Make sure the default
@@ -273,25 +272,13 @@ uart_getenv(int devtype, struct uart_dev
 		spec++;
 	}
 
-	di->ops = uart_getops(class);
-	range = uart_getrange(class);
-
 	/*
 	 * If we still have an invalid address, the specification must be
-	 * missing an I/O port or memory address. We don't like that if
-	 * the class expects an I/O port or memory range.
+	 * missing an I/O port or memory address. We don't like that.
 	 */
-	if (addr == ~0U && range != 0)
+	if (addr == ~0U)
 		return (EINVAL);
 
-	/* Create a bus space handle if applicable. */
-	if (addr != ~0U && range != 0) {
-		error = bus_space_map(di->bas.bst, addr, range, 0,
-		    &di->bas.bsh);
-		if (error)
-			return (error);
-	}
-
 	/*
 	 * Accept only the well-known baudrates. Any invalid baudrate
 	 * is silently replaced with a 0-valued baudrate. The 0 baudrate
@@ -311,5 +298,9 @@ uart_getenv(int devtype, struct uart_dev
 	} else
 		di->baudrate = 0;
 
-	return (0);
+	/* Set the ops and create a bus space handle. */
+	di->ops = uart_getops(class);
+	error = bus_space_map(di->bas.bst, addr, uart_getrange(class), 0,
+	    &di->bas.bsh);
+	return (error);
 }

Added: projects/altix/sys/ia64/sgisn/sgisn_console.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/altix/sys/ia64/sgisn/sgisn_console.c	Sun Apr 24 17:13:42 2011	(r220994)
@@ -0,0 +1,325 @@
+/*-
+ * Copyright (c) 2011 Marcel Moolenaar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/bus.h>
+#include <sys/cons.h>
+#include <sys/interrupt.h>
+#include <sys/module.h>
+#include <sys/rman.h>
+#include <sys/tty.h>
+#include <machine/resource.h>
+#include <machine/sal.h>
+#include <machine/sgisn.h>
+
+struct sncon_softc {
+	device_t	sc_dev;
+	struct tty	*sc_tp;
+	struct resource *sc_ires;
+	void		*sc_icookie;
+	void		*sc_softih;
+	int		sc_irid;
+};
+
+static char sncon_name[] = "sncon";
+static int sncon_is_console = 0;
+
+/*
+ * Low-level console section.
+ */
+
+static int  sncon_cngetc(struct consdev *);
+static void sncon_cninit(struct consdev *);
+static void sncon_cnprobe(struct consdev *);
+static void sncon_cnputc(struct consdev *, int);
+static void sncon_cnterm(struct consdev *);
+
+CONSOLE_DRIVER(sncon);
+
+static int
+sncon_cngetc(struct consdev *cp)
+{
+	struct ia64_sal_result r;
+
+	r = ia64_sal_entry(SAL_SGISN_POLL, 0, 0, 0, 0, 0, 0, 0);
+	if (r.sal_status || r.sal_result[0] == 0)
+		return (-1);
+
+	r = ia64_sal_entry(SAL_SGISN_GETC, 0, 0, 0, 0, 0, 0, 0);
+	return ((!r.sal_status) ? r.sal_result[0] : -1);
+}
+
+static void
+sncon_cninit(struct consdev *cp)
+{
+
+	sncon_is_console = 1;
+}
+
+static void
+sncon_cnprobe(struct consdev *cp)
+{
+	struct ia64_sal_result r;
+
+	r = ia64_sal_entry(SAL_SGISN_SN_INFO, 0, 0, 0, 0, 0, 0, 0);
+	if (r.sal_status != 0)
+		return;
+
+	strcpy(cp->cn_name, "sncon0");
+	cp->cn_pri = CN_INTERNAL;
+}
+
+static void
+sncon_cnputc(struct consdev *cp, int c)
+{
+	struct ia64_sal_result r;
+	char buf[1];
+
+	buf[0] = c;
+	r = ia64_sal_entry(SAL_SGISN_TXBUF, (uintptr_t)buf, 1, 0, 0, 0, 0, 0);
+}
+
+static void
+sncon_cnterm(struct consdev *cp)
+{
+
+	sncon_is_console = 0;
+}
+
+/*
+ * TTY section.
+ */
+
+static void sncon_tty_close(struct tty *);
+static void sncon_tty_free(void *);
+static void sncon_tty_inwakeup(struct tty *);
+static int  sncon_tty_ioctl(struct tty *, u_long, caddr_t, struct thread *);
+static int  sncon_tty_modem(struct tty *, int, int);
+static int  sncon_tty_open(struct tty *);
+static void sncon_tty_outwakeup(struct tty *);
+static int  sncon_tty_param(struct tty *, struct termios *);
+
+static struct ttydevsw sncon_tty_class = {
+	.tsw_flags	= TF_INITLOCK|TF_CALLOUT,
+	.tsw_open	= sncon_tty_open,
+	.tsw_close	= sncon_tty_close,
+	.tsw_outwakeup	= sncon_tty_outwakeup,
+	.tsw_inwakeup	= sncon_tty_inwakeup,
+	.tsw_ioctl	= sncon_tty_ioctl,
+	.tsw_param	= sncon_tty_param,
+	.tsw_modem	= sncon_tty_modem,
+	.tsw_free	= sncon_tty_free,
+};
+
+static void
+sncon_tty_close(struct tty *tp)
+{
+}
+
+static void
+sncon_tty_free(void *arg)
+{
+}
+
+static void
+sncon_tty_inwakeup(struct tty *tp)
+{
+	struct sncon_softc *sc;
+
+	sc = tty_softc(tp);
+	/*
+	 * Re-start reception.
+	 */
+}
+
+static int
+sncon_tty_ioctl(struct tty *tp, u_long cmd, caddr_t data, struct thread *td)
+{
+
+	return (ENOTTY);
+}
+
+static int
+sncon_tty_modem(struct tty *tp, int biton, int bitoff)
+{
+
+	return (0);
+}
+
+static int
+sncon_tty_open(struct tty *tp)
+{
+
+	return (0);
+}
+
+static void
+sncon_tty_outwakeup(struct tty *tp)
+{
+	struct sncon_softc *sc;
+
+	sc = tty_softc(tp);
+	/*
+	 * Re-start transmission.
+	 */
+}
+
+static int
+sncon_tty_param(struct tty *tp, struct termios *t)
+{
+
+	t->c_ispeed = t->c_ospeed = 9600;
+	t->c_cflag |= CLOCAL;
+	t->c_cflag &= ~HUPCL;
+	return (0);
+}
+
+/*
+ * Device section.
+ */
+
+static int sncon_attach(device_t);
+static int sncon_detach(device_t);
+static int sncon_probe(device_t);
+
+static device_method_t sncon_methods[] = {
+	DEVMETHOD(device_attach,	sncon_attach),
+	DEVMETHOD(device_detach,	sncon_detach),
+	DEVMETHOD(device_probe,		sncon_probe),
+	{ 0, 0 }
+};
+
+static driver_t sncon_driver = {
+	sncon_name,
+	sncon_methods,
+	sizeof(struct sncon_softc),
+};
+
+static devclass_t sncon_devclass;
+
+DRIVER_MODULE(sncon, shub, sncon_driver, sncon_devclass, 0, 0);
+
+static void
+sncon_rx_intr(void *arg)
+{
+}
+
+static void
+sncon_tx_intr(void *arg)
+{
+}
+
+static int
+sncon_attach(device_t dev)
+{
+	struct ia64_sal_result r;
+	struct sncon_softc *sc;
+	int error;
+
+	sc = device_get_softc(dev);
+	sc->sc_dev = dev;
+
+	do {
+		/* Enable RX interrupts. */
+		r = ia64_sal_entry(SAL_SGISN_CON_INTR, 2, 1, 0, 0, 0, 0, 0);
+		if (r.sal_status != 0)
+			break;
+
+		sc->sc_irid = 0;
+		sc->sc_ires = bus_alloc_resource_any(dev, SYS_RES_IRQ,
+		    &sc->sc_irid, RF_ACTIVE | RF_SHAREABLE);
+		if (sc->sc_ires == NULL)
+			break;
+
+		error = bus_setup_intr(dev, sc->sc_ires,
+		    INTR_TYPE_TTY | INTR_MPSAFE, NULL, sncon_rx_intr, sc,
+		    &sc->sc_icookie);
+		if (error) {
+			device_printf(dev, "could not activate interrupt\n");
+			bus_release_resource(dev, SYS_RES_IRQ, sc->sc_irid,
+			    sc->sc_ires);
+			sc->sc_ires = NULL;
+		}
+	} while (0);
+
+	if (sc->sc_ires == NULL) {
+		/* Disable RX interrupts. */
+		r = ia64_sal_entry(SAL_SGISN_CON_INTR, 2, 0, 0, 0, 0, 0, 0);
+	}
+
+	swi_add(&tty_intr_event, sncon_name, sncon_tx_intr, sc, SWI_TTY,
+	    INTR_TYPE_TTY, &sc->sc_softih);
+
+	sc->sc_tp = tty_alloc(&sncon_tty_class, sc);
+	if (sncon_is_console)
+		tty_init_console(sc->sc_tp, 0);
+	tty_makedev(sc->sc_tp, NULL, "s0");
+	return (0);
+}
+
+static int
+sncon_detach(device_t dev)
+{
+	struct ia64_sal_result r;
+	struct sncon_softc *sc;
+	struct tty *tp;
+
+	sc = device_get_softc(dev);
+	tp = sc->sc_tp;
+
+	tty_lock(tp);
+	swi_remove(sc->sc_softih);
+	tty_rel_gone(tp);
+
+	if (sc->sc_ires != NULL) {
+		bus_teardown_intr(dev, sc->sc_ires, sc->sc_icookie);
+		bus_release_resource(dev, SYS_RES_IRQ, sc->sc_irid,
+		    sc->sc_ires);
+	}
+
+	/* Disable Tx & Rx interrupts. */
+	r = ia64_sal_entry(SAL_SGISN_CON_INTR, 2, 0, 0, 0, 0, 0, 0);
+	return (0);
+}
+
+static int
+sncon_probe(device_t dev)
+{
+	struct ia64_sal_result r;
+ 
+	r = ia64_sal_entry(SAL_SGISN_SN_INFO, 0, 0, 0, 0, 0, 0, 0);
+	if (r.sal_status != 0)
+		return (ENXIO);
+
+	bus_set_resource(dev, SYS_RES_IRQ, 0, 0xe9, 1);
+	device_set_desc_copy(dev, "SGI L1 console");
+	return (0);
+}

From owner-svn-src-projects@FreeBSD.ORG  Sun Apr 24 17:25:50 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 7C8501065670;
	Sun, 24 Apr 2011 17:25:50 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 6A0FA8FC19;
	Sun, 24 Apr 2011 17:25:50 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3OHPo3n040657;
	Sun, 24 Apr 2011 17:25:50 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3OHPoIP040651;
	Sun, 24 Apr 2011 17:25:50 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104241725.p3OHPoIP040651@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Sun, 24 Apr 2011 17:25:50 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r220995 - in projects/altix/sys/ia64: include sgisn
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 24 Apr 2011 17:25:50 -0000

Author: marcel
Date: Sun Apr 24 17:25:50 2011
New Revision: 220995
URL: http://svn.freebsd.org/changeset/base/220995

Log:
  Commit WIP:
  o   Create a console device (sncon) as a child of shub. We query SAL for
      the NASID of the node to which all console output is routed and map
      that onto the shub instance. In short: the sncon child exists only
      for the shub instance that corresponds to the master L1 node.
  o   Define the registers of the PCI bridge and SHub controller and create
      tags and handles for accessing them. More power to us...

Added:
  projects/altix/sys/ia64/sgisn/sgisn_pcib.h   (contents, props changed)
  projects/altix/sys/ia64/sgisn/sgisn_shub.h   (contents, props changed)
Modified:
  projects/altix/sys/ia64/include/sgisn.h
  projects/altix/sys/ia64/sgisn/sgisn_pcib.c   (contents, props changed)
  projects/altix/sys/ia64/sgisn/sgisn_shub.c   (contents, props changed)

Modified: projects/altix/sys/ia64/include/sgisn.h
==============================================================================
--- projects/altix/sys/ia64/include/sgisn.h	Sun Apr 24 17:13:42 2011	(r220994)
+++ projects/altix/sys/ia64/include/sgisn.h	Sun Apr 24 17:25:50 2011	(r220995)
@@ -29,19 +29,21 @@
 #define _MACHINE_SGISN_H_
 
 /* SAL functions */
+#define	SAL_SGISN_MASTER_NASID		0x02000004
 #define	SAL_SGISN_KLCFG_ADDR		0x02000005
 #define	SAL_SGISN_SAPIC_INFO		0x0200001d
 #define	SAL_SGISN_SN_INFO		0x0200001e
 #define	SAL_SGISN_PUTC			0x02000021
 #define	SAL_SGISN_GETC			0x02000022
 #define	SAL_SGISN_POLL			0x02000026
+#define	SAL_SGISN_CON_INTR		0x02000027
 #define	SAL_SGISN_TXBUF			0x02000028
 #define	SAL_SGISN_IOHUB_INFO		0x02000055
 #define	SAL_SGISN_IOBUS_INFO		0x02000056
 #define	SAL_SGISN_IODEV_INFO		0x02000057
 #define	SAL_SGISN_FEATURE_GET_PROM	0x02000065
 #define	SAL_SGISN_FEATURE_SET_OS	0x02000066
-
+#define	SAL_SGISN_SET_CPUID		0x02000068
 
 #define	SGISN_HUB_NITTES	8
 #define	SGISN_HUB_NWIDGETS	16
@@ -77,6 +79,7 @@ struct sgisn_geoid {
 	} sg_u;
 };
 
+struct sgisn_fwdev;
 struct sgisn_fwhub;
 
 struct sgisn_widget {
@@ -101,12 +104,34 @@ struct sgisn_fwbus {
 	struct sgisn_widget	*bus_wgt_info;
 };
 
+struct sgisn_fwflush_dev {
+	uint32_t		fld_bus;
+	uint32_t		fld_slot;
+	uint32_t		fld_pin;
+	uint32_t		_pad;
+	struct {
+		uint64_t	start;
+		uint64_t	end;
+	} fld_bar[6];
+	uint64_t		*fld_intr;
+	uint64_t		fld_value;
+	uint64_t		*fld_flush;
+	uint32_t		fld_pci_bus;
+	uint32_t		fld_pci_segment;
+	struct sgisn_fwbus	*fld_parent;
+	uint64_t		fld_xxx;
+};
+
+struct sgisn_fwflush_widget {
+	struct sgisn_fwflush_dev flw_dev[32];
+};
+
 struct sgisn_fwhub {
 	struct sgisn_geoid	hub_geoid;
 	uint16_t		hub_nasid;
 	uint16_t		hub_peer_nasid;
 	uint32_t		_pad;
-	void 			*hub_widgets;
+	struct sgisn_fwflush_widget *hub_flush;
 	uint64_t		hub_dma_itte[SGISN_HUB_NITTES];
 	struct sgisn_widget	hub_widget[SGISN_HUB_NWIDGETS];
 
@@ -119,17 +144,18 @@ struct sgisn_fwhub {
 
 struct sgisn_fwirq {
 	uint64_t		_obsolete;
-	uint16_t		irq_tgt_nasid;
+	uint16_t		irq_nasid;
 	uint16_t		_pad1;
-	uint32_t		irq_tgt_slice;
+	uint32_t		irq_slice;
 	uint32_t		irq_cpuid;
 	uint32_t		irq_nr;
 	uint32_t		irq_pin;
-	uint64_t		irq_tgt_xtaddr;
-	uint32_t		irq_br_type;
 	uint32_t		_pad2;
+	uint64_t		irq_xtaddr;
+	uint32_t		irq_br_type;
+	uint32_t		_pad3;
 	void			*irq_bridge;	/* Originating */
-	void			*irq_io_info;
+	struct sgisn_fwdev	*irq_dev;
 	uint32_t		irq_last;
 	uint32_t		irq_cookie;
 	uint32_t		irq_flags;
@@ -140,7 +166,8 @@ struct sgisn_fwdev {
 	uint64_t		dev_bar[6];
 	uint64_t		dev_romaddr;
 	uint64_t		dev_handle;
-	uint64_t		dev_os_private[3];
+	struct sgisn_fwbus	*dev_parent;
+	uint64_t		dev_os_private[2];
 	struct sgisn_fwirq	*dev_irq;
 	uint64_t		dev_xxx[4];
 };

Modified: projects/altix/sys/ia64/sgisn/sgisn_pcib.c
==============================================================================
--- projects/altix/sys/ia64/sgisn/sgisn_pcib.c	Sun Apr 24 17:13:42 2011	(r220994)
+++ projects/altix/sys/ia64/sgisn/sgisn_pcib.c	Sun Apr 24 17:25:50 2011	(r220995)
@@ -50,12 +50,17 @@ __FBSDID("$FreeBSD$");
 #include <machine/sal.h>
 #include <machine/sgisn.h>
 
+#include <ia64/sgisn/sgisn_pcib.h>
+
 static struct sgisn_fwdev sgisn_dev;
 static struct sgisn_fwirq sgisn_irq;
 
 struct sgisn_pcib_softc {
 	device_t	sc_dev;
-	void		*sc_promaddr;
+	struct sgisn_fwbus *sc_fwbus;
+	bus_addr_t	sc_ioaddr;
+	bus_space_tag_t	sc_tag;
+	bus_space_handle_t sc_hndl;
 	u_int		sc_domain;
 	u_int		sc_busnr;
 };
@@ -185,22 +190,36 @@ sgisn_pcib_activate_resource(device_t de
 			device_printf(dev, "interrupt mismatch: (actual=%u)\n",
 			    sgisn_irq.irq_nr);
 
-	printf("XXX: %s: %u, %u, %u, %u, %u, %#lx\n", __func__,
-	    sgisn_irq.irq_tgt_nasid, sgisn_irq.irq_tgt_slice,
-	    sgisn_irq.irq_cpuid, sgisn_irq.irq_nr, sgisn_irq.irq_pin,
-	    sgisn_irq.irq_tgt_xtaddr);
-	printf("\t%u, %p, %p, %u, %#x, %#x, %u\n", sgisn_irq.irq_br_type,
-	    sgisn_irq.irq_bridge, sgisn_irq.irq_io_info, sgisn_irq.irq_last,
-	    sgisn_irq.irq_cookie, sgisn_irq.irq_flags, sgisn_irq.irq_refcnt);
+                printf("XXX: nasid=%u, slice=%u, cpuid=%u, irq=%u, pin=%u, "
+		    "xtaddr=%#lx\n", sgisn_irq.irq_nasid, sgisn_irq.irq_slice,
+                    sgisn_irq.irq_cpuid, sgisn_irq.irq_nr, sgisn_irq.irq_pin,
+                    sgisn_irq.irq_xtaddr);
+		printf("XXX: brt=%u, br=%p, dev=%p, last=%u, cookie=%#x, "
+		    "flags=%#x, refcnt=%u\n", sgisn_irq.irq_br_type,
+		    sgisn_irq.irq_bridge, sgisn_irq.irq_dev,
+		    sgisn_irq.irq_last, sgisn_irq.irq_cookie,
+		    sgisn_irq.irq_flags, sgisn_irq.irq_refcnt);
 
 #if 0
+		intrs = bus_space_read_8(sc->sc_tag, sc->sc_hndl,
+		    PIC_REG_INT_ENABLE);
+		intrs |= 1 << sgisn_irq.irq_pin;
+		bus_space_write_8(sc->sc_tag, sc->sc_hndl, PIC_REG_INT_ENABLE,
+		    intrs);
+
+		bus_space_write_8(sc->sc_tag, sc->sc_hndl,
+		    PIC_REG_INT_PIN(sgisn_irq.irq_pin), 1);
+
+		sgisn_dev.dev_parent = sc->sc_fwbus;
+		sgisn_dev.dev_irq = &sgisn_irq;
+		sgisn_irq.irq_dev = &sgisn_dev;
+
 		r = ia64_sal_entry(SAL_SGISN_INTERRUPT, 1 /*alloc*/,
-		    sgisn_irq.irq_tgt_nasid,
-		    (sgisn_irq.irq_bridge >> 24) & 15
+		    sgisn_irq.irq_nasid, (sgisn_irq.irq_bridge >> 24) & 15,
 		    ia64_tpa((uintptr_t)&sgisn_irq),
 		    paddr,
-		    sgisn_irq.irq_tgt_nasid,
-		    sgisn_irq.irq_tgt_slice);
+		    sgisn_irq.irq_nasid,
+		    sgisn_irq.irq_slice);
 		if (r.status != 0)
 			return (ENXIO);
 #endif
@@ -250,7 +269,8 @@ sgisn_pcib_attach(device_t dev)
 {
 	struct sgisn_pcib_softc *sc;
 	device_t parent;
-	uintptr_t bus, seg;
+	uintptr_t addr, bus, seg;
+	u_int i;
 
 	sc = device_get_softc(dev);
 	sc->sc_dev = dev;
@@ -261,6 +281,27 @@ sgisn_pcib_attach(device_t dev)
 	BUS_READ_IVAR(parent, dev, SHUB_IVAR_PCISEG, &seg);
 	sc->sc_domain = seg;
 
+	(void)ia64_sal_entry(SAL_SGISN_IOBUS_INFO, seg, bus,
+	    ia64_tpa((uintptr_t)&addr), 0, 0, 0, 0);
+	sc->sc_fwbus = (void *)IA64_PHYS_TO_RR7(addr);
+	sc->sc_ioaddr = IA64_RR_MASK(sc->sc_fwbus->bus_base);
+	sc->sc_tag = IA64_BUS_SPACE_MEM;
+	bus_space_map(sc->sc_tag, sc->sc_ioaddr, PIC_REG_SIZE, 0,
+	    &sc->sc_hndl);
+
+	device_printf(dev, "ASIC=%x, XID=%u\n", sc->sc_fwbus->bus_asic,
+	    sc->sc_fwbus->bus_xid);
+
+	device_printf(dev, "INTR status=%lx\n",
+	    bus_space_read_8(sc->sc_tag, sc->sc_hndl, PIC_REG_INT_STATUS));
+	device_printf(dev, "INTR enable=%lx\n",
+	    bus_space_read_8(sc->sc_tag, sc->sc_hndl, PIC_REG_INT_ENABLE));
+	device_printf(dev, "INTR addrs:");
+	for (i = 0; i < 8; i++)
+		printf(" %lx", bus_space_read_8(sc->sc_tag, sc->sc_hndl,
+		    PIC_REG_INT_ADDR(i)));
+	printf("\n");
+
 #if 0
 	sgisn_pcib_scan(sc, sc->sc_busnr, sgisn_pcib_maxslots(dev));
 #endif

Added: projects/altix/sys/ia64/sgisn/sgisn_pcib.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/altix/sys/ia64/sgisn/sgisn_pcib.h	Sun Apr 24 17:25:50 2011	(r220995)
@@ -0,0 +1,76 @@
+/*-
+ * Copyright (c) 2011 Marcel Moolenaar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _IA64_SGISN_PCIB_H_
+#define	_IA64_SGISN_PCIB_H_
+
+#define	PIC_REG_SIZE		(512 * 1024)
+
+#define	PIC_REG_WGT_ID		0x00000
+#define	PIC_REG_WGT_STAT	0x00008
+#define	PIC_REG_WGT_ERR_H	0x00010
+#define	PIC_REG_WGT_ERR		0x00018
+#define	PIC_REG_WGT_CTRL	0x00020
+#define	PIC_REG_WGT_REQ_TOUT	0x00028
+#define	PIC_REG_WGT_INT_H	0x00030
+#define	PIC_REG_WGT_INT		0x00038
+#define	PIC_REG_WGT_ERRCMD	0x00040
+#define	PIC_REG_WGT_LLP		0x00048
+#define	PIC_REG_WGT_TFLUSH	0x00050
+#define	PIC_REG_WGT_AUX_ERR	0x00058
+#define	PIC_REG_WGT_RSP_H	0x00060
+#define	PIC_REG_WGT_RSP		0x00068
+#define	PIC_REG_WGT_TSTPIN_CTL	0x00070
+#define	PIC_REG_WGT_ADDR_LKERR	0x00078
+
+#define	PIC_REG_DIR_MAP		0x00080
+#define	PIC_REG_MAP_FAULT	0x00090
+#define	PIC_REG_ARBITRATION	0x000a0
+#define	PIC_REG_ATE_PARERR	0x000b0
+#define	PIC_REG_BUS_TOUT	0x000c0
+#define	PIC_REG_PCI_CFG		0x000c8
+#define	PIC_REG_PCI_ERR_H	0x000d0
+#define	PIC_REG_PCI_ERR		0x000d8
+
+#define	PIC_REG_INT_STATUS	0x00100
+#define	PIC_REG_INT_ENABLE	0x00108
+#define	PIC_REG_INT_RSTSTAT	0x00110
+#define	PIC_REG_INT_MODE	0x00118
+#define	PIC_REG_INT_DEVICE	0x00120
+#define	PIC_REG_INT_HOSTERR	0x00128
+#define	PIC_REG_INT_ADDR(x)	(0x00130 + (x << 3))
+#define	PIC_REG_INT_ERRVIEW	0x00170
+#define	PIC_REG_INT_MULTI	0x00178
+#define	PIC_REG_INT_FORCE(x)	(0x00180 + (x << 3))
+#define	PIC_REG_INT_PIN(x)	(0x001c0 + (x << 3))
+
+#define	PIC_REG_DEVICE(x)	(0x00200 + (x << 3))
+#define	PIC_REG_WR_REQ(x)	(0x00240 + (x << 3))
+#define	PIC_REG_RRB_MAP(x)	(0x00280 + (x << 3))
+
+#endif /* _IA64_SGISN_PCIB_H_ */

Modified: projects/altix/sys/ia64/sgisn/sgisn_shub.c
==============================================================================
--- projects/altix/sys/ia64/sgisn/sgisn_shub.c	Sun Apr 24 17:13:42 2011	(r220994)
+++ projects/altix/sys/ia64/sgisn/sgisn_shub.c	Sun Apr 24 17:25:50 2011	(r220995)
@@ -49,11 +49,16 @@ __FBSDID("$FreeBSD$");
 #include <contrib/dev/acpica/include/actables.h>
 #include <dev/acpica/acpivar.h>
 
+#include <ia64/sgisn/sgisn_shub.h>
+
 struct sgisn_shub_softc {
 	struct sgisn_fwhub *sc_fwhub;
 	device_t	sc_dev;
 	vm_paddr_t	sc_membase;
 	vm_size_t	sc_memsize;
+	bus_addr_t	sc_mmraddr;
+	bus_space_tag_t sc_tag;
+	bus_space_handle_t sc_hndl;
 	u_int		sc_domain;
 	u_int		sc_hubtype;	/* SHub type (0=SHub1, 1=SHub2) */
 	u_int		sc_nasid_mask;
@@ -69,6 +74,8 @@ static int sgisn_shub_activate_resource(
     struct resource *);
 static int sgisn_shub_read_ivar(device_t, device_t, int, uintptr_t *);
 static int sgisn_shub_write_ivar(device_t, device_t, int, uintptr_t);
+static struct resource *sgisn_shub_alloc_resource(device_t, device_t, int,
+    int *, u_long, u_long, u_long, u_int);
 
 /*
  * Bus interface definitions.
@@ -83,7 +90,7 @@ static device_method_t sgisn_shub_method
         DEVMETHOD(bus_read_ivar,	sgisn_shub_read_ivar),
         DEVMETHOD(bus_write_ivar,	sgisn_shub_write_ivar),
 	DEVMETHOD(bus_print_child,	bus_generic_print_child),
-	DEVMETHOD(bus_alloc_resource,	bus_generic_alloc_resource),
+	DEVMETHOD(bus_alloc_resource,	sgisn_shub_alloc_resource),
 	DEVMETHOD(bus_release_resource,	bus_generic_release_resource),
 	DEVMETHOD(bus_activate_resource, sgisn_shub_activate_resource),
 	DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource),
@@ -186,6 +193,7 @@ sgisn_shub_activate_resource(device_t de
 	return (EDOOFUS);
 }
 
+#if 0
 static void
 sgisn_shub_dump_sn_info(struct ia64_sal_result *r)
 {
@@ -205,6 +213,7 @@ sgisn_shub_dump_sn_info(struct ia64_sal_
 	    (r->sal_result[1] >> 16) & 0xff);
 
 }
+#endif
 
 static void
 sgisn_shub_identify_srat_cb(ACPI_SUBTABLE_HEADER *entry, void *arg)
@@ -274,8 +283,10 @@ sgisn_shub_identify(driver_t *drv, devic
 	if (r.sal_status != 0)
 		return;
 
+#if 0
 	if (bootverbose)
 		sgisn_shub_dump_sn_info(&r);
+#endif
 
 	/*
 	 * The number of SHub ASICs is determined by the number of nodes
@@ -388,6 +399,12 @@ sgisn_shub_attach(device_t dev)
 	sc->sc_nasid = (sc->sc_membase >> sc->sc_nasid_shft) &
 	    sc->sc_nasid_mask;
 
+	sc->sc_mmraddr = (sc->sc_nasid << sc->sc_nasid_shft) |
+	    (1UL << (sc->sc_nasid_shft - 3)) |
+	    (((sc->sc_hubtype == 0) ? 1UL : 0UL) << 32);
+	sc->sc_tag = IA64_BUS_SPACE_MEM;
+	bus_space_map(sc->sc_tag, sc->sc_mmraddr, 1UL << 32, 0, &sc->sc_hndl);
+
 	if (bootverbose)
 		device_printf(dev, "NASID=%#x\n", sc->sc_nasid);
 
@@ -411,6 +428,13 @@ sgisn_shub_attach(device_t dev)
 	for (wdgt = 0; wdgt < SGISN_HUB_NWIDGETS; wdgt++)
 		sc->sc_fwhub->hub_widget[wdgt].wgt_hub = sc->sc_fwhub;
 
+	/* Create a child for the SAL-based console. */
+	r = ia64_sal_entry(SAL_SGISN_MASTER_NASID, 0, 0, 0, 0, 0, 0, 0);
+	if (r.sal_status == 0 && r.sal_result[0] == sc->sc_nasid) {
+		child = device_add_child(dev, "sncon", -1);
+		device_set_ivars(child, (void *)(uintptr_t)~0UL);
+	}
+
 	for (seg = 0; seg <= sc->sc_fwhub->hub_pci_maxseg; seg++) {
 		for (bus = 0; bus <= sc->sc_fwhub->hub_pci_maxbus; bus++) {
 			r = ia64_sal_entry(SAL_SGISN_IOBUS_INFO, seg, bus,
@@ -456,3 +480,13 @@ sgisn_shub_write_ivar(device_t dev, devi
 
 	return (ENOENT);
 }
+
+static struct resource *
+sgisn_shub_alloc_resource(device_t dev, device_t child, int type, int *rid,
+    u_long start, u_long end, u_long count, u_int flags)
+{
+	struct resource *res;
+
+	res = bus_alloc_resource(dev, type, rid, start, end, count, flags);
+	return (res);
+}

Added: projects/altix/sys/ia64/sgisn/sgisn_shub.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/altix/sys/ia64/sgisn/sgisn_shub.h	Sun Apr 24 17:25:50 2011	(r220995)
@@ -0,0 +1,51 @@
+/*-
+ * Copyright (c) 2011 Marcel Moolenaar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _IA64_SGISN_SHUB_H_
+#define	_IA64_SGISN_SHUB_H_
+
+#define	SHUB_MMR_SIZE		(1 << 32)
+
+#define	SHUB_MMR_IPI		0x10000380
+#define	SHUB_MMR_RTC1_ICFG	0x10001480
+#define	SHUB_MMR_RTC1_IENA	0x10001500
+#define	SHUB_MMR_RTC2_ICFG	0x10001580
+#define	SHUB_MMR_RTC2_IENA	0x10001600
+#define	SHUB_MMR_RTC3_ICFG	0x10001680
+#define	SHUB_MMR_RTC3_IENA	0x10001700
+#define	SHUB_MMR_EVENT		0x10010000
+#define	SHUB_MMR_IPI_ACC	0x10060480
+#define	SHUB_MMR_ID		0x10060580
+#define	SHUB_MMR_PTC_CFG0	0x101a0000
+#define	SHUB_MMR_PTC_CFG1	0x101a0080
+#define	SHUB_MMR_RTC		0x101c0000
+#define	SHUB_MMR_PIO_WSTAT0	0x20070200
+#define	SHUB_MMR_PIO_WSTAT1	0x20070280
+#define	SHUB_MMR_PTC		0x70000000
+
+#endif /* _IA64_SGISN_SHUB_H_ */

From owner-svn-src-projects@FreeBSD.ORG  Sun Apr 24 17:28:27 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id C158E106566B;
	Sun, 24 Apr 2011 17:28:27 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id B04CA8FC13;
	Sun, 24 Apr 2011 17:28:27 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3OHSROd040770;
	Sun, 24 Apr 2011 17:28:27 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3OHSRMF040768;
	Sun, 24 Apr 2011 17:28:27 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104241728.p3OHSRMF040768@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Sun, 24 Apr 2011 17:28:27 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r220996 - projects/altix/sys/ia64/include
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 24 Apr 2011 17:28:27 -0000

Author: marcel
Date: Sun Apr 24 17:28:27 2011
New Revision: 220996
URL: http://svn.freebsd.org/changeset/base/220996

Log:
  We now have 8-byte wide bus-space accesses. Consequently, the lack of
  8-byte wide I/O port access support was causing build breakages. Just
  drop support for 8-byte wide I/O port accesses.

Modified:
  projects/altix/sys/ia64/include/bus.h

Modified: projects/altix/sys/ia64/include/bus.h
==============================================================================
--- projects/altix/sys/ia64/include/bus.h	Sun Apr 24 17:25:50 2011	(r220995)
+++ projects/altix/sys/ia64/include/bus.h	Sun Apr 24 17:28:27 2011	(r220996)
@@ -222,9 +222,8 @@ bus_space_read_8(bus_space_tag_t bst, bu
 {
 	uint64_t val;
 
-	val = (__predict_false(bst == IA64_BUS_SPACE_IO))
-	    ? bus_space_read_io_8(bsh + ofs)
-	    : ia64_ld8((void *)(bsh + ofs));
+	val = (__predict_false(bst == IA64_BUS_SPACE_IO)) ? ~0 :
+	    ia64_ld8((void *)(bsh + ofs));
 	return (val);
 }
 
@@ -277,9 +276,7 @@ bus_space_write_8(bus_space_tag_t bst, b
     uint64_t val)
 {
 
-	if (__predict_false(bst == IA64_BUS_SPACE_IO))
-		bus_space_write_io_8(bsh + ofs, val);
-	else
+	if (__predict_true(bst != IA64_BUS_SPACE_IO))
 		ia64_st8((void *)(bsh + ofs), val);
 }
 

From owner-svn-src-projects@FreeBSD.ORG  Sun Apr 24 22:28:28 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 2394E1065674;
	Sun, 24 Apr 2011 22:28:28 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 108ED8FC13;
	Sun, 24 Apr 2011 22:28:28 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3OMSSbg049752;
	Sun, 24 Apr 2011 22:28:28 GMT (envelope-from bz@svn.freebsd.org)
Received: (from bz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3OMSRlb049729;
	Sun, 24 Apr 2011 22:28:27 GMT (envelope-from bz@svn.freebsd.org)
Message-Id: <201104242228.p3OMSRlb049729@svn.freebsd.org>
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Sun, 24 Apr 2011 22:28:27 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221001 - in projects/pf/pf45: . bin/ps bin/setfacl
	bin/sh cddl/contrib/opensolaris/lib/libzfs/common
	contrib/bsnmp/snmpd contrib/dialog contrib/dialog/package
	contrib/dialog/po contrib...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 24 Apr 2011 22:28:28 -0000

Author: bz
Date: Sun Apr 24 22:28:26 2011
New Revision: 221001
URL: http://svn.freebsd.org/changeset/base/221001

Log:
  IFC @221000

Added:
  projects/pf/pf45/contrib/dialog/package/
     - copied from r221000, head/contrib/dialog/package/
  projects/pf/pf45/lib/libedit/edit/
     - copied from r221000, head/lib/libedit/edit/
  projects/pf/pf45/sbin/geom/class/raid/
     - copied from r221000, head/sbin/geom/class/raid/
  projects/pf/pf45/share/doc/smm/07.lpd/
     - copied from r221000, head/share/doc/smm/07.lpd/
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/dtparser.l
     - copied unchanged from r221000, head/sys/contrib/dev/acpica/compiler/dtparser.l
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/dtparser.y
     - copied unchanged from r221000, head/sys/contrib/dev/acpica/compiler/dtparser.y
  projects/pf/pf45/sys/contrib/dev/acpica/events/evglock.c
     - copied unchanged from r221000, head/sys/contrib/dev/acpica/events/evglock.c
  projects/pf/pf45/sys/contrib/dev/iwn/iwlwifi-1000-39.31.5.1.fw.uu
     - copied unchanged from r221000, head/sys/contrib/dev/iwn/iwlwifi-1000-39.31.5.1.fw.uu
  projects/pf/pf45/sys/contrib/dev/iwn/iwlwifi-5000-8.83.5.1.fw.uu
     - copied unchanged from r221000, head/sys/contrib/dev/iwn/iwlwifi-5000-8.83.5.1.fw.uu
  projects/pf/pf45/sys/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.2.fw.uu
     - copied unchanged from r221000, head/sys/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.2.fw.uu
  projects/pf/pf45/sys/contrib/dev/iwn/iwlwifi-6000g2b-17.168.5.2.fw.uu
     - copied unchanged from r221000, head/sys/contrib/dev/iwn/iwlwifi-6000g2b-17.168.5.2.fw.uu
  projects/pf/pf45/sys/contrib/dev/iwn/iwlwifi-6050-41.28.5.1.fw.uu
     - copied unchanged from r221000, head/sys/contrib/dev/iwn/iwlwifi-6050-41.28.5.1.fw.uu
  projects/pf/pf45/sys/dev/ath/ath_hal/ar9002/ar9285_diversity.c
     - copied unchanged from r221000, head/sys/dev/ath/ath_hal/ar9002/ar9285_diversity.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar9002/ar9285_diversity.h
     - copied unchanged from r221000, head/sys/dev/ath/ath_hal/ar9002/ar9285_diversity.h
  projects/pf/pf45/sys/dev/ath/ath_hal/ar9002/ar9285_phy.c
     - copied unchanged from r221000, head/sys/dev/ath/ath_hal/ar9002/ar9285_phy.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar9002/ar9285_phy.h
     - copied unchanged from r221000, head/sys/dev/ath/ath_hal/ar9002/ar9285_phy.h
  projects/pf/pf45/sys/dev/ath/if_ath_ahb.c
     - copied unchanged from r221000, head/sys/dev/ath/if_ath_ahb.c
  projects/pf/pf45/sys/dev/nvram2env/
     - copied from r221000, head/sys/dev/nvram2env/
  projects/pf/pf45/sys/geom/eli/g_eli_key_cache.c
     - copied unchanged from r221000, head/sys/geom/eli/g_eli_key_cache.c
  projects/pf/pf45/sys/geom/geom_map.c
     - copied unchanged from r221000, head/sys/geom/geom_map.c
  projects/pf/pf45/sys/geom/raid/
     - copied from r221000, head/sys/geom/raid/
  projects/pf/pf45/sys/mips/conf/AR91XX_BASE
     - copied unchanged from r221000, head/sys/mips/conf/AR91XX_BASE
  projects/pf/pf45/sys/mips/conf/AR91XX_BASE.hints
     - copied unchanged from r221000, head/sys/mips/conf/AR91XX_BASE.hints
  projects/pf/pf45/sys/mips/conf/RT305X
     - copied unchanged from r221000, head/sys/mips/conf/RT305X
  projects/pf/pf45/sys/mips/conf/RT305X.hints
     - copied unchanged from r221000, head/sys/mips/conf/RT305X.hints
  projects/pf/pf45/sys/mips/conf/TP-WN1043ND
     - copied unchanged from r221000, head/sys/mips/conf/TP-WN1043ND
  projects/pf/pf45/sys/mips/conf/TP-WN1043ND.hints
     - copied unchanged from r221000, head/sys/mips/conf/TP-WN1043ND.hints
  projects/pf/pf45/sys/mips/rt305x/
     - copied from r221000, head/sys/mips/rt305x/
  projects/pf/pf45/sys/modules/ath_ahb/
     - copied from r221000, head/sys/modules/ath_ahb/
  projects/pf/pf45/sys/modules/ath_pci/
     - copied from r221000, head/sys/modules/ath_pci/
  projects/pf/pf45/sys/modules/cxgbe/if_cxgbe/
     - copied from r221000, head/sys/modules/cxgbe/if_cxgbe/
  projects/pf/pf45/sys/modules/geom/geom_raid/
     - copied from r221000, head/sys/modules/geom/geom_raid/
  projects/pf/pf45/sys/modules/iwnfw/iwn6000g2a/
     - copied from r221000, head/sys/modules/iwnfw/iwn6000g2a/
  projects/pf/pf45/sys/modules/iwnfw/iwn6000g2b/
     - copied from r221000, head/sys/modules/iwnfw/iwn6000g2b/
  projects/pf/pf45/sys/net80211/ieee80211_alq.c
     - copied unchanged from r221000, head/sys/net80211/ieee80211_alq.c
  projects/pf/pf45/sys/net80211/ieee80211_alq.h
     - copied unchanged from r221000, head/sys/net80211/ieee80211_alq.h
  projects/pf/pf45/sys/sys/racct.h
     - copied unchanged from r221000, head/sys/sys/racct.h
  projects/pf/pf45/sys/sys/rctl.h
     - copied unchanged from r221000, head/sys/sys/rctl.h
  projects/pf/pf45/tools/tools/ath/arcode/
     - copied from r221000, head/tools/tools/ath/arcode/
  projects/pf/pf45/usr.bin/rctl/
     - copied from r221000, head/usr.bin/rctl/
Replaced:
  projects/pf/pf45/sys/modules/cxgbe/Makefile
     - copied unchanged from r221000, head/sys/modules/cxgbe/Makefile
Deleted:
  projects/pf/pf45/contrib/gcc/doc/objc.texi
  projects/pf/pf45/contrib/gcc/objc/
  projects/pf/pf45/contrib/libobjc/
  projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/BugReporter/
  projects/pf/pf45/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/PathSensitive/
  projects/pf/pf45/gnu/lib/libobjc/
  projects/pf/pf45/gnu/usr.bin/cc/cc1obj/
  projects/pf/pf45/gnu/usr.bin/man/
  projects/pf/pf45/include/histedit.h
  projects/pf/pf45/share/doc/smm/07.lpr/
  projects/pf/pf45/share/examples/kld/firmware/fwimage/firmware.img
  projects/pf/pf45/sys/contrib/dev/iwn/iwlwifi-1000-128.50.3.1.fw.uu
  projects/pf/pf45/sys/contrib/dev/iwn/iwlwifi-5000-8.24.2.12.fw.uu
  projects/pf/pf45/sys/contrib/dev/iwn/iwlwifi-6050-9.201.4.1.fw.uu
Modified:
  projects/pf/pf45/Makefile
  projects/pf/pf45/Makefile.inc1
  projects/pf/pf45/ObsoleteFiles.inc
  projects/pf/pf45/UPDATING
  projects/pf/pf45/bin/ps/extern.h
  projects/pf/pf45/bin/ps/keyword.c
  projects/pf/pf45/bin/ps/print.c
  projects/pf/pf45/bin/ps/ps.1
  projects/pf/pf45/bin/ps/ps.c
  projects/pf/pf45/bin/ps/ps.h
  projects/pf/pf45/bin/setfacl/setfacl.1
  projects/pf/pf45/bin/sh/error.h
  projects/pf/pf45/bin/sh/eval.c
  projects/pf/pf45/bin/sh/main.c
  projects/pf/pf45/bin/sh/parser.c
  projects/pf/pf45/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c
  projects/pf/pf45/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c
  projects/pf/pf45/contrib/bsnmp/snmpd/main.c
  projects/pf/pf45/contrib/dialog/CHANGES
  projects/pf/pf45/contrib/dialog/VERSION
  projects/pf/pf45/contrib/dialog/aclocal.m4
  projects/pf/pf45/contrib/dialog/arrows.c
  projects/pf/pf45/contrib/dialog/buttons.c
  projects/pf/pf45/contrib/dialog/calendar.c
  projects/pf/pf45/contrib/dialog/checklist.c
  projects/pf/pf45/contrib/dialog/columns.c
  projects/pf/pf45/contrib/dialog/config.guess
  projects/pf/pf45/contrib/dialog/config.sub
  projects/pf/pf45/contrib/dialog/configure
  projects/pf/pf45/contrib/dialog/configure.in
  projects/pf/pf45/contrib/dialog/dialog-config.in
  projects/pf/pf45/contrib/dialog/dialog.1
  projects/pf/pf45/contrib/dialog/dialog.3
  projects/pf/pf45/contrib/dialog/dialog.c
  projects/pf/pf45/contrib/dialog/dialog.h
  projects/pf/pf45/contrib/dialog/dlg_colors.h
  projects/pf/pf45/contrib/dialog/fselect.c
  projects/pf/pf45/contrib/dialog/guage.c
  projects/pf/pf45/contrib/dialog/headers-sh.in
  projects/pf/pf45/contrib/dialog/inputstr.c
  projects/pf/pf45/contrib/dialog/makefile.in
  projects/pf/pf45/contrib/dialog/menubox.c
  projects/pf/pf45/contrib/dialog/mixedgauge.c
  projects/pf/pf45/contrib/dialog/pause.c
  projects/pf/pf45/contrib/dialog/po/ar.po
  projects/pf/pf45/contrib/dialog/po/bg.po
  projects/pf/pf45/contrib/dialog/po/ca.po
  projects/pf/pf45/contrib/dialog/po/cy.po
  projects/pf/pf45/contrib/dialog/po/da.po
  projects/pf/pf45/contrib/dialog/po/de.po
  projects/pf/pf45/contrib/dialog/po/dialog.pot
  projects/pf/pf45/contrib/dialog/po/eo.po
  projects/pf/pf45/contrib/dialog/po/es.po
  projects/pf/pf45/contrib/dialog/po/eu.po
  projects/pf/pf45/contrib/dialog/po/fi.po
  projects/pf/pf45/contrib/dialog/po/fr.po
  projects/pf/pf45/contrib/dialog/po/ga.po
  projects/pf/pf45/contrib/dialog/po/gl.po
  projects/pf/pf45/contrib/dialog/po/hr.po
  projects/pf/pf45/contrib/dialog/po/id.po
  projects/pf/pf45/contrib/dialog/po/is.po
  projects/pf/pf45/contrib/dialog/po/it.po
  projects/pf/pf45/contrib/dialog/po/ja.po
  projects/pf/pf45/contrib/dialog/po/ku.po
  projects/pf/pf45/contrib/dialog/po/lt.po
  projects/pf/pf45/contrib/dialog/po/lv.po
  projects/pf/pf45/contrib/dialog/po/makefile.inn
  projects/pf/pf45/contrib/dialog/po/ms.po
  projects/pf/pf45/contrib/dialog/po/nl.po
  projects/pf/pf45/contrib/dialog/po/pl.po
  projects/pf/pf45/contrib/dialog/po/pt_BR.po
  projects/pf/pf45/contrib/dialog/po/ru.po
  projects/pf/pf45/contrib/dialog/po/sq.po
  projects/pf/pf45/contrib/dialog/po/sv.po
  projects/pf/pf45/contrib/dialog/po/sw.po
  projects/pf/pf45/contrib/dialog/po/th.po
  projects/pf/pf45/contrib/dialog/po/zh_CN.po
  projects/pf/pf45/contrib/dialog/po/zh_TW.po
  projects/pf/pf45/contrib/dialog/progressbox.c
  projects/pf/pf45/contrib/dialog/samples/debian.rc
  projects/pf/pf45/contrib/dialog/samples/infobox5
  projects/pf/pf45/contrib/dialog/samples/infobox6
  projects/pf/pf45/contrib/dialog/samples/setup-vars
  projects/pf/pf45/contrib/dialog/samples/slackware.rc
  projects/pf/pf45/contrib/dialog/samples/sourcemage.rc
  projects/pf/pf45/contrib/dialog/samples/suse.rc
  projects/pf/pf45/contrib/dialog/samples/whiptail.rc
  projects/pf/pf45/contrib/dialog/tailbox.c
  projects/pf/pf45/contrib/dialog/textbox.c
  projects/pf/pf45/contrib/dialog/timebox.c
  projects/pf/pf45/contrib/dialog/trace.c
  projects/pf/pf45/contrib/dialog/ui_getc.c
  projects/pf/pf45/contrib/dialog/util.c
  projects/pf/pf45/contrib/gcc/BASE-VER
  projects/pf/pf45/contrib/gcc/ChangeLog
  projects/pf/pf45/contrib/gcc/DATESTAMP
  projects/pf/pf45/contrib/gcc/DEV-PHASE
  projects/pf/pf45/contrib/gcc/config/mips/predicates.md
  projects/pf/pf45/contrib/gcc/config/rs6000/rs6000.c
  projects/pf/pf45/contrib/gcc/config/s390/s390.md
  projects/pf/pf45/contrib/gcc/cp/ChangeLog
  projects/pf/pf45/contrib/gcc/cp/call.c
  projects/pf/pf45/contrib/gcc/cp/cp-tree.h
  projects/pf/pf45/contrib/gcc/cp/cxx-pretty-print.c
  projects/pf/pf45/contrib/gcc/cp/decl.c
  projects/pf/pf45/contrib/gcc/cp/decl2.c
  projects/pf/pf45/contrib/gcc/cp/error.c
  projects/pf/pf45/contrib/gcc/cp/lex.c
  projects/pf/pf45/contrib/gcc/cp/name-lookup.c
  projects/pf/pf45/contrib/gcc/cp/pt.c
  projects/pf/pf45/contrib/gcc/cp/semantics.c
  projects/pf/pf45/contrib/gcc/cp/typeck.c
  projects/pf/pf45/contrib/gcc/doc/contrib.texi
  projects/pf/pf45/contrib/gcc/doc/cpp.1
  projects/pf/pf45/contrib/gcc/doc/cpp.texi
  projects/pf/pf45/contrib/gcc/doc/cppenv.texi
  projects/pf/pf45/contrib/gcc/doc/cppinternals.texi
  projects/pf/pf45/contrib/gcc/doc/cppopts.texi
  projects/pf/pf45/contrib/gcc/doc/extend.texi
  projects/pf/pf45/contrib/gcc/doc/frontends.texi
  projects/pf/pf45/contrib/gcc/doc/gcc.1
  projects/pf/pf45/contrib/gcc/doc/gcc.texi
  projects/pf/pf45/contrib/gcc/doc/invoke.texi
  projects/pf/pf45/contrib/gcc/doc/sourcebuild.texi
  projects/pf/pf45/contrib/gcc/doc/standards.texi
  projects/pf/pf45/contrib/gcc/doc/tm.texi
  projects/pf/pf45/contrib/gcc/dwarf2out.c
  projects/pf/pf45/contrib/gcc/expr.c
  projects/pf/pf45/contrib/gcc/fold-const.c
  projects/pf/pf45/contrib/gcc/gimplify.c
  projects/pf/pf45/contrib/gcc/reload1.c
  projects/pf/pf45/contrib/gcc/simplify-rtx.c
  projects/pf/pf45/contrib/gcc/target-def.h
  projects/pf/pf45/contrib/gcc/target.h
  projects/pf/pf45/contrib/gcc/targhooks.c
  projects/pf/pf45/contrib/gcc/targhooks.h
  projects/pf/pf45/contrib/gcc/tree-if-conv.c
  projects/pf/pf45/contrib/gcc/tree-ssa-structalias.c
  projects/pf/pf45/contrib/gcc/tree-vect-analyze.c
  projects/pf/pf45/contrib/gcc/tree-vect-patterns.c
  projects/pf/pf45/contrib/gcc/tree.c
  projects/pf/pf45/contrib/gcc/tree.h
  projects/pf/pf45/contrib/libstdc++/ChangeLog
  projects/pf/pf45/contrib/libstdc++/include/std/std_valarray.h
  projects/pf/pf45/contrib/libstdc++/include/tr1/random
  projects/pf/pf45/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
  projects/pf/pf45/contrib/traceroute/traceroute.c
  projects/pf/pf45/contrib/tzdata/africa
  projects/pf/pf45/contrib/tzdata/asia
  projects/pf/pf45/contrib/tzdata/europe
  projects/pf/pf45/contrib/tzdata/southamerica
  projects/pf/pf45/contrib/tzdata/zone.tab
  projects/pf/pf45/etc/defaults/periodic.conf
  projects/pf/pf45/etc/defaults/rc.conf
  projects/pf/pf45/etc/devd.conf
  projects/pf/pf45/etc/etc.amd64/ttys
  projects/pf/pf45/etc/etc.arm/ttys
  projects/pf/pf45/etc/etc.i386/ttys
  projects/pf/pf45/etc/etc.ia64/ttys
  projects/pf/pf45/etc/etc.mips/ttys
  projects/pf/pf45/etc/etc.pc98/ttys
  projects/pf/pf45/etc/etc.powerpc/ttys
  projects/pf/pf45/etc/etc.sparc64/ttys
  projects/pf/pf45/etc/mtree/BSD.include.dist
  projects/pf/pf45/etc/periodic/daily/Makefile
  projects/pf/pf45/etc/periodic/security/Makefile
  projects/pf/pf45/etc/rc.d/Makefile
  projects/pf/pf45/etc/rc.d/devd
  projects/pf/pf45/etc/rc.d/faith
  projects/pf/pf45/etc/rc.d/hostid
  projects/pf/pf45/etc/rc.d/initrandom
  projects/pf/pf45/etc/rc.d/ipfw
  projects/pf/pf45/etc/rc.d/jail
  projects/pf/pf45/etc/rc.d/named
  projects/pf/pf45/etc/rc.d/netoptions
  projects/pf/pf45/etc/rc.d/routing
  projects/pf/pf45/etc/rc.d/securelevel
  projects/pf/pf45/etc/rc.subr
  projects/pf/pf45/gnu/lib/Makefile
  projects/pf/pf45/gnu/lib/libdialog/Makefile
  projects/pf/pf45/gnu/usr.bin/cc/Makefile
  projects/pf/pf45/gnu/usr.bin/cc/cc_tools/Makefile
  projects/pf/pf45/gnu/usr.bin/cc/doc/Makefile
  projects/pf/pf45/gnu/usr.bin/cc/include/Makefile
  projects/pf/pf45/gnu/usr.bin/gdb/libgdb/fbsd-threads.c
  projects/pf/pf45/include/Makefile
  projects/pf/pf45/lib/libc/gen/directory.3
  projects/pf/pf45/lib/libc/gen/errlst.c
  projects/pf/pf45/lib/libc/gen/getdiskbyname.3
  projects/pf/pf45/lib/libc/gen/syslog.c
  projects/pf/pf45/lib/libc/posix1e/acl_support_nfs4.c
  projects/pf/pf45/lib/libc/rpc/svc_vc.c
  projects/pf/pf45/lib/libc/string/strerror.3
  projects/pf/pf45/lib/libc/string/strerror.c
  projects/pf/pf45/lib/libc/sys/Makefile.inc
  projects/pf/pf45/lib/libc/sys/Symbol.map
  projects/pf/pf45/lib/libc/sys/getfh.2
  projects/pf/pf45/lib/libc/sys/kldstat.2
  projects/pf/pf45/lib/libc/sys/open.2
  projects/pf/pf45/lib/libcrypt/Makefile
  projects/pf/pf45/lib/libcrypt/crypt.3
  projects/pf/pf45/lib/libcrypt/crypt.c
  projects/pf/pf45/lib/libcrypt/crypt.h
  projects/pf/pf45/lib/libcrypt/misc.c
  projects/pf/pf45/lib/libdevstat/devstat.c
  projects/pf/pf45/lib/libedit/Makefile
  projects/pf/pf45/lib/libedit/read.c
  projects/pf/pf45/lib/libmd/Makefile
  projects/pf/pf45/lib/libmd/mddriver.c
  projects/pf/pf45/lib/libmd/rmddriver.c
  projects/pf/pf45/lib/libmd/shadriver.c
  projects/pf/pf45/lib/libthr/thread/thr_once.c
  projects/pf/pf45/lib/libutil/humanize_number.3
  projects/pf/pf45/lib/libutil/humanize_number.c
  projects/pf/pf45/lib/libutil/libutil.h
  projects/pf/pf45/lib/libutil/login_class.3
  projects/pf/pf45/libexec/rtld-elf/rtld.c
  projects/pf/pf45/release/Makefile
  projects/pf/pf45/release/generate-release.sh
  projects/pf/pf45/release/rc.local
  projects/pf/pf45/sbin/camcontrol/camcontrol.c
  projects/pf/pf45/sbin/conscontrol/conscontrol.8
  projects/pf/pf45/sbin/conscontrol/conscontrol.c
  projects/pf/pf45/sbin/geom/class/Makefile
  projects/pf/pf45/sbin/geom/core/geom.8
  projects/pf/pf45/sbin/geom/core/geom.c
  projects/pf/pf45/sbin/ggate/ggatel/ggatel.8
  projects/pf/pf45/sbin/ggate/ggatel/ggatel.c
  projects/pf/pf45/sbin/gvinum/Makefile
  projects/pf/pf45/sbin/gvinum/gvinum.c
  projects/pf/pf45/sbin/hastctl/hastctl.8
  projects/pf/pf45/sbin/hastctl/hastctl.c
  projects/pf/pf45/sbin/hastd/activemap.c
  projects/pf/pf45/sbin/hastd/hast.conf.5
  projects/pf/pf45/sbin/hastd/hast.h
  projects/pf/pf45/sbin/hastd/hast_proto.c
  projects/pf/pf45/sbin/hastd/hast_proto.h
  projects/pf/pf45/sbin/hastd/hastd.c
  projects/pf/pf45/sbin/hastd/parse.y
  projects/pf/pf45/sbin/hastd/primary.c
  projects/pf/pf45/sbin/hastd/proto_common.c
  projects/pf/pf45/sbin/hastd/secondary.c
  projects/pf/pf45/sbin/ifconfig/ifconfig.8
  projects/pf/pf45/sbin/ipfw/altq.c
  projects/pf/pf45/sbin/ipfw/dummynet.c
  projects/pf/pf45/sbin/ipfw/ipfw2.c
  projects/pf/pf45/sbin/ipfw/ipfw2.h
  projects/pf/pf45/sbin/ipfw/ipv6.c
  projects/pf/pf45/sbin/ipfw/main.c
  projects/pf/pf45/sbin/ipfw/nat.c
  projects/pf/pf45/sbin/natd/natd.c
  projects/pf/pf45/sbin/reboot/boot_i386.8
  projects/pf/pf45/sbin/umount/umount.8
  projects/pf/pf45/sbin/umount/umount.c
  projects/pf/pf45/share/doc/smm/Makefile
  projects/pf/pf45/share/examples/Makefile
  projects/pf/pf45/share/examples/kld/firmware/fwimage/Makefile
  projects/pf/pf45/share/man/man4/Makefile
  projects/pf/pf45/share/man/man4/ada.4
  projects/pf/pf45/share/man/man4/ath_hal.4
  projects/pf/pf45/share/man/man4/cc.4
  projects/pf/pf45/share/man/man4/cc_chd.4
  projects/pf/pf45/share/man/man4/cc_cubic.4
  projects/pf/pf45/share/man/man4/cc_hd.4
  projects/pf/pf45/share/man/man4/cc_htcp.4
  projects/pf/pf45/share/man/man4/cc_newreno.4
  projects/pf/pf45/share/man/man4/cc_vegas.4
  projects/pf/pf45/share/man/man4/cd.4
  projects/pf/pf45/share/man/man4/cxgbe.4
  projects/pf/pf45/share/man/man4/h_ertt.4
  projects/pf/pf45/share/man/man4/iwnfw.4
  projects/pf/pf45/share/man/man4/man4.i386/ep.4
  projects/pf/pf45/share/man/man4/md.4
  projects/pf/pf45/share/man/man4/siftr.4
  projects/pf/pf45/share/man/man4/siis.4
  projects/pf/pf45/share/man/man4/u3g.4
  projects/pf/pf45/share/man/man4/vinum.4
  projects/pf/pf45/share/man/man5/Makefile
  projects/pf/pf45/share/man/man5/disktab.5
  projects/pf/pf45/share/man/man5/rc.conf.5
  projects/pf/pf45/share/man/man5/src.conf.5
  projects/pf/pf45/share/man/man7/release.7
  projects/pf/pf45/share/man/man9/cc.9
  projects/pf/pf45/share/man/man9/hhook.9
  projects/pf/pf45/share/man/man9/khelp.9
  projects/pf/pf45/share/man/man9/mbuf.9
  projects/pf/pf45/share/man/man9/sbuf.9
  projects/pf/pf45/share/misc/committers-ports.dot
  projects/pf/pf45/share/misc/committers-src.dot
  projects/pf/pf45/share/mk/bsd.cpu.mk
  projects/pf/pf45/share/mk/bsd.dep.mk
  projects/pf/pf45/share/mk/bsd.lib.mk
  projects/pf/pf45/share/mk/bsd.libnames.mk
  projects/pf/pf45/share/mk/bsd.own.mk
  projects/pf/pf45/share/mk/bsd.prog.mk
  projects/pf/pf45/share/mk/bsd.sys.mk
  projects/pf/pf45/sys/amd64/amd64/exception.S
  projects/pf/pf45/sys/amd64/amd64/identcpu.c
  projects/pf/pf45/sys/amd64/amd64/initcpu.c
  projects/pf/pf45/sys/amd64/amd64/legacy.c
  projects/pf/pf45/sys/amd64/amd64/machdep.c
  projects/pf/pf45/sys/amd64/amd64/minidump_machdep.c
  projects/pf/pf45/sys/amd64/amd64/mp_machdep.c
  projects/pf/pf45/sys/amd64/amd64/pmap.c
  projects/pf/pf45/sys/amd64/amd64/prof_machdep.c
  projects/pf/pf45/sys/amd64/amd64/sys_machdep.c
  projects/pf/pf45/sys/amd64/amd64/trap.c
  projects/pf/pf45/sys/amd64/conf/GENERIC
  projects/pf/pf45/sys/amd64/ia32/ia32_exception.S
  projects/pf/pf45/sys/amd64/ia32/ia32_misc.c
  projects/pf/pf45/sys/amd64/ia32/ia32_signal.c
  projects/pf/pf45/sys/amd64/ia32/ia32_sigtramp.S
  projects/pf/pf45/sys/amd64/ia32/ia32_syscall.c
  projects/pf/pf45/sys/amd64/include/clock.h
  projects/pf/pf45/sys/amd64/include/cpufunc.h
  projects/pf/pf45/sys/amd64/include/pmap.h
  projects/pf/pf45/sys/amd64/include/smp.h
  projects/pf/pf45/sys/amd64/include/specialreg.h
  projects/pf/pf45/sys/amd64/linux32/linux32_dummy.c
  projects/pf/pf45/sys/amd64/linux32/linux32_proto.h
  projects/pf/pf45/sys/amd64/linux32/linux32_syscall.h
  projects/pf/pf45/sys/amd64/linux32/linux32_syscalls.c
  projects/pf/pf45/sys/amd64/linux32/linux32_sysent.c
  projects/pf/pf45/sys/amd64/linux32/linux32_systrace_args.c
  projects/pf/pf45/sys/amd64/linux32/linux32_sysvec.c
  projects/pf/pf45/sys/amd64/linux32/syscalls.master
  projects/pf/pf45/sys/arm/conf/AVILA
  projects/pf/pf45/sys/arm/conf/CAMBRIA
  projects/pf/pf45/sys/arm/conf/CRB
  projects/pf/pf45/sys/arm/conf/DB-78XXX
  projects/pf/pf45/sys/arm/conf/DB-88F5XXX
  projects/pf/pf45/sys/arm/conf/DB-88F6XXX
  projects/pf/pf45/sys/arm/conf/EP80219
  projects/pf/pf45/sys/arm/conf/IQ31244
  projects/pf/pf45/sys/arm/econa/ehci_ebus.c
  projects/pf/pf45/sys/arm/xscale/i8134x/crb_machdep.c
  projects/pf/pf45/sys/boot/common/bootstrap.h
  projects/pf/pf45/sys/boot/common/load_elf.c
  projects/pf/pf45/sys/boot/common/load_elf_obj.c
  projects/pf/pf45/sys/boot/common/module.c
  projects/pf/pf45/sys/boot/forth/loader.conf
  projects/pf/pf45/sys/boot/i386/boot2/Makefile
  projects/pf/pf45/sys/boot/i386/boot2/boot2.c
  projects/pf/pf45/sys/boot/i386/boot2/lib.h
  projects/pf/pf45/sys/boot/i386/boot2/sio.S
  projects/pf/pf45/sys/boot/i386/gptzfsboot/Makefile
  projects/pf/pf45/sys/boot/i386/zfsboot/Makefile
  projects/pf/pf45/sys/boot/ia64/common/copy.c
  projects/pf/pf45/sys/boot/ia64/common/exec.c
  projects/pf/pf45/sys/boot/ia64/common/libia64.h
  projects/pf/pf45/sys/boot/ia64/efi/main.c
  projects/pf/pf45/sys/boot/ia64/ski/efi_stub.c
  projects/pf/pf45/sys/boot/ia64/ski/main.c
  projects/pf/pf45/sys/boot/ia64/ski/skimd.c
  projects/pf/pf45/sys/boot/pc98/boot2/Makefile
  projects/pf/pf45/sys/boot/pc98/boot2/boot2.c
  projects/pf/pf45/sys/boot/pc98/loader/main.c
  projects/pf/pf45/sys/boot/sparc64/loader/main.c
  projects/pf/pf45/sys/cam/ata/ata_all.c
  projects/pf/pf45/sys/cam/ata/ata_all.h
  projects/pf/pf45/sys/cam/ata/ata_da.c
  projects/pf/pf45/sys/cam/ata/ata_pmp.c
  projects/pf/pf45/sys/cam/ata/ata_xpt.c
  projects/pf/pf45/sys/cam/cam_ccb.h
  projects/pf/pf45/sys/cam/cam_periph.c
  projects/pf/pf45/sys/cam/cam_xpt.c
  projects/pf/pf45/sys/cam/scsi/scsi_cd.c
  projects/pf/pf45/sys/cam/scsi/scsi_ch.c
  projects/pf/pf45/sys/cam/scsi/scsi_da.c
  projects/pf/pf45/sys/cam/scsi/scsi_pass.c
  projects/pf/pf45/sys/cam/scsi/scsi_pt.c
  projects/pf/pf45/sys/cam/scsi/scsi_sa.c
  projects/pf/pf45/sys/cam/scsi/scsi_sg.c
  projects/pf/pf45/sys/cddl/compat/opensolaris/sys/sunddi.h
  projects/pf/pf45/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c
  projects/pf/pf45/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  projects/pf/pf45/sys/cddl/dev/dtrace/amd64/dtrace_subr.c
  projects/pf/pf45/sys/cddl/dev/dtrace/i386/dtrace_subr.c
  projects/pf/pf45/sys/cddl/dev/systrace/systrace.c
  projects/pf/pf45/sys/compat/freebsd32/freebsd32.h
  projects/pf/pf45/sys/compat/freebsd32/freebsd32_ioctl.c
  projects/pf/pf45/sys/compat/freebsd32/freebsd32_ioctl.h
  projects/pf/pf45/sys/compat/freebsd32/freebsd32_misc.c
  projects/pf/pf45/sys/compat/freebsd32/freebsd32_proto.h
  projects/pf/pf45/sys/compat/freebsd32/freebsd32_syscall.h
  projects/pf/pf45/sys/compat/freebsd32/freebsd32_syscalls.c
  projects/pf/pf45/sys/compat/freebsd32/freebsd32_sysent.c
  projects/pf/pf45/sys/compat/freebsd32/freebsd32_systrace_args.c
  projects/pf/pf45/sys/compat/freebsd32/syscalls.master
  projects/pf/pf45/sys/compat/ia32/ia32_genassym.c
  projects/pf/pf45/sys/compat/ia32/ia32_signal.h
  projects/pf/pf45/sys/compat/ia32/ia32_sysvec.c
  projects/pf/pf45/sys/compat/ia32/ia32_util.h
  projects/pf/pf45/sys/compat/linprocfs/linprocfs.c
  projects/pf/pf45/sys/compat/linux/linux_misc.c
  projects/pf/pf45/sys/compat/linux/linux_misc.h
  projects/pf/pf45/sys/compat/linux/linux_socket.c
  projects/pf/pf45/sys/compat/linux/linux_socket.h
  projects/pf/pf45/sys/compat/svr4/imgact_svr4.c
  projects/pf/pf45/sys/conf/NOTES
  projects/pf/pf45/sys/conf/files
  projects/pf/pf45/sys/conf/files.amd64
  projects/pf/pf45/sys/conf/files.arm
  projects/pf/pf45/sys/conf/files.i386
  projects/pf/pf45/sys/conf/files.ia64
  projects/pf/pf45/sys/conf/files.mips
  projects/pf/pf45/sys/conf/files.pc98
  projects/pf/pf45/sys/conf/files.powerpc
  projects/pf/pf45/sys/conf/files.sparc64
  projects/pf/pf45/sys/conf/files.sun4v
  projects/pf/pf45/sys/conf/kern.mk
  projects/pf/pf45/sys/conf/kern.pre.mk
  projects/pf/pf45/sys/conf/kmod.mk
  projects/pf/pf45/sys/conf/ldscript.amd64
  projects/pf/pf45/sys/conf/options
  projects/pf/pf45/sys/conf/options.mips
  projects/pf/pf45/sys/contrib/altq/altq/altq_subr.c
  projects/pf/pf45/sys/contrib/dev/acpica/acpica_prep.sh
  projects/pf/pf45/sys/contrib/dev/acpica/changes.txt
  projects/pf/pf45/sys/contrib/dev/acpica/common/dmtable.c
  projects/pf/pf45/sys/contrib/dev/acpica/common/dmtbdump.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/aslanalyze.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/aslcompiler.h
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/aslcompiler.y
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/asldefine.h
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/aslglobal.h
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/asllookup.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/aslmain.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/aslmap.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/aslmessages.h
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/aslpredef.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/asltypes.h
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/aslutils.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/aslwalks.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/dtcompile.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/dtcompiler.h
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/dtexpress.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/dtfield.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/dtio.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/dtsubtable.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/dttable.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/dttemplate.c
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/dttemplate.h
  projects/pf/pf45/sys/contrib/dev/acpica/compiler/dtutils.c
  projects/pf/pf45/sys/contrib/dev/acpica/debugger/dbdisply.c
  projects/pf/pf45/sys/contrib/dev/acpica/dispatcher/dswload.c
  projects/pf/pf45/sys/contrib/dev/acpica/dispatcher/dswload2.c
  projects/pf/pf45/sys/contrib/dev/acpica/events/evmisc.c
  projects/pf/pf45/sys/contrib/dev/acpica/events/evregion.c
  projects/pf/pf45/sys/contrib/dev/acpica/events/evrgnini.c
  projects/pf/pf45/sys/contrib/dev/acpica/events/evxfregn.c
  projects/pf/pf45/sys/contrib/dev/acpica/executer/excreate.c
  projects/pf/pf45/sys/contrib/dev/acpica/include/acconfig.h
  projects/pf/pf45/sys/contrib/dev/acpica/include/acevents.h
  projects/pf/pf45/sys/contrib/dev/acpica/include/acpixf.h
  projects/pf/pf45/sys/contrib/dev/acpica/include/actypes.h
  projects/pf/pf45/sys/contrib/dev/acpica/include/amlcode.h
  projects/pf/pf45/sys/contrib/dev/acpica/namespace/nsrepair.c
  projects/pf/pf45/sys/contrib/dev/acpica/utilities/utdecode.c
  projects/pf/pf45/sys/ddb/db_command.c
  projects/pf/pf45/sys/dev/acpica/acpi.c
  projects/pf/pf45/sys/dev/acpica/acpi_cpu.c
  projects/pf/pf45/sys/dev/acpica/acpi_thermal.c
  projects/pf/pf45/sys/dev/acpica/acpi_timer.c
  projects/pf/pf45/sys/dev/acpica/acpivar.h
  projects/pf/pf45/sys/dev/age/if_age.c
  projects/pf/pf45/sys/dev/ahci/ahci.c
  projects/pf/pf45/sys/dev/ahci/ahci.h
  projects/pf/pf45/sys/dev/aic7xxx/aicasm/Makefile
  projects/pf/pf45/sys/dev/arcmsr/arcmsr.c
  projects/pf/pf45/sys/dev/arcmsr/arcmsr.h
  projects/pf/pf45/sys/dev/ata/ata-all.c
  projects/pf/pf45/sys/dev/ata/ata-all.h
  projects/pf/pf45/sys/dev/ata/ata-lowlevel.c
  projects/pf/pf45/sys/dev/ata/ata-pci.h
  projects/pf/pf45/sys/dev/ata/chipsets/ata-intel.c
  projects/pf/pf45/sys/dev/ath/ah_osdep.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ah.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ah.h
  projects/pf/pf45/sys/dev/ath/ath_hal/ah_debug.h
  projects/pf/pf45/sys/dev/ath/ath_hal/ah_decode.h
  projects/pf/pf45/sys/dev/ath/ath_hal/ah_desc.h
  projects/pf/pf45/sys/dev/ath/ath_hal/ah_eeprom_v14.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ah_eeprom_v14.h
  projects/pf/pf45/sys/dev/ath/ath_hal/ah_eeprom_v4k.h
  projects/pf/pf45/sys/dev/ath/ath_hal/ah_internal.h
  projects/pf/pf45/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar2133.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar5416.h
  projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar5416/ar5416reg.h
  projects/pf/pf45/sys/dev/ath/ath_hal/ar9001/ar9160.ini
  projects/pf/pf45/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar9002/ar9002phy.h
  projects/pf/pf45/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar9002/ar9285.h
  projects/pf/pf45/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c
  projects/pf/pf45/sys/dev/ath/ath_hal/ar9002/ar9285_reset.c
  projects/pf/pf45/sys/dev/ath/ath_rate/sample/sample.c
  projects/pf/pf45/sys/dev/ath/if_ath.c
  projects/pf/pf45/sys/dev/ath/if_ath_pci.c
  projects/pf/pf45/sys/dev/ath/if_ath_sysctl.c
  projects/pf/pf45/sys/dev/ath/if_ath_tx.c
  projects/pf/pf45/sys/dev/ath/if_ath_tx_ht.c
  projects/pf/pf45/sys/dev/ath/if_athioctl.h
  projects/pf/pf45/sys/dev/ath/if_athvar.h
  projects/pf/pf45/sys/dev/bge/if_bge.c
  projects/pf/pf45/sys/dev/bge/if_bgereg.h
  projects/pf/pf45/sys/dev/bxe/bxe_debug.h
  projects/pf/pf45/sys/dev/bxe/bxe_include.h
  projects/pf/pf45/sys/dev/bxe/if_bxe.c
  projects/pf/pf45/sys/dev/bxe/if_bxe.h
  projects/pf/pf45/sys/dev/cas/if_cas.c
  projects/pf/pf45/sys/dev/cxgb/common/cxgb_common.h
  projects/pf/pf45/sys/dev/cxgb/common/cxgb_t3_hw.c
  projects/pf/pf45/sys/dev/cxgb/cxgb_adapter.h
  projects/pf/pf45/sys/dev/cxgb/cxgb_main.c
  projects/pf/pf45/sys/dev/cxgb/cxgb_sge.c
  projects/pf/pf45/sys/dev/cxgb/cxgb_t3fw.h
  projects/pf/pf45/sys/dev/cxgbe/adapter.h
  projects/pf/pf45/sys/dev/cxgbe/common/common.h
  projects/pf/pf45/sys/dev/cxgbe/common/t4_hw.c
  projects/pf/pf45/sys/dev/cxgbe/common/t4fw_interface.h
  projects/pf/pf45/sys/dev/cxgbe/osdep.h
  projects/pf/pf45/sys/dev/cxgbe/t4_ioctl.h
  projects/pf/pf45/sys/dev/cxgbe/t4_main.c
  projects/pf/pf45/sys/dev/cxgbe/t4_sge.c
  projects/pf/pf45/sys/dev/dc/if_dc.c
  projects/pf/pf45/sys/dev/drm/drm_sysctl.c
  projects/pf/pf45/sys/dev/e1000/if_em.c
  projects/pf/pf45/sys/dev/e1000/if_em.h
  projects/pf/pf45/sys/dev/e1000/if_igb.c
  projects/pf/pf45/sys/dev/e1000/if_igb.h
  projects/pf/pf45/sys/dev/esp/ncr53c9x.c
  projects/pf/pf45/sys/dev/fxp/if_fxp.c
  projects/pf/pf45/sys/dev/gem/if_gem.c
  projects/pf/pf45/sys/dev/hme/if_hme.c
  projects/pf/pf45/sys/dev/hme/if_hmereg.h
  projects/pf/pf45/sys/dev/ichwd/ichwd.h
  projects/pf/pf45/sys/dev/ipmi/ipmi.c
  projects/pf/pf45/sys/dev/iwn/if_iwn.c
  projects/pf/pf45/sys/dev/iwn/if_iwnreg.h
  projects/pf/pf45/sys/dev/iwn/if_iwnvar.h
  projects/pf/pf45/sys/dev/ksyms/ksyms.c
  projects/pf/pf45/sys/dev/led/led.c
  projects/pf/pf45/sys/dev/led/led.h
  projects/pf/pf45/sys/dev/mii/brgphyreg.h
  projects/pf/pf45/sys/dev/mii/ciphyreg.h
  projects/pf/pf45/sys/dev/mii/e1000phy.c
  projects/pf/pf45/sys/dev/mii/e1000phyreg.h
  projects/pf/pf45/sys/dev/mii/mii_physubr.c
  projects/pf/pf45/sys/dev/mii/miivar.h
  projects/pf/pf45/sys/dev/mii/rgephyreg.h
  projects/pf/pf45/sys/dev/mii/xmphyreg.h
  projects/pf/pf45/sys/dev/mpt/mpt.c
  projects/pf/pf45/sys/dev/mpt/mpt.h
  projects/pf/pf45/sys/dev/mpt/mpt_cam.c
  projects/pf/pf45/sys/dev/mpt/mpt_debug.c
  projects/pf/pf45/sys/dev/mpt/mpt_pci.c
  projects/pf/pf45/sys/dev/mvs/mvs.c
  projects/pf/pf45/sys/dev/mvs/mvs.h
  projects/pf/pf45/sys/dev/mvs/mvs_soc.c
  projects/pf/pf45/sys/dev/mxge/if_mxge.c
  projects/pf/pf45/sys/dev/mxge/mxge_lro.c
  projects/pf/pf45/sys/dev/pci/pci.c
  projects/pf/pf45/sys/dev/pci/pci_user.c
  projects/pf/pf45/sys/dev/pci/pcireg.h
  projects/pf/pf45/sys/dev/pci/pcivar.h
  projects/pf/pf45/sys/dev/ral/rt2560.c
  projects/pf/pf45/sys/dev/ral/rt2661.c
  projects/pf/pf45/sys/dev/siis/siis.c
  projects/pf/pf45/sys/dev/siis/siis.h
  projects/pf/pf45/sys/dev/sound/usb/uaudio.c
  projects/pf/pf45/sys/dev/streams/streams.c
  projects/pf/pf45/sys/dev/sym/README.sym
  projects/pf/pf45/sys/dev/sym/sym_fw1.h
  projects/pf/pf45/sys/dev/sym/sym_fw2.h
  projects/pf/pf45/sys/dev/sym/sym_hipd.c
  projects/pf/pf45/sys/dev/usb/controller/ehci.c
  projects/pf/pf45/sys/dev/usb/controller/ehci_ixp4xx.c
  projects/pf/pf45/sys/dev/usb/controller/ehci_mv.c
  projects/pf/pf45/sys/dev/usb/controller/ehci_pci.c
  projects/pf/pf45/sys/dev/usb/storage/umass.c
  projects/pf/pf45/sys/dev/usb/usb_generic.c
  projects/pf/pf45/sys/dev/usb/usb_pf.c
  projects/pf/pf45/sys/dev/usb/usb_pf.h
  projects/pf/pf45/sys/dev/usb/usb_transfer.c
  projects/pf/pf45/sys/dev/usb/usbdi.h
  projects/pf/pf45/sys/dev/usb/wlan/if_run.c
  projects/pf/pf45/sys/dev/usb/wlan/if_zyd.c
  projects/pf/pf45/sys/fs/fdescfs/fdesc_vfsops.c
  projects/pf/pf45/sys/fs/fdescfs/fdesc_vnops.c
  projects/pf/pf45/sys/fs/msdosfs/msdosfs_lookup.c
  projects/pf/pf45/sys/fs/nfs/nfs.h
  projects/pf/pf45/sys/fs/nfs/nfs_commonacl.c
  projects/pf/pf45/sys/fs/nfs/nfs_commonkrpc.c
  projects/pf/pf45/sys/fs/nfs/nfs_commonport.c
  projects/pf/pf45/sys/fs/nfs/nfs_commonsubs.c
  projects/pf/pf45/sys/fs/nfs/nfs_var.h
  projects/pf/pf45/sys/fs/nfs/nfsport.h
  projects/pf/pf45/sys/fs/nfsclient/nfs.h
  projects/pf/pf45/sys/fs/nfsclient/nfs_clbio.c
  projects/pf/pf45/sys/fs/nfsclient/nfs_clcomsubs.c
  projects/pf/pf45/sys/fs/nfsclient/nfs_clnfsiod.c
  projects/pf/pf45/sys/fs/nfsclient/nfs_clnode.c
  projects/pf/pf45/sys/fs/nfsclient/nfs_clport.c
  projects/pf/pf45/sys/fs/nfsclient/nfs_clrpcops.c
  projects/pf/pf45/sys/fs/nfsclient/nfs_clstate.c
  projects/pf/pf45/sys/fs/nfsclient/nfs_clsubs.c
  projects/pf/pf45/sys/fs/nfsclient/nfs_clvfsops.c
  projects/pf/pf45/sys/fs/nfsclient/nfs_clvnops.c
  projects/pf/pf45/sys/fs/nfsclient/nfsnode.h
  projects/pf/pf45/sys/fs/nfsserver/nfs_nfsdport.c
  projects/pf/pf45/sys/fs/nfsserver/nfs_nfsdserv.c
  projects/pf/pf45/sys/fs/nfsserver/nfs_nfsdstate.c
  projects/pf/pf45/sys/geom/eli/g_eli.c
  projects/pf/pf45/sys/geom/eli/g_eli.h
  projects/pf/pf45/sys/geom/eli/g_eli_ctl.c
  projects/pf/pf45/sys/geom/eli/g_eli_integrity.c
  projects/pf/pf45/sys/geom/eli/g_eli_key.c
  projects/pf/pf45/sys/geom/eli/g_eli_privacy.c
  projects/pf/pf45/sys/geom/gate/g_gate.c
  projects/pf/pf45/sys/geom/gate/g_gate.h
  projects/pf/pf45/sys/geom/geom.h
  projects/pf/pf45/sys/geom/geom_dev.c
  projects/pf/pf45/sys/geom/geom_disk.c
  projects/pf/pf45/sys/geom/nop/g_nop.c
  projects/pf/pf45/sys/geom/part/g_part_apm.c
  projects/pf/pf45/sys/i386/bios/apm.c
  projects/pf/pf45/sys/i386/conf/GENERIC
  projects/pf/pf45/sys/i386/conf/PAE
  projects/pf/pf45/sys/i386/conf/XBOX
  projects/pf/pf45/sys/i386/i386/identcpu.c
  projects/pf/pf45/sys/i386/i386/initcpu.c
  projects/pf/pf45/sys/i386/i386/legacy.c
  projects/pf/pf45/sys/i386/i386/machdep.c
  projects/pf/pf45/sys/i386/i386/perfmon.c
  projects/pf/pf45/sys/i386/i386/pmap.c
  projects/pf/pf45/sys/i386/i386/trap.c
  projects/pf/pf45/sys/i386/include/atomic.h
  projects/pf/pf45/sys/i386/include/clock.h
  projects/pf/pf45/sys/i386/include/cpu.h
  projects/pf/pf45/sys/i386/include/cpufunc.h
  projects/pf/pf45/sys/i386/include/pmap.h
  projects/pf/pf45/sys/i386/include/specialreg.h
  projects/pf/pf45/sys/i386/isa/prof_machdep.c
  projects/pf/pf45/sys/i386/linux/imgact_linux.c
  projects/pf/pf45/sys/i386/linux/linux_dummy.c
  projects/pf/pf45/sys/i386/linux/linux_proto.h
  projects/pf/pf45/sys/i386/linux/linux_syscall.h
  projects/pf/pf45/sys/i386/linux/linux_syscalls.c
  projects/pf/pf45/sys/i386/linux/linux_sysent.c
  projects/pf/pf45/sys/i386/linux/linux_systrace_args.c
  projects/pf/pf45/sys/i386/linux/linux_sysvec.c
  projects/pf/pf45/sys/i386/linux/syscalls.master
  projects/pf/pf45/sys/ia64/conf/GENERIC
  projects/pf/pf45/sys/ia64/ia32/ia32_misc.c
  projects/pf/pf45/sys/ia64/ia32/ia32_signal.c
  projects/pf/pf45/sys/ia64/include/bootinfo.h
  projects/pf/pf45/sys/ia64/include/pmap.h
  projects/pf/pf45/sys/isa/pnp.c
  projects/pf/pf45/sys/kern/imgact_aout.c
  projects/pf/pf45/sys/kern/imgact_elf.c
  projects/pf/pf45/sys/kern/imgact_gzip.c
  projects/pf/pf45/sys/kern/init_main.c
  projects/pf/pf45/sys/kern/init_sysent.c
  projects/pf/pf45/sys/kern/kern_clock.c
  projects/pf/pf45/sys/kern/kern_descrip.c
  projects/pf/pf45/sys/kern/kern_event.c
  projects/pf/pf45/sys/kern/kern_exit.c
  projects/pf/pf45/sys/kern/kern_fork.c
  projects/pf/pf45/sys/kern/kern_hhook.c
  projects/pf/pf45/sys/kern/kern_jail.c
  projects/pf/pf45/sys/kern/kern_khelp.c
  projects/pf/pf45/sys/kern/kern_ktrace.c
  projects/pf/pf45/sys/kern/kern_linker.c
  projects/pf/pf45/sys/kern/kern_loginclass.c
  projects/pf/pf45/sys/kern/kern_proc.c
  projects/pf/pf45/sys/kern/kern_prot.c
  projects/pf/pf45/sys/kern/kern_resource.c
  projects/pf/pf45/sys/kern/kern_sig.c
  projects/pf/pf45/sys/kern/kern_thr.c
  projects/pf/pf45/sys/kern/kern_thread.c
  projects/pf/pf45/sys/kern/kern_timeout.c
  projects/pf/pf45/sys/kern/link_elf.c
  projects/pf/pf45/sys/kern/link_elf_obj.c
  projects/pf/pf45/sys/kern/sched_4bsd.c
  projects/pf/pf45/sys/kern/sched_ule.c
  projects/pf/pf45/sys/kern/subr_rman.c
  projects/pf/pf45/sys/kern/subr_uio.c
  projects/pf/pf45/sys/kern/sys_pipe.c
  projects/pf/pf45/sys/kern/syscalls.c
  projects/pf/pf45/sys/kern/syscalls.master
  projects/pf/pf45/sys/kern/systrace_args.c
  projects/pf/pf45/sys/kern/sysv_msg.c
  projects/pf/pf45/sys/kern/sysv_sem.c
  projects/pf/pf45/sys/kern/sysv_shm.c
  projects/pf/pf45/sys/kern/tty_pts.c
  projects/pf/pf45/sys/kern/uipc_mqueue.c
  projects/pf/pf45/sys/kern/uipc_sem.c
  projects/pf/pf45/sys/kern/uipc_shm.c
  projects/pf/pf45/sys/kern/uipc_sockbuf.c
  projects/pf/pf45/sys/kern/uipc_syscalls.c
  projects/pf/pf45/sys/kern/vfs_default.c
  projects/pf/pf45/sys/kern/vfs_mount.c
  projects/pf/pf45/sys/kern/vfs_subr.c
  projects/pf/pf45/sys/kern/vfs_syscalls.c
  projects/pf/pf45/sys/kern/vnode_if.src
  projects/pf/pf45/sys/mips/atheros/ar71xx_ehci.c
  projects/pf/pf45/sys/mips/atheros/ar71xx_machdep.c
  projects/pf/pf45/sys/mips/atheros/ar724x_chip.c
  projects/pf/pf45/sys/mips/atheros/ar724xreg.h
  projects/pf/pf45/sys/mips/atheros/if_arge.c
  projects/pf/pf45/sys/mips/atheros/if_argevar.h
  projects/pf/pf45/sys/mips/conf/AR71XX
  projects/pf/pf45/sys/mips/conf/IDT
  projects/pf/pf45/sys/mips/conf/MALTA
  projects/pf/pf45/sys/mips/conf/MALTA64
  projects/pf/pf45/sys/mips/conf/OCTEON1
  projects/pf/pf45/sys/mips/conf/SENTRY5
  projects/pf/pf45/sys/mips/conf/std.SWARM
  projects/pf/pf45/sys/mips/malta/std.malta
  projects/pf/pf45/sys/mips/rmi/xls_ehci.c
  projects/pf/pf45/sys/modules/Makefile
  projects/pf/pf45/sys/modules/acpi/acpi/Makefile
  projects/pf/pf45/sys/modules/arcnet/Makefile
  projects/pf/pf45/sys/modules/ath/Makefile
  projects/pf/pf45/sys/modules/bxe/Makefile
  projects/pf/pf45/sys/modules/cam/Makefile
  projects/pf/pf45/sys/modules/dtrace/dtraceall/Makefile
  projects/pf/pf45/sys/modules/dtrace/systrace_linux32/Makefile
  projects/pf/pf45/sys/modules/firewire/fwip/Makefile
  projects/pf/pf45/sys/modules/geom/Makefile
  projects/pf/pf45/sys/modules/geom/geom_eli/Makefile
  projects/pf/pf45/sys/modules/ipfw/Makefile
  projects/pf/pf45/sys/modules/iwnfw/Makefile
  projects/pf/pf45/sys/modules/iwnfw/iwn1000/Makefile
  projects/pf/pf45/sys/modules/iwnfw/iwn5000/Makefile
  projects/pf/pf45/sys/modules/iwnfw/iwn6050/Makefile
  projects/pf/pf45/sys/modules/netgraph/atm/ccatm/Makefile
  projects/pf/pf45/sys/net/if.c
  projects/pf/pf45/sys/net80211/_ieee80211.h
  projects/pf/pf45/sys/net80211/ieee80211_input.c
  projects/pf/pf45/sys/net80211/ieee80211_node.c
  projects/pf/pf45/sys/net80211/ieee80211_node.h
  projects/pf/pf45/sys/net80211/ieee80211_proto.c
  projects/pf/pf45/sys/net80211/ieee80211_proto.h
  projects/pf/pf45/sys/netgraph/atm/ccatm/ng_ccatm.c
  projects/pf/pf45/sys/netgraph/atm/sscfu/ng_sscfu.c
  projects/pf/pf45/sys/netgraph/atm/sscop/ng_sscop.c
  projects/pf/pf45/sys/netgraph/atm/uni/ng_uni.c
  projects/pf/pf45/sys/netgraph/bluetooth/hci/ng_hci_main.c
  projects/pf/pf45/sys/netgraph/bluetooth/l2cap/ng_l2cap_main.c
  projects/pf/pf45/sys/netgraph/netflow/netflow.c
  projects/pf/pf45/sys/netgraph/netflow/ng_netflow.c
  projects/pf/pf45/sys/netgraph/netflow/ng_netflow.h
  projects/pf/pf45/sys/netgraph/ng_UI.c
  projects/pf/pf45/sys/netgraph/ng_async.c
  projects/pf/pf45/sys/netgraph/ng_atmllc.c
  projects/pf/pf45/sys/netgraph/ng_base.c
  projects/pf/pf45/sys/netgraph/ng_bridge.c
  projects/pf/pf45/sys/netgraph/ng_car.c
  projects/pf/pf45/sys/netgraph/ng_cisco.c
  projects/pf/pf45/sys/netgraph/ng_device.c
  projects/pf/pf45/sys/netgraph/ng_eiface.c
  projects/pf/pf45/sys/netgraph/ng_etf.c
  projects/pf/pf45/sys/netgraph/ng_fec.c
  projects/pf/pf45/sys/netgraph/ng_frame_relay.c
  projects/pf/pf45/sys/netgraph/ng_gif_demux.c
  projects/pf/pf45/sys/netgraph/ng_hub.c
  projects/pf/pf45/sys/netgraph/ng_iface.c
  projects/pf/pf45/sys/netgraph/ng_ksocket.c
  projects/pf/pf45/sys/netgraph/ng_l2tp.c
  projects/pf/pf45/sys/netgraph/ng_lmi.c
  projects/pf/pf45/sys/netgraph/ng_mppc.c
  projects/pf/pf45/sys/netgraph/ng_nat.c
  projects/pf/pf45/sys/netgraph/ng_one2many.c
  projects/pf/pf45/sys/netgraph/ng_patch.c
  projects/pf/pf45/sys/netgraph/ng_pipe.c
  projects/pf/pf45/sys/netgraph/ng_ppp.c
  projects/pf/pf45/sys/netgraph/ng_pppoe.c
  projects/pf/pf45/sys/netgraph/ng_pptpgre.c
  projects/pf/pf45/sys/netgraph/ng_rfc1490.c
  projects/pf/pf45/sys/netgraph/ng_sample.c
  projects/pf/pf45/sys/netgraph/ng_source.c
  projects/pf/pf45/sys/netgraph/ng_split.c
  projects/pf/pf45/sys/netgraph/ng_sppp.c
  projects/pf/pf45/sys/netgraph/ng_tee.c
  projects/pf/pf45/sys/netgraph/ng_tty.c
  projects/pf/pf45/sys/netgraph/ng_vjc.c
  projects/pf/pf45/sys/netgraph/ng_vlan.c
  projects/pf/pf45/sys/netinet/cc.h
  projects/pf/pf45/sys/netinet/cc/cc.c
  projects/pf/pf45/sys/netinet/cc/cc_chd.c
  projects/pf/pf45/sys/netinet/cc/cc_cubic.c
  projects/pf/pf45/sys/netinet/cc/cc_cubic.h
  projects/pf/pf45/sys/netinet/cc/cc_hd.c
  projects/pf/pf45/sys/netinet/cc/cc_htcp.c
  projects/pf/pf45/sys/netinet/cc/cc_module.h
  projects/pf/pf45/sys/netinet/cc/cc_newreno.c
  projects/pf/pf45/sys/netinet/cc/cc_vegas.c
  projects/pf/pf45/sys/netinet/in_pcb.c
  projects/pf/pf45/sys/netinet/in_pcb.h
  projects/pf/pf45/sys/netinet/in_proto.c
  projects/pf/pf45/sys/netinet/ip_fw.h
  projects/pf/pf45/sys/netinet/ip_input.c
  projects/pf/pf45/sys/netinet/ip_output.c
  projects/pf/pf45/sys/netinet/ip_var.h
  projects/pf/pf45/sys/netinet/ipfw/ip_dn_glue.c
  projects/pf/pf45/sys/netinet/ipfw/ip_dn_io.c
  projects/pf/pf45/sys/netinet/ipfw/ip_dummynet.c
  projects/pf/pf45/sys/netinet/ipfw/ip_fw2.c
  projects/pf/pf45/sys/netinet/ipfw/ip_fw_nat.c
  projects/pf/pf45/sys/netinet/ipfw/ip_fw_private.h
  projects/pf/pf45/sys/netinet/khelp/h_ertt.c
  projects/pf/pf45/sys/netinet/khelp/h_ertt.h
  projects/pf/pf45/sys/netinet/libalias/alias_db.c
  projects/pf/pf45/sys/netinet/raw_ip.c
  projects/pf/pf45/sys/netinet/siftr.c
  projects/pf/pf45/sys/netinet/tcp_input.c
  projects/pf/pf45/sys/netinet/tcp_lro.c
  projects/pf/pf45/sys/netinet/tcp_output.c
  projects/pf/pf45/sys/netinet/tcp_sack.c
  projects/pf/pf45/sys/netinet/udp_usrreq.c
  projects/pf/pf45/sys/netinet6/in6_proto.c
  projects/pf/pf45/sys/netinet6/nd6_nbr.c
  projects/pf/pf45/sys/netinet6/udp6_usrreq.c
  projects/pf/pf45/sys/netipsec/ipsec.h
  projects/pf/pf45/sys/netipsec/ipsec_output.c
  projects/pf/pf45/sys/netipsec/key.c
  projects/pf/pf45/sys/netipsec/key.h
  projects/pf/pf45/sys/netipsec/xform.h
  projects/pf/pf45/sys/netipsec/xform_ah.c
  projects/pf/pf45/sys/netipsec/xform_esp.c
  projects/pf/pf45/sys/netipsec/xform_ipcomp.c
  projects/pf/pf45/sys/nfsclient/nfs_subs.c
  projects/pf/pf45/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c
  projects/pf/pf45/sys/ofed/drivers/net/mlx4/en_ethtool.c
  projects/pf/pf45/sys/ofed/drivers/net/mlx4/en_netdev.c
  projects/pf/pf45/sys/ofed/drivers/net/mlx4/fw.c
  projects/pf/pf45/sys/ofed/drivers/net/mlx4/fw.h
  projects/pf/pf45/sys/ofed/drivers/net/mlx4/main.c
  projects/pf/pf45/sys/ofed/drivers/net/mlx4/mlx4_en.h
  projects/pf/pf45/sys/ofed/include/linux/mlx4/device.h
  projects/pf/pf45/sys/opencrypto/cryptodev.c
  projects/pf/pf45/sys/pc98/conf/GENERIC
  projects/pf/pf45/sys/pc98/pc98/machdep.c
  projects/pf/pf45/sys/powerpc/aim/machdep.c
  projects/pf/pf45/sys/powerpc/aim/mmu_oea.c
  projects/pf/pf45/sys/powerpc/aim/mmu_oea64.c
  projects/pf/pf45/sys/powerpc/conf/GENERIC
  projects/pf/pf45/sys/powerpc/conf/GENERIC64
  projects/pf/pf45/sys/powerpc/conf/MPC85XX
  projects/pf/pf45/sys/powerpc/powerpc/exec_machdep.c
  projects/pf/pf45/sys/powerpc/powerpc/mp_machdep.c
  projects/pf/pf45/sys/rpc/clnt_dg.c
  projects/pf/pf45/sys/rpc/clnt_vc.c
  projects/pf/pf45/sys/sparc64/conf/GENERIC
  projects/pf/pf45/sys/sparc64/include/cpufunc.h
  projects/pf/pf45/sys/sparc64/pci/ofw_pci.h
  projects/pf/pf45/sys/sparc64/pci/ofw_pci_if.m
  projects/pf/pf45/sys/sparc64/pci/ofw_pcibus.c
  projects/pf/pf45/sys/sparc64/pci/psycho.c
  projects/pf/pf45/sys/sparc64/pci/psychovar.h
  projects/pf/pf45/sys/sparc64/pci/schizo.c
  projects/pf/pf45/sys/sparc64/pci/schizoreg.h
  projects/pf/pf45/sys/sparc64/pci/schizovar.h
  projects/pf/pf45/sys/sparc64/sbus/lsi64854.c
  projects/pf/pf45/sys/sparc64/sbus/ofw_sbus.h
  projects/pf/pf45/sys/sparc64/sparc64/exception.S
  projects/pf/pf45/sys/sparc64/sparc64/iommu.c
  projects/pf/pf45/sys/sparc64/sparc64/machdep.c
  projects/pf/pf45/sys/sparc64/sparc64/pmap.c
  projects/pf/pf45/sys/sun4v/conf/GENERIC
  projects/pf/pf45/sys/sun4v/include/cddl/mdesc_impl.h
  projects/pf/pf45/sys/sun4v/include/cpufunc.h
  projects/pf/pf45/sys/sun4v/sun4v/tte_hash.c
  projects/pf/pf45/sys/sys/acl.h
  projects/pf/pf45/sys/sys/ata.h
  projects/pf/pf45/sys/sys/errno.h
  projects/pf/pf45/sys/sys/eventhandler.h
  projects/pf/pf45/sys/sys/fcntl.h
  projects/pf/pf45/sys/sys/filedesc.h
  projects/pf/pf45/sys/sys/hhook.h
  projects/pf/pf45/sys/sys/jail.h
  projects/pf/pf45/sys/sys/kernel.h
  projects/pf/pf45/sys/sys/khelp.h
  projects/pf/pf45/sys/sys/loginclass.h
  projects/pf/pf45/sys/sys/module_khelp.h
  projects/pf/pf45/sys/sys/msg.h
  projects/pf/pf45/sys/sys/param.h
  projects/pf/pf45/sys/sys/priv.h
  projects/pf/pf45/sys/sys/proc.h
  projects/pf/pf45/sys/sys/resourcevar.h
  projects/pf/pf45/sys/sys/sem.h
  projects/pf/pf45/sys/sys/shm.h
  projects/pf/pf45/sys/sys/socket.h
  projects/pf/pf45/sys/sys/syscall.h
  projects/pf/pf45/sys/sys/syscall.mk
  projects/pf/pf45/sys/sys/syscallsubr.h
  projects/pf/pf45/sys/sys/sysproto.h
  projects/pf/pf45/sys/sys/systm.h
  projects/pf/pf45/sys/sys/uio.h
  projects/pf/pf45/sys/sys/vnode.h
  projects/pf/pf45/sys/tools/fw_stub.awk
  projects/pf/pf45/sys/ufs/ffs/ffs_alloc.c
  projects/pf/pf45/sys/ufs/ffs/ffs_extern.h
  projects/pf/pf45/sys/ufs/ffs/ffs_softdep.c
  projects/pf/pf45/sys/ufs/ffs/softdep.h
  projects/pf/pf45/sys/ufs/ufs/ufs_extern.h
  projects/pf/pf45/sys/ufs/ufs/ufs_inode.c
  projects/pf/pf45/sys/vm/swap_pager.c
  projects/pf/pf45/sys/vm/vm_fault.c
  projects/pf/pf45/sys/vm/vm_glue.c
  projects/pf/pf45/sys/vm/vm_map.c
  projects/pf/pf45/sys/vm/vm_meter.c
  projects/pf/pf45/sys/vm/vm_mmap.c
  projects/pf/pf45/sys/vm/vm_object.c
  projects/pf/pf45/sys/vm/vm_pageout.c
  projects/pf/pf45/sys/vm/vm_unix.c
  projects/pf/pf45/sys/x86/cpufreq/est.c
  projects/pf/pf45/sys/x86/isa/clock.c
  projects/pf/pf45/sys/x86/x86/tsc.c
  projects/pf/pf45/tools/build/mk/OptionalObsoleteFiles.inc
  projects/pf/pf45/tools/build/options/WITHOUT_CXX
  projects/pf/pf45/tools/regression/lib/libc/string/test-strerror.c
  projects/pf/pf45/tools/regression/usr.sbin/newsyslog/regress.sh
  projects/pf/pf45/tools/tools/ath/Makefile
  projects/pf/pf45/tools/tools/ath/athdecode/Makefile
  projects/pf/pf45/tools/tools/ath/athkey/Makefile
  projects/pf/pf45/tools/tools/ath/athpoke/Makefile
  projects/pf/pf45/tools/tools/ath/athprom/Makefile
  projects/pf/pf45/tools/tools/ath/athregs/Makefile
  projects/pf/pf45/tools/tools/nanobsd/nanobsd.sh
  projects/pf/pf45/usr.bin/Makefile
  projects/pf/pf45/usr.bin/calendar/calendars/calendar.freebsd
  projects/pf/pf45/usr.bin/compress/doc/revision.log
  projects/pf/pf45/usr.bin/finger/finger.c
  projects/pf/pf45/usr.bin/grep/Makefile
  projects/pf/pf45/usr.bin/grep/fastgrep.c
  projects/pf/pf45/usr.bin/grep/file.c
  projects/pf/pf45/usr.bin/grep/grep.1
  projects/pf/pf45/usr.bin/grep/grep.c
  projects/pf/pf45/usr.bin/grep/grep.h
  projects/pf/pf45/usr.bin/grep/queue.c
  projects/pf/pf45/usr.bin/grep/util.c
  projects/pf/pf45/usr.bin/kdump/kdump.c
  projects/pf/pf45/usr.bin/limits/limits.1
  projects/pf/pf45/usr.bin/logger/logger.1
  projects/pf/pf45/usr.bin/logger/logger.c
  projects/pf/pf45/usr.bin/man/man.sh
  projects/pf/pf45/usr.bin/netstat/inet.c
  projects/pf/pf45/usr.bin/nfsstat/nfsstat.c
  projects/pf/pf45/usr.bin/su/su.c
  projects/pf/pf45/usr.bin/xargs/xargs.1
  projects/pf/pf45/usr.sbin/Makefile
  projects/pf/pf45/usr.sbin/acpi/acpidb/Makefile
  projects/pf/pf45/usr.sbin/acpi/iasl/Makefile
  projects/pf/pf45/usr.sbin/bluetooth/l2control/l2control.8
  projects/pf/pf45/usr.sbin/bluetooth/l2control/l2control.c
  projects/pf/pf45/usr.sbin/bluetooth/l2ping/l2ping.8
  projects/pf/pf45/usr.sbin/bluetooth/l2ping/l2ping.c
  projects/pf/pf45/usr.sbin/bsdinstall/bsdinstall
  projects/pf/pf45/usr.sbin/bsdinstall/scripts/Makefile
  projects/pf/pf45/usr.sbin/bsdinstall/scripts/auto
  projects/pf/pf45/usr.sbin/bsdinstall/scripts/jail
  projects/pf/pf45/usr.sbin/bsdinstall/scripts/keymap
  projects/pf/pf45/usr.sbin/bsdinstall/scripts/wlanconfig
  projects/pf/pf45/usr.sbin/lpr/common_source/ctlinfo.c
  projects/pf/pf45/usr.sbin/lpr/common_source/ctlinfo.h
  projects/pf/pf45/usr.sbin/lpr/common_source/matchjobs.c
  projects/pf/pf45/usr.sbin/makefs/cd9660/cd9660_strings.c
  projects/pf/pf45/usr.sbin/mfiutil/mfi_volume.c
  projects/pf/pf45/usr.sbin/mfiutil/mfiutil.8
  projects/pf/pf45/usr.sbin/mountd/mountd.8
  projects/pf/pf45/usr.sbin/mountd/mountd.c
  projects/pf/pf45/usr.sbin/newsyslog/newsyslog.c
  projects/pf/pf45/usr.sbin/newsyslog/newsyslog.conf.5
  projects/pf/pf45/usr.sbin/nfsd/nfsd.8
  projects/pf/pf45/usr.sbin/nfsd/nfsd.c
  projects/pf/pf45/usr.sbin/nfsd/nfsv4.4
  projects/pf/pf45/usr.sbin/nfsd/stablerestart.5
  projects/pf/pf45/usr.sbin/ntp/ntpdc/Makefile
  projects/pf/pf45/usr.sbin/ntp/ntpq/Makefile
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend-partmanager/create-part.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend-partmanager/delete-part.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend-query/update-part-list.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-bsdlabel.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-disk.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-extractimage.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-ftp.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-installcomponents.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-installpackages.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-localize.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-mountdisk.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-mountoptical.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-networking.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-newfs.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-packages.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-parse.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-runcommands.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-unmount.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-upgrade.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions-users.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/functions.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/parseconfig.sh
  projects/pf/pf45/usr.sbin/pc-sysinstall/backend/startautoinstall.sh
  projects/pf/pf45/usr.sbin/pkg_install/tkpkg
  projects/pf/pf45/usr.sbin/rwhod/rwhod.c
  projects/pf/pf45/usr.sbin/tcpdrop/tcpdrop.8
  projects/pf/pf45/usr.sbin/timed/timedc/timedc.c
  projects/pf/pf45/usr.sbin/tzsetup/tzsetup.c
  projects/pf/pf45/usr.sbin/usbdump/Makefile
  projects/pf/pf45/usr.sbin/usbdump/usbdump.c
  projects/pf/pf45/usr.sbin/wpa/wpa_cli/Makefile
Directory Properties:
  projects/pf/pf45/   (props changed)
  projects/pf/pf45/cddl/contrib/opensolaris/   (props changed)
  projects/pf/pf45/contrib/bind9/   (props changed)
  projects/pf/pf45/contrib/binutils/   (props changed)
  projects/pf/pf45/contrib/bzip2/   (props changed)
  projects/pf/pf45/contrib/dialog/   (props changed)
  projects/pf/pf45/contrib/ee/   (props changed)
  projects/pf/pf45/contrib/expat/   (props changed)
  projects/pf/pf45/contrib/file/   (props changed)
  projects/pf/pf45/contrib/gcc/   (props changed)
  projects/pf/pf45/contrib/gdb/   (props changed)
  projects/pf/pf45/contrib/gdtoa/   (props changed)
  projects/pf/pf45/contrib/gnu-sort/   (props changed)
  projects/pf/pf45/contrib/groff/   (props changed)
  projects/pf/pf45/contrib/less/   (props changed)
  projects/pf/pf45/contrib/libpcap/   (props changed)
  projects/pf/pf45/contrib/libstdc++/   (props changed)
  projects/pf/pf45/contrib/llvm/   (props changed)
  projects/pf/pf45/contrib/llvm/tools/clang/   (props changed)
  projects/pf/pf45/contrib/ncurses/   (props changed)
  projects/pf/pf45/contrib/netcat/   (props changed)
  projects/pf/pf45/contrib/ntp/   (props changed)
  projects/pf/pf45/contrib/one-true-awk/   (props changed)
  projects/pf/pf45/contrib/openbsm/   (props changed)
  projects/pf/pf45/contrib/openpam/   (props changed)
  projects/pf/pf45/contrib/pf/   (props changed)
  projects/pf/pf45/contrib/sendmail/   (props changed)
  projects/pf/pf45/contrib/tcpdump/   (props changed)
  projects/pf/pf45/contrib/tcsh/   (props changed)
  projects/pf/pf45/contrib/top/   (props changed)
  projects/pf/pf45/contrib/top/install-sh   (props changed)
  projects/pf/pf45/contrib/tzcode/stdtime/   (props changed)
  projects/pf/pf45/contrib/tzcode/zic/   (props changed)
  projects/pf/pf45/contrib/tzdata/   (props changed)
  projects/pf/pf45/contrib/wpa/   (props changed)
  projects/pf/pf45/contrib/xz/   (props changed)
  projects/pf/pf45/crypto/openssh/   (props changed)
  projects/pf/pf45/crypto/openssl/   (props changed)
  projects/pf/pf45/etc/periodic/daily/404.status-zfs   (props changed)
  projects/pf/pf45/etc/periodic/daily/405.status-ata-raid   (props changed)
  projects/pf/pf45/etc/periodic/daily/406.status-gmirror   (props changed)
  projects/pf/pf45/etc/periodic/daily/407.status-graid3   (props changed)
  projects/pf/pf45/etc/periodic/daily/408.status-gstripe   (props changed)
  projects/pf/pf45/etc/periodic/daily/409.status-gconcat   (props changed)
  projects/pf/pf45/etc/periodic/daily/480.status-ntpd   (props changed)
  projects/pf/pf45/etc/periodic/security/410.logincheck   (props changed)
  projects/pf/pf45/etc/periodic/security/460.chkportsum   (props changed)
  projects/pf/pf45/etc/periodic/security/510.ipfdenied   (props changed)
  projects/pf/pf45/etc/periodic/security/520.pfdenied   (props changed)
  projects/pf/pf45/etc/periodic/security/610.ipf6denied   (props changed)
  projects/pf/pf45/etc/periodic/weekly/340.noid   (props changed)
  projects/pf/pf45/gnu/lib/   (props changed)
  projects/pf/pf45/gnu/usr.bin/binutils/   (props changed)
  projects/pf/pf45/gnu/usr.bin/cc/cc_tools/   (props changed)
  projects/pf/pf45/gnu/usr.bin/gdb/   (props changed)
  projects/pf/pf45/lib/libc/   (props changed)
  projects/pf/pf45/lib/libc/stdtime/   (props changed)
  projects/pf/pf45/lib/libutil/   (props changed)
  projects/pf/pf45/lib/libz/   (props changed)
  projects/pf/pf45/sbin/   (props changed)
  projects/pf/pf45/sbin/ipfw/   (props changed)
  projects/pf/pf45/share/mk/bsd.arch.inc.mk   (props changed)
  projects/pf/pf45/share/zoneinfo/   (props changed)
  projects/pf/pf45/sys/   (props changed)
  projects/pf/pf45/sys/amd64/include/xen/   (props changed)
  projects/pf/pf45/sys/boot/   (props changed)
  projects/pf/pf45/sys/boot/i386/efi/   (props changed)
  projects/pf/pf45/sys/boot/ia64/efi/   (props changed)
  projects/pf/pf45/sys/boot/ia64/ski/   (props changed)
  projects/pf/pf45/sys/boot/powerpc/boot1.chrp/   (props changed)
  projects/pf/pf45/sys/boot/powerpc/ofw/   (props changed)
  projects/pf/pf45/sys/cddl/contrib/opensolaris/   (props changed)
  projects/pf/pf45/sys/conf/   (props changed)
  projects/pf/pf45/sys/contrib/dev/acpica/   (props changed)
  projects/pf/pf45/sys/contrib/octeon-sdk/   (props changed)
  projects/pf/pf45/sys/contrib/pf/   (props changed)
  projects/pf/pf45/sys/contrib/x86emu/   (props changed)
  projects/pf/pf45/usr.bin/calendar/   (props changed)
  projects/pf/pf45/usr.bin/csup/   (props changed)
  projects/pf/pf45/usr.bin/procstat/   (props changed)
  projects/pf/pf45/usr.sbin/ndiscvt/   (props changed)
  projects/pf/pf45/usr.sbin/zic/   (props changed)

Modified: projects/pf/pf45/Makefile
==============================================================================
--- projects/pf/pf45/Makefile	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/Makefile	Sun Apr 24 22:28:26 2011	(r221001)
@@ -65,7 +65,7 @@
 #  6.  `mergemaster -p'
 #  7.  `make installworld'
 #  8.  `make delete-old'
-#  9.  `mergemaster'                         (you may wish to use -U or -ai).
+#  9.  `mergemaster'		(you may wish to use -i, along with -U or -F).
 # 10.  `reboot'
 # 11.  `make delete-old-libs' (in case no 3rd party program uses them anymore)
 #
@@ -214,7 +214,7 @@ ${TGTS}:
 .MAIN:	all
 
 STARTTIME!= LC_ALL=C date
-CHECK_TIME!= find ${.CURDIR}/sys/sys/param.h -mtime -0
+CHECK_TIME!= find ${.CURDIR}/sys/sys/param.h -mtime -0s
 .if !empty(CHECK_TIME)
 .error check your date/time: ${STARTTIME}
 .endif

Modified: projects/pf/pf45/Makefile.inc1
==============================================================================
--- projects/pf/pf45/Makefile.inc1	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/Makefile.inc1	Sun Apr 24 22:28:26 2011	(r221001)
@@ -306,7 +306,6 @@ LIB32WMAKEENV+=	MAKEOBJDIRPREFIX=${OBJTR
 		PATH=${TMPPATH} \
 		CC="${CC} ${LIB32FLAGS}" \
 		CXX="${CXX} ${LIB32FLAGS}" \
-		OBJC="${OBJC} ${LIB32FLAGS}" \
 		LIBDIR=/usr/lib32 \
 		SHLIBDIR=/usr/lib32
 
@@ -869,7 +868,7 @@ reinstallkernel reinstallkernel.debug: i
 	false
 .endif
 	@echo "--------------------------------------------------------------"
-	@echo ">>> Installing kernel"
+	@echo ">>> Installing kernel ${KERNCONF}"
 	@echo "--------------------------------------------------------------"
 	cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \
 	    ${CROSSENV} PATH=${TMPPATH} \
@@ -1019,11 +1018,11 @@ _gensnmptree=	usr.sbin/bsnmpd/gensnmptre
 _crunchgen=	usr.sbin/crunch/crunchgen
 .endif
 
-# XXX: There is no way to specify bootstrap tools depending on MK-flags
-# with different per-architecture default values. Always build tblgen.
+.if ${MK_CLANG} != "no"
 _clang_tblgen= \
 	lib/clang/libllvmsupport \
 	usr.bin/clang/tblgen
+.endif
 
 .if ${MK_CDDL} != "no"
 _dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf lib/libelf \
@@ -1127,10 +1126,12 @@ _kgzip=		usr.sbin/kgzip
 .endif
 .endif
 
+.if ${MK_CLANG} != "no"
 .if ${CC:T:Mclang} == "clang"
 _clang=		usr.bin/clang
 _clang_libs=	lib/clang
 .endif
+.endif
 
 cross-tools:
 .for _tool in \
@@ -1355,10 +1356,16 @@ delete-old-files:
 	@echo ">>> Removing old files (only deletes safe to delete libs)"
 # Ask for every old file if the user really wants to remove it.
 # It's annoying, but better safe than sorry.
-	@for file in ${OLD_FILES} ${OLD_FILES:Musr/share/*.gz:R}; do \
+# NB: We cannot pass the list of OLD_FILES as a parameter because the
+# argument list will get too long. Using .for/.endfor make "loops" will make
+# the Makefile parser segfault.
+	@exec 3<&0; \
+	${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
+	    -V OLD_FILES -V "OLD_FILES:Musr/share/*.gz:R" | xargs -n1 | \
+	while read file; do \
 		if [ -f "${DESTDIR}/$${file}" -o -L "${DESTDIR}/$${file}" ]; then \
 			chflags noschg "${DESTDIR}/$${file}" 2>/dev/null || true; \
-			rm ${RM_I} "${DESTDIR}/$${file}"; \
+			rm ${RM_I} "${DESTDIR}/$${file}" <&3; \
 		fi; \
 	done
 # Remove catpages without corresponding manpages.
@@ -1368,14 +1375,16 @@ delete-old-files:
 	while read catpage; do \
 		read manpage; \
 		if [ ! -e "$${manpage}" ]; then \
-			rm ${RM_I} $${catpage} <&3 ; \
+			rm ${RM_I} $${catpage} <&3; \
 	        fi; \
 	done
 	@echo ">>> Old files removed"
 
 check-old-files:
 	@echo ">>> Checking for old files"
-	@for file in ${OLD_FILES} ${OLD_FILES:Musr/share/*.gz:R}; do \
+	@${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
+	    -V OLD_FILES -V "OLD_FILES:Musr/share/*.gz:R" | xargs -n1 | \
+	while read file; do \
 		if [ -f "${DESTDIR}/$${file}" -o -L "${DESTDIR}/$${file}" ]; then \
 		 	echo "${DESTDIR}/$${file}"; \
 		fi; \
@@ -1386,24 +1395,29 @@ check-old-files:
 	while read catpage; do \
 		read manpage; \
 		if [ ! -e "$${manpage}" ]; then \
-			echo $${catpage} ; \
+			echo $${catpage}; \
 	        fi; \
 	done
 
 delete-old-libs:
 	@echo ">>> Removing old libraries"
 	@echo "${OLD_LIBS_MESSAGE}" | fmt
-	@for file in ${OLD_LIBS}; do \
+	@exec 3<&0; \
+	${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
+	    -V OLD_LIBS | xargs -n1 | \
+	while read file; do \
 		if [ -f "${DESTDIR}/$${file}" -o -L "${DESTDIR}/$${file}" ]; then \
 			chflags noschg "${DESTDIR}/$${file}" 2>/dev/null || true; \
-			rm ${RM_I} "${DESTDIR}/$${file}"; \
+			rm ${RM_I} "${DESTDIR}/$${file}" <&3; \
 		fi; \
 	done
 	@echo ">>> Old libraries removed"
 
 check-old-libs:
 	@echo ">>> Checking for old libraries"
-	@for file in ${OLD_LIBS}; do \
+	@${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
+	    -V OLD_LIBS | xargs -n1 | \
+	while read file; do \
 		if [ -f "${DESTDIR}/$${file}" -o -L "${DESTDIR}/$${file}" ]; then \
 			echo "${DESTDIR}/$${file}"; \
 		fi; \
@@ -1411,7 +1425,9 @@ check-old-libs:
 
 delete-old-dirs:
 	@echo ">>> Removing old directories"
-	@for dir in ${OLD_DIRS}; do \
+	@${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
+	    -V OLD_DIRS | xargs -n1 | \
+	while read dir; do \
 		if [ -d "${DESTDIR}/$${dir}" ]; then \
 			rmdir -v "${DESTDIR}/$${dir}" || true; \
 		elif [ -L "${DESTDIR}/$${dir}" ]; then \
@@ -1422,7 +1438,9 @@ delete-old-dirs:
 
 check-old-dirs:
 	@echo ">>> Checking for old directories"
-	@for dir in ${OLD_DIRS}; do \
+	@${MAKE} -f ${.CURDIR}/Makefile.inc1 ${.MAKEFLAGS} ${.TARGET} \
+	    -V OLD_DIRS | xargs -n1 | \
+	while read dir; do \
 		if [ -d "${DESTDIR}/$${dir}" ]; then \
 			echo "${DESTDIR}/$${dir}"; \
 		elif [ -L "${DESTDIR}/$${dir}" ]; then \

Modified: projects/pf/pf45/ObsoleteFiles.inc
==============================================================================
--- projects/pf/pf45/ObsoleteFiles.inc	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/ObsoleteFiles.inc	Sun Apr 24 22:28:26 2011	(r221001)
@@ -38,6 +38,26 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20110417: removal of Objective-C support
+OLD_FILES+=usr/include/objc/encoding.h
+OLD_FILES+=usr/include/objc/hash.h
+OLD_FILES+=usr/include/objc/NXConstStr.h
+OLD_FILES+=usr/include/objc/objc-api.h
+OLD_FILES+=usr/include/objc/objc-decls.h
+OLD_FILES+=usr/include/objc/objc-list.h
+OLD_FILES+=usr/include/objc/objc.h
+OLD_FILES+=usr/include/objc/Object.h
+OLD_FILES+=usr/include/objc/Protocol.h
+OLD_FILES+=usr/include/objc/runtime.h
+OLD_FILES+=usr/include/objc/sarray.h
+OLD_FILES+=usr/include/objc/thr.h
+OLD_FILES+=usr/include/objc/typedstream.h
+OLD_FILES+=usr/lib/libobjc.a
+OLD_FILES+=usr/lib/libobjc.so
+OLD_FILES+=usr/lib/libobjc_p.a
+OLD_FILES+=usr/libexec/cc1obj
+OLD_LIBS+=usr/lib/libobjc.so.4
+OLD_DIRS+=usr/include/objc
 # 20110224: sticky.8 -> sticky.7
 OLD_FILES+=usr/share/man/man8/sticky.8.gz
 # 20110220: new clang import which bumps version from 2.8 to 2.9

Modified: projects/pf/pf45/UPDATING
==============================================================================
--- projects/pf/pf45/UPDATING	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/UPDATING	Sun Apr 24 22:28:26 2011	(r221001)
@@ -22,6 +22,63 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9.
 	machines to maximize performance.  (To disable malloc debugging, run
 	ln -s aj /etc/malloc.conf.)
 
+20110424:
+	The GENERIC kernels for all architectures now default to the new
+	CAM-based ATA stack. It means that all legacy ATA drivers were
+	removed and replaced by respective CAM drivers. If you are using
+	ATA device names in /etc/fstab or other places, make sure to update
+	them respectively (adX -> adaY, acdX -> cdY, afdX -> daY, astX -> saY,
+	where 'Y's are the sequential numbers starting from zero for each type
+	in order of detection, unless configured otherwise with tunables,
+	see cam(4)).
+
+	ataraid(4) functionality is now supported by the RAID GEOM class.
+	To use it you can load geom_raid kernel module and use graid(8) tool
+	for management. Instead of /dev/arX device names, use /dev/raid/rX.
+
+	No kernel config options or code have been removed, so if a problem
+	arises, please report it and optionally revert to the old ATA stack.
+	In order to do it you can remove from the kernel config:
+	    options        ATA_CAM
+	    device         ahci
+	    device         mvs
+	    device         siis
+	, and instead add back:
+	    device         atadisk         # ATA disk drives
+	    device         ataraid         # ATA RAID drives
+	    device         atapicd         # ATAPI CDROM drives
+	    device         atapifd         # ATAPI floppy drives
+	    device         atapist         # ATAPI tape drives
+	    options        ATA_STATIC_ID   # Static device numbering
+
+20110423:
+	The default NFS server has been changed to the new server, which
+	was referred to as the experimental server. If you need to switch
+	back to the old NFS server, you must now put the "-o" option on
+	both the mountd and nfsd commands. This can be done using the
+	mountd_flags and nfs_server_flags rc.conf variables until an
+	update to the rc scripts is committed, which is coming soon.
+
+20110418:
+	The GNU Objective-C runtime library (libobjc), and other Objective-C
+	related components have been removed from the base system.  If you
+	require an Objective-C library, please use one of the available ports.
+
+20110331:
+	ath(4) has been split into bus- and device- modules. if_ath contains
+	the HAL, the TX rate control and the network device code. if_ath_pci
+	contains the PCI bus glue. For Atheros MIPS embedded systems, if_ath_ahb
+	contains the AHB glue. Users need to load both if_ath_pci and if_ath
+	in order to use ath on everything else.
+
+	TO REPEAT: if_ath_ahb is not needed for normal users. Normal users only
+	need to load if_ath and if_ath_pci for ath(4) operation.
+
+20110314:
+	As part of the replacement of sysinstall, the process of building
+	release media has changed significantly. For details, please re-read
+	release(7), which has been updated to reflect the new build process.
+
 20110218:
 	GNU binutils 2.17.50 (as of 2007-07-03) has been merged to -HEAD.  This
 	is the last available version under GPLv2.  It brings a number of new

Modified: projects/pf/pf45/bin/ps/extern.h
==============================================================================
--- projects/pf/pf45/bin/ps/extern.h	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/bin/ps/extern.h	Sun Apr 24 22:28:26 2011	(r221001)
@@ -74,10 +74,15 @@ void	 rgroupname(KINFO *, VARENT *);
 void	 runame(KINFO *, VARENT *);
 void	 rvar(KINFO *, VARENT *);
 int	 s_comm(KINFO *);
+int	 s_cputime(KINFO *);
 int	 s_label(KINFO *);
+int	 s_loginclass(KINFO *);
+int	 s_logname(KINFO *);
 int	 s_rgroupname(KINFO *);
 int	 s_runame(KINFO *);
+int	 s_systime(KINFO *);
 int	 s_uname(KINFO *);
+int	 s_usertime(KINFO *);
 void	 showkey(void);
 void	 started(KINFO *, VARENT *);
 void	 state(KINFO *, VARENT *);

Modified: projects/pf/pf45/bin/ps/keyword.c
==============================================================================
--- projects/pf/pf45/bin/ps/keyword.c	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/bin/ps/keyword.c	Sun Apr 24 22:28:26 2011	(r221001)
@@ -79,9 +79,9 @@ static VAR var[] = {
 		CHAR, NULL, 0},
 	{"blocked", "", "sigmask", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
 	{"caught", "", "sigcatch", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
-	{"class", "CLASS", NULL, LJUST, loginclass, NULL, MAXLOGNAME-1, 0,
-		CHAR, NULL, 0},
-	{"comm", "COMMAND", NULL, LJUST|DSIZ, ucomm, s_comm,
+	{"class", "CLASS", NULL, LJUST, loginclass, s_loginclass,
+		MAXLOGNAME-1, 0, CHAR, NULL, 0},
+	{"comm", "COMMAND", NULL, LJUST, ucomm, s_comm,
 		COMMLEN + OCOMMLEN + 1, 0, CHAR, NULL, 0},
 	{"command", "COMMAND", NULL, COMM|LJUST|USER, command, NULL, 16, 0,
 		CHAR, NULL, 0},
@@ -103,13 +103,13 @@ static VAR var[] = {
 		0},
 	{"ktrace", "KTRACE", NULL, 0, kvar, NULL, 8, KOFF(ki_traceflag), INT,
 		"x", 0},
-	{"label", "LABEL", NULL, LJUST|DSIZ, label, s_label, SHRT_MAX, 0, CHAR,
+	{"label", "LABEL", NULL, LJUST, label, s_label, SHRT_MAX, 0, CHAR,
 	    NULL, 0},
 	{"lim", "LIM", NULL, 0, maxrss, NULL, 5, 0, CHAR, NULL, 0},
 	{"lockname", "LOCK", NULL, LJUST, lockname, NULL, 6, 0, CHAR, NULL,
 		0},
-	{"login", "LOGIN", NULL, LJUST, logname, NULL, MAXLOGNAME-1, 0, CHAR,
-		NULL, 0},
+	{"login", "LOGIN", NULL, LJUST, logname, s_logname, MAXLOGNAME-1,
+		0, CHAR, NULL, 0},
 	{"logname", "", "login", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
 	{"lstart", "STARTED", NULL, LJUST|USER, lstarted, NULL, 28, 0, CHAR,
 		NULL, 0},
@@ -160,14 +160,14 @@ static VAR var[] = {
 		0},
 	{"rgid", "RGID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_rgid),
 		UINT, UIDFMT, 0},
-	{"rgroup", "RGROUP", NULL, LJUST|DSIZ, rgroupname, s_rgroupname,
+	{"rgroup", "RGROUP", NULL, LJUST, rgroupname, s_rgroupname,
 		USERLEN, 0, CHAR, NULL, 0},
 	{"rss", "RSS", NULL, 0, kvar, NULL, 6, KOFF(ki_rssize), PGTOK, "ld", 0},
 	{"rtprio", "RTPRIO", NULL, 0, priorityr, NULL, 7, KOFF(ki_pri), CHAR,
 		NULL, 0},
 	{"ruid", "RUID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_ruid),
 		UINT, UIDFMT, 0},
-	{"ruser", "RUSER", NULL, LJUST|DSIZ, runame, s_runame, USERLEN,
+	{"ruser", "RUSER", NULL, LJUST, runame, s_runame, USERLEN,
 		0, CHAR, NULL, 0},
 	{"sid", "SID", NULL, 0, kvar, NULL, PIDLEN, KOFF(ki_sid), UINT,
 		PIDFMT, 0},
@@ -189,12 +189,14 @@ static VAR var[] = {
 		UINT, UIDFMT, 0},
 	{"svuid", "SVUID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_svuid),
 		UINT, UIDFMT, 0},
-	{"systime", "SYSTIME", NULL, USER, systime, NULL, 9, 0, CHAR, NULL, 0},
+	{"systime", "SYSTIME", NULL, USER, systime, s_systime, 15, 0, CHAR,
+		NULL, 0},
 	{"tdaddr", "TDADDR", NULL, 0, kvar, NULL, sizeof(void *) * 2,
 		KOFF(ki_tdaddr), KPTR, "lx", 0},
 	{"tdev", "TDEV", NULL, 0, tdev, NULL, 5, 0, CHAR, NULL, 0},
 	{"tdnam", "TDNAM", NULL, LJUST, tdnam, NULL, COMMLEN, 0, CHAR, NULL, 0},
-	{"time", "TIME", NULL, USER, cputime, NULL, 9, 0, CHAR, NULL, 0},
+	{"time", "TIME", NULL, USER, cputime, s_cputime, 15, 0, CHAR,
+		NULL, 0},
 	{"tpgid", "TPGID", NULL, 0, kvar, NULL, 4, KOFF(ki_tpgid), UINT,
 		PIDFMT, 0},
 	{"tsid", "TSID", NULL, 0, kvar, NULL, PIDLEN, KOFF(ki_tsid), UINT,
@@ -202,17 +204,17 @@ static VAR var[] = {
 	{"tsiz", "TSIZ", NULL, 0, kvar, NULL, 4, KOFF(ki_tsize), PGTOK, "ld", 0},
 	{"tt", "TT ", NULL, 0, tname, NULL, 4, 0, CHAR, NULL, 0},
 	{"tty", "TTY", NULL, LJUST, longtname, NULL, 8, 0, CHAR, NULL, 0},
-	{"ucomm", "UCOMM", NULL, LJUST|DSIZ, ucomm, s_comm,
+	{"ucomm", "UCOMM", NULL, LJUST, ucomm, s_comm,
 		COMMLEN + OCOMMLEN + 1, 0, CHAR, NULL, 0},
 	{"uid", "UID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_uid), UINT,
 		UIDFMT, 0},
 	{"upr", "UPR", NULL, 0, upr, NULL, 3, 0, CHAR, NULL, 0},
 	{"uprocp", "UPROCP", NULL, 0, kvar, NULL, sizeof(void *) * 2,
 		KOFF(ki_paddr), KPTR, "lx", 0},
-	{"user", "USER", NULL, LJUST|DSIZ, uname, s_uname, USERLEN, 0, CHAR,
+	{"user", "USER", NULL, LJUST, uname, s_uname, USERLEN, 0, CHAR,
 		NULL, 0},
-	{"usertime", "USERTIME", NULL, USER, usertime, NULL, 9, 0, CHAR, NULL,
-		0},
+	{"usertime", "USERTIME", NULL, USER, usertime, s_usertime, 15, 0,
+		CHAR, NULL, 0},
 	{"usrpri", "", "upr", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
 	{"vsize", "", "vsz", 0, NULL, NULL, 0, 0, CHAR, NULL, 0},
 	{"vsz", "VSZ", NULL, 0, vsize, NULL, 6, 0, CHAR, NULL, 0},

Modified: projects/pf/pf45/bin/ps/print.c
==============================================================================
--- projects/pf/pf45/bin/ps/print.c	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/bin/ps/print.c	Sun Apr 24 22:28:26 2011	(r221001)
@@ -570,11 +570,20 @@ printtime(KINFO *k, VARENT *ve, long sec
 		secs += psecs / 100;
 		psecs = psecs % 100;
 	}
-	(void)snprintf(obuff, sizeof(obuff), "%3ld:%02ld%c%02ld",
+	(void)snprintf(obuff, sizeof(obuff), "%ld:%02ld%c%02ld",
 	    secs / 60, secs % 60, decimal_point, psecs);
 	(void)printf("%*s", v->width, obuff);
 }
 
+static int
+sizetime(long secs)
+{
+
+	if (secs < 60)
+		return (7);
+	return (log10(secs / 60) + 7);
+}
+
 void
 cputime(KINFO *k, VARENT *ve)
 {
@@ -908,7 +917,7 @@ loginclass(KINFO *k, VARENT *ve)
 	 * and limits don't apply to system processes.
 	 */
 	if (k->ki_p->ki_flag & P_SYSTEM) {
-		(void)printf("%-*s", v->width, "  -");
+		(void)printf("%-*s", v->width, "-");
 		return;
 	}
 	s = k->ki_p->ki_loginclass;
@@ -930,6 +939,17 @@ s_comm(KINFO *k)
 }
 
 int
+s_cputime(KINFO *k)
+{
+	long secs;
+
+	secs = k->ki_p->ki_runtime / 1000000;
+	if (sumrusage)
+		secs += k->ki_p->ki_childtime.tv_sec;
+	return (sizetime(secs));
+}
+
+int
 s_label(KINFO *k)
 {
 	char *string = NULL;
@@ -948,3 +968,52 @@ s_label(KINFO *k)
 	mac_free(proclabel);
 	return (size);
 }
+
+int
+s_loginclass(KINFO *k)
+{
+	char *s;
+
+	if (k->ki_p->ki_flag & P_SYSTEM)
+		return (1);
+
+	s = k->ki_p->ki_loginclass;
+	if (s == NULL)
+		return (1);
+
+	return (strlen(s));
+}
+
+int
+s_logname(KINFO *k)
+{
+	char *s;
+
+	s = k->ki_p->ki_login;
+	if (s == NULL)
+		return (1);
+
+	return (strlen(s));
+}
+
+int
+s_systime(KINFO *k)
+{
+	long secs;
+
+	secs = k->ki_p->ki_rusage.ru_stime.tv_sec;
+	if (sumrusage)
+		secs += k->ki_p->ki_childstime.tv_sec;
+	return (sizetime(secs));
+}
+
+int
+s_usertime(KINFO *k)
+{
+	long secs;
+
+	secs = k->ki_p->ki_rusage.ru_utime.tv_sec;
+	if (sumrusage)
+		secs += k->ki_p->ki_childutime.tv_sec;
+	return (sizetime(secs));
+}

Modified: projects/pf/pf45/bin/ps/ps.1
==============================================================================
--- projects/pf/pf45/bin/ps/ps.1	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/bin/ps/ps.1	Sun Apr 24 22:28:26 2011	(r221001)
@@ -29,7 +29,7 @@
 .\"     @(#)ps.1	8.3 (Berkeley) 4/18/94
 .\" $FreeBSD$
 .\"
-.Dd March 16, 2011
+.Dd April 18, 2011
 .Dt PS 1
 .Os
 .Sh NAME
@@ -130,7 +130,10 @@ If either of the
 and
 .Fl r
 options are also used, they control how sibling processes are sorted
-relative to eachother.
+relative to each other.
+Note that this option has no effect if the
+.Dq command
+column is not the last column displayed.
 .It Fl e
 Display the environment as well.
 .It Fl f
@@ -244,9 +247,13 @@ If the
 option is specified more than once,
 .Nm
 will use as many columns as necessary without regard for your window size.
+Note that this option has no effect if the
+.Dq command
+column is not the last column displayed.
 .It Fl X
 When displaying processes matched by other options, skip any processes
 which do not have a controlling terminal.
+This is the default behaviour.
 .It Fl x
 When displaying processes matched by other options, include processes
 which do not have a controlling terminal.

Modified: projects/pf/pf45/bin/ps/ps.c
==============================================================================
--- projects/pf/pf45/bin/ps/ps.c	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/bin/ps/ps.c	Sun Apr 24 22:28:26 2011	(r221001)
@@ -1078,7 +1078,7 @@ scanvars(void)
 
 	STAILQ_FOREACH(vent, &varlist, next_ve) {
 		v = vent->var;
-		if (v->flag & DSIZ) {
+		if (v->sproc != NULL) {
 			v->dwidth = v->width;
 			v->width = 0;
 		}
@@ -1098,9 +1098,9 @@ dynsizevars(KINFO *ki)
 
 	STAILQ_FOREACH(vent, &varlist, next_ve) {
 		v = vent->var;
-		if (!(v->flag & DSIZ))
+		if (v->sproc == NULL)
 			continue;
-		i = (v->sproc)( ki);
+		i = (v->sproc)(ki);
 		if (v->width < i)
 			v->width = i;
 		if (v->width > v->dwidth)

Modified: projects/pf/pf45/bin/ps/ps.h
==============================================================================
--- projects/pf/pf45/bin/ps/ps.h	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/bin/ps/ps.h	Sun Apr 24 22:28:26 2011	(r221001)
@@ -62,12 +62,11 @@ typedef struct var {
 #define	COMM	0x01		/* needs exec arguments and environment (XXX) */
 #define	LJUST	0x02		/* left adjust on output (trailing blanks) */
 #define	USER	0x04		/* needs user structure */
-#define	DSIZ	0x08		/* field size is dynamic*/
 #define	INF127	0x10		/* values >127 displayed as 127 */
 	u_int	flag;
 				/* output routine */
 	void	(*oproc)(struct kinfo *, struct varent *);
-				/* sizing routine*/
+				/* sizing routine */
 	int	(*sproc)(struct kinfo *);
 	short	width;		/* printing width */
 	/*

Modified: projects/pf/pf45/bin/setfacl/setfacl.1
==============================================================================
--- projects/pf/pf45/bin/setfacl/setfacl.1	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/bin/setfacl/setfacl.1	Sun Apr 24 22:28:26 2011	(r221001)
@@ -1,5 +1,6 @@
 .\"-
 .\" Copyright (c) 2001 Chris D. Faulhaber
+.\" Copyright (c) 2011 Edward Tomasz Napierała
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -25,7 +26,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 27, 2010
+.Dd April 9, 2011
 .Dt SETFACL 1
 .Os
 .Sh NAME
@@ -307,7 +308,7 @@ Permissions in long form are separated b
 .Ql /
 character; in short form, they are concatenated together.
 Valid permissions are:
-.Bl -tag -width ".Dv short"
+.Bl -tag -width ".Dv modify_set"
 .It Short
 Long
 .It r
@@ -339,6 +340,20 @@ write_owner
 .It S
 synchronize
 .El
+.Pp
+In addition, the following permission sets may be used:
+.Bl -tag -width ".Dv modify_set"
+.It Set
+Permissions
+.It full_set
+all permissions, as shown above
+.It modify_set
+all permissions except write_acl and write_owner
+.It read_set
+read_data, read_attributes, read_xattr and read_acl
+.It write_set
+write_data, append_data, write_attributes and write_xattr
+.El
 .It Ar "ACL inheritance flags"
 Inheritance flags may be specified in either short or long form.
 Short and long forms may not be mixed.

Modified: projects/pf/pf45/bin/sh/error.h
==============================================================================
--- projects/pf/pf45/bin/sh/error.h	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/bin/sh/error.h	Sun Apr 24 22:28:26 2011	(r221001)
@@ -57,6 +57,7 @@ extern volatile sig_atomic_t exception;
 #define EXINT 0		/* SIGINT received */
 #define EXERROR 1	/* a generic error */
 #define EXEXEC 2	/* command execution failed */
+#define EXEXIT 3	/* call exitshell(exitstatus) */
 
 
 /*

Modified: projects/pf/pf45/bin/sh/eval.c
==============================================================================
--- projects/pf/pf45/bin/sh/eval.c	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/bin/sh/eval.c	Sun Apr 24 22:28:26 2011	(r221001)
@@ -179,7 +179,7 @@ evalstring(char *s, int flags)
 	if (!any)
 		exitstatus = 0;
 	if (flags_exit)
-		exitshell(exitstatus);
+		exraise(EXEXIT);
 }
 
 
@@ -285,8 +285,10 @@ evaltree(union node *n, int flags)
 out:
 	if (pendingsigs)
 		dotrap();
-	if ((flags & EV_EXIT) || (eflag && exitstatus != 0 && do_etest))
+	if (eflag && exitstatus != 0 && do_etest)
 		exitshell(exitstatus);
+	if (flags & EV_EXIT)
+		exraise(EXEXIT);
 }
 
 
@@ -440,8 +442,8 @@ evalredir(union node *n, int flags)
 
 		handler = savehandler;
 		e = exception;
+		popredir();
 		if (e == EXERROR || e == EXEXEC) {
-			popredir();
 			if (in_redirect) {
 				exitstatus = 2;
 				return;
@@ -927,8 +929,7 @@ evalcommand(union node *cmd, int flags, 
 		if (setjmp(jmploc.loc)) {
 			freeparam(&shellparam);
 			shellparam = saveparam;
-			if (exception == EXERROR || exception == EXEXEC)
-				popredir();
+			popredir();
 			unreffunc(cmdentry.u.func);
 			poplocalvars();
 			localvars = savelocalvars;
@@ -943,10 +944,8 @@ evalcommand(union node *cmd, int flags, 
 		for (sp = varlist.list ; sp ; sp = sp->next)
 			mklocal(sp->text);
 		exitstatus = oexitstatus;
-		if (flags & EV_TESTED)
-			evaltree(getfuncnode(cmdentry.u.func), EV_TESTED);
-		else
-			evaltree(getfuncnode(cmdentry.u.func), 0);
+		evaltree(getfuncnode(cmdentry.u.func),
+		    flags & (EV_TESTED | EV_EXIT));
 		INTOFF;
 		unreffunc(cmdentry.u.func);
 		poplocalvars();
@@ -982,7 +981,10 @@ evalcommand(union node *cmd, int flags, 
 		savehandler = handler;
 		if (setjmp(jmploc.loc)) {
 			e = exception;
-			exitstatus = (e == EXINT)? SIGINT+128 : 2;
+			if (e == EXINT)
+				exitstatus = SIGINT+128;
+			else if (e != EXEXIT)
+				exitstatus = 2;
 			goto cmddone;
 		}
 		handler = &jmploc;
@@ -1018,8 +1020,7 @@ cmddone:
 			backcmd->nleft = memout.nextc - memout.buf;
 			memout.buf = NULL;
 		}
-		if (cmdentry.u.index != EXECCMD &&
-				(e == -1 || e == EXERROR || e == EXEXEC))
+		if (cmdentry.u.index != EXECCMD)
 			popredir();
 		if (e != -1) {
 			if ((e != EXERROR && e != EXEXEC)

Modified: projects/pf/pf45/bin/sh/main.c
==============================================================================
--- projects/pf/pf45/bin/sh/main.c	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/bin/sh/main.c	Sun Apr 24 22:28:26 2011	(r221001)
@@ -111,7 +111,8 @@ main(int argc, char *argv[])
 			break;
 		}
 
-		if (state == 0 || iflag == 0 || ! rootshell)
+		if (state == 0 || iflag == 0 || ! rootshell ||
+		    exception == EXEXIT)
 			exitshell(exitstatus);
 		reset();
 		if (exception == EXINT)

Modified: projects/pf/pf45/bin/sh/parser.c
==============================================================================
--- projects/pf/pf45/bin/sh/parser.c	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/bin/sh/parser.c	Sun Apr 24 22:28:26 2011	(r221001)
@@ -1572,8 +1572,8 @@ varname:
 			pungetc();
 		}
 		STPUTC('=', out);
-		if (subtype != VSLENGTH && (state[level].syntax == DQSYNTAX ||
-		    state[level].syntax == ARISYNTAX))
+		if (state[level].syntax == DQSYNTAX ||
+		    state[level].syntax == ARISYNTAX)
 			flags |= VSQUOTE;
 		*(stackblock() + typeloc) = subtype | flags;
 		if (subtype != VSNORMAL) {

Modified: projects/pf/pf45/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c
==============================================================================
--- projects/pf/pf45/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c	Sun Apr 24 22:28:26 2011	(r221001)
@@ -138,8 +138,10 @@ stream_bytes(FILE *fp, const char *strin
 	while (*string) {
 		if (*string > ' ' && *string != '\\' && *string < '\177')
 			(void) fprintf(fp, "%c", *string++);
-		else
-			(void) fprintf(fp, "\\%03o", *string++);
+		else {
+			(void) fprintf(fp, "\\%03hho",
+			    (unsigned char)*string++);
+		}
 	}
 }
 

Modified: projects/pf/pf45/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c
==============================================================================
--- projects/pf/pf45/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c	Sun Apr 24 22:28:26 2011	(r221001)
@@ -734,12 +734,13 @@ zfs_path_to_zhandle(libzfs_handle_t *hdl
 	{
 		struct statfs sfs;
 
-		if (statfs(path, &sfs) != 0) {
+		ret = statfs(path, &sfs);
+		if (ret == 0)
+			statfs2mnttab(&sfs, &entry);
+		else {
 			(void) fprintf(stderr, "%s: %s\n", path,
 			    strerror(errno));
-			ret = -1;
 		}
-		statfs2mnttab(&sfs, &entry);
 	}
 #endif	/* sun */
 	if (ret != 0) {

Modified: projects/pf/pf45/contrib/bsnmp/snmpd/main.c
==============================================================================
--- projects/pf/pf45/contrib/bsnmp/snmpd/main.c	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/contrib/bsnmp/snmpd/main.c	Sun Apr 24 22:28:26 2011	(r221001)
@@ -1214,7 +1214,8 @@ snmpd_input(struct port_input *pi, struc
 	/*
 	 * In case of AF_INET{6} peer, do hosts_access(5) check.
 	 */
-	if (inet_ntop(pi->peer->sa_family,
+	if (pi->peer->sa_family != AF_LOCAL &&
+	    inet_ntop(pi->peer->sa_family,
 	    &((const struct sockaddr_in *)(const void *)pi->peer)->sin_addr,
 	    client, sizeof(client)) != NULL) {
 		request_set(&req, RQ_CLIENT_ADDR, client, 0);
@@ -1223,7 +1224,7 @@ snmpd_input(struct port_input *pi, struc
 			    eval_client(&req));
 			return (-1);
 		}
-	} else
+	} else if (pi->peer->sa_family != AF_LOCAL)
 		syslog(LOG_ERR, "inet_ntop(): %m");
 #endif
 

Modified: projects/pf/pf45/contrib/dialog/CHANGES
==============================================================================
--- projects/pf/pf45/contrib/dialog/CHANGES	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/contrib/dialog/CHANGES	Sun Apr 24 22:28:26 2011	(r221001)
@@ -1,9 +1,77 @@
--- $Id: CHANGES,v 1.300 2010/04/28 21:27:22 tom Exp $
+-- $Id: CHANGES,v 1.333 2011/03/02 10:06:37 tom Exp $
 -- Thomas E. Dickey <dickey@invisible-island.net>
 
 This version of dialog was originally from a Debian snapshot.  I've done this
 to it:
 
+2011/03/02
+	+ add --prgbox and --programbox (adapted from patch by David Boyd).
+	+ add sl.po from
+		http://translationproject.org/latest/dialog/
+	+ fix timeouts from 2011/01/18, which were being interpreted as
+	  milliseconds rather than seconds (report by Luis Moreira).
+
+2011/01/18
+	+ fix inconsistency in return-codes for textbox when help-button is
+	  used by making dlg_exit_buttoncode() a wrapper for
+	  dlg_ok_buttoncode().
+	+ modify pause widget to use dlg_ok_buttoncode(), so help-button works.
+	+ correct two infobox sample scripts, which did not pass extra
+	  command-line parameters due to quoting problems.
+	+ add a limit-check to the timebox widget (patch by Garrett Cooper).
+	+ modify --trace option to also trace the command-line parameters.
+	+ account for combining characters when wrapping text (Debian #570634).
+	+ correct handling of SIGWINCH in gauge widget (Debian #305705).
+	+ add gauge_color, to make guage's progress-bar distinct from
+	  title_color (request by Dominic Derdau).
+	+ update fi.po from
+		http://translationproject.org/latest/dialog/
+	  as well as resync line-numbers in the other po-files.
+	+ modify configure script and dialog program to build with NetBSD's
+	  wide-character curses functions, including workarounds for its
+	  incorrect WACS_xxx definitions.  Some of the UTF-8 examples work.
+	+ add back-tab for traversal of tailboxbg widgets, for symmetry with
+	  tab-traversal.
+	+ reduce flicker in tailboxbg by checking if the input file size has
+	  changed.
+	+ modify internals of callbacks to avoid blocking reads of their
+	  associated files by keyboard input.
+	+ add command-line option --no-mouse, to suppress use of mouse.
+	+ add configure option --enable-header-subdir to allow the header files
+	  to be installed into a subdirectory named for the package.
+	+ modify dlg_restore_vars() to retain the updated values of
+	  input_result and input_length, eliminating the need for a caller to
+	  provide their own user buffer (prompted by report by Thiago Bimbatti
+	  Felicio).
+	+ add a null-pointer check in show_result() for
+	  dialog_vars.input_result, and ensure it is set to null after freeing
+	  (prompted by report by Thiago Bimbatti Felicio).
+	+ change order of -I options in CPPFLAGS (report by Michel Feldheim)
+	+ modify pause-widget so that it no longer exits when an unrecognized
+	  key is pressed (patch by Creidieki M Crouch).
+	+ add --with-package option to configure script to allow renaming
+	  of the dialog program and library, to support the package scripts.
+	+ add Debian and RPM package scripts for test-builds.
+	+ several improvements to configure script:
+	  + quote params of ifelse()
+	  + change obsolete ${name-value} to standard ${name:-value}
+	  + use new macros CF_ADD_LIB/CF_ADD_LIBS to enforce consistency.
+	  + AM_GNU_GETTEXT, drop $MKINSTALLDIRS, use "mkdir -p" consistently.
+	  + CF_ADD_SUBDIR_PATH, workaround - if $prefix was not mkdir'd yet, no
+	    directories were added.
+	  + CF_BUNDLED_INTL, add --with-textdomain option, to use with lynx-dev
+	    package
+	  + CF_FIND_LINKAGE, simplify save/restore of $LIBS
+	  + CF_GCC_WARNINGS, fix for Mac OS X (compiler makes conftest.dSYM
+	    directory)
+	  + CF_HEADER_PATH, don't search for variations of everything in the
+	    current include-path
+	  + CF_WITH_CURSES_DIR, move the calls to CF_ADD_INCDIR and
+	    CF_ADD_LIBDIR for the curses-directory here, from
+	    CF_NCURSES_CPPFLAGS and CF_NCURSES_LDFLAGS, so it will work even
+	    with the default checking, e.g., no --with-ncurses, etc.
+	+ updated config.guess, config.sub
+
 2010/04/28
 	+ several improvements to configure script:
 	  + modify CF_CURSES_TERM_H to handle cases such as cygwin where
@@ -278,7 +346,7 @@ to it:
 	+ make --program-prefix, etc., work in configure script, e.g., to make
 	  program install as "cdialog".  This does not alter the library name.
 	+ add install-bin, install-man (and uninstall) rules to makefile.
-	+ updates for configure script macros (originally vile, lynx, xterm): 
+	+ updates for configure script macros (originally vile, lynx, xterm):
 	  AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, CF_CURSES_CPPFLAGS,
 	  CF_CURSES_LIBS, CF_INCLUDE_DIRS, CF_LARGEFILE, CF_MAKEFLAGS,
 	  CF_PATH_SYNTAX, CF_SUBDIR_PATH, CF_SUBST, CF_WITH_DBMALLOC,
@@ -407,7 +475,7 @@ to it:
 	+ fix marker in textbox.c to make it disappear at the top of the file
 	  (report by Patrick J. Volkerding).
 	+ fix marker shown in arrows.c for checklists, etc., which was "(+)"
-	  where it should have been "(-)" (report/patch by Patrick J. 
+	  where it should have been "(-)" (report/patch by Patrick J.
 	  Volkerding).
 	+ fix --input-fd (changes in glibc since 2003 made dialog hang on exit
 	  due to the way dialog updated stdin).

Modified: projects/pf/pf45/contrib/dialog/VERSION
==============================================================================
--- projects/pf/pf45/contrib/dialog/VERSION	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/contrib/dialog/VERSION	Sun Apr 24 22:28:26 2011	(r221001)
@@ -1 +1 @@
-7:1:0	1.1	20100428
+9:0:0	1.1	20110302

Modified: projects/pf/pf45/contrib/dialog/aclocal.m4
==============================================================================
--- projects/pf/pf45/contrib/dialog/aclocal.m4	Sun Apr 24 22:12:00 2011	(r221000)
+++ projects/pf/pf45/contrib/dialog/aclocal.m4	Sun Apr 24 22:28:26 2011	(r221001)
@@ -1,13 +1,37 @@
 dnl macros used for DIALOG configure script
-dnl Copyright 1999-2009,2010 -- Thomas E. Dickey
+dnl $Id: aclocal.m4,v 1.80 2011/01/18 23:17:01 tom Exp $
+dnl ---------------------------------------------------------------------------
+dnl Copyright 1999-2010,2011 -- Thomas E. Dickey
+dnl
+dnl Permission is hereby granted, free of charge, to any person obtaining a
+dnl copy of this software and associated documentation files (the
+dnl "Software"), to deal in the Software without restriction, including
+dnl without limitation the rights to use, copy, modify, merge, publish,
+dnl distribute, distribute with modifications, sublicense, and/or sell
+dnl copies of the Software, and to permit persons to whom the Software is
+dnl furnished to do so, subject to the following conditions:
+dnl 
+dnl The above copyright notice and this permission notice shall be included
+dnl in all copies or portions of the Software.
+dnl 
+dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+dnl 
+dnl Except as contained in this notice, the name(s) of the above copyright
+dnl holders shall not be used in advertising or otherwise to promote the
+dnl sale, use or other dealings in this Software without prior written
+dnl authorization.
 dnl
 dnl see
 dnl http://invisible-island.net/autoconf/ 
-dnl
-dnl $Id: aclocal.m4,v 1.75 2010/04/28 20:36:28 tom Exp $
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
-dnl AM_GNU_GETTEXT version: 11 updated: 2004/01/26 20:58:40
+dnl AM_GNU_GETTEXT version: 12 updated: 2010/06/19 07:02:11
 dnl --------------
 dnl Usage: Just like AM_WITH_NLS, which see.
 AC_DEFUN([AM_GNU_GETTEXT],
@@ -68,25 +92,6 @@ strdup strtoul tsearch __argz_count __ar
      fi
    fi
 
-   dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
-   dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
-   dnl Try to locate it.
-   dnl changed mkinstalldirs to mkdirs.sh for Lynx /je spath 1998-Aug-21
-   dnl added check for separate locations of scripts -mirabile 2004-Jan-18
-   MKINSTALLDIRS=
-   if test -n "$ac_aux_dir"; then
-     MKINSTALLDIRS="$ac_aux_dir/mkdirs.sh"
-   fi
-   if test -z "$MKINSTALLDIRS"; then
-     MKINSTALLDIRS="\$(top_srcdir)/mkdirs.sh"
-   fi
-   if test -n "$GNUSYSTEM_AUX_DIR" ; then
-     if test -e "${GNUSYSTEM_AUX_DIR}/mkinstalldirs"; then
-       MKINSTALLDIRS="${GNUSYSTEM_AUX_DIR}/mkinstalldirs"
-     fi
-   fi
-   AC_SUBST(MKINSTALLDIRS)
-
    dnl Enable libtool support if the surrounding package wishes it.
    INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
    AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
@@ -277,7 +282,7 @@ fi
 AC_SUBST($1)dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl AM_WITH_NLS version: 23 updated: 2009/01/11 19:52:42
+dnl AM_WITH_NLS version: 24 updated: 2010/06/20 09:24:28
 dnl -----------
 dnl Inserted as requested by gettext 0.10.40
 dnl File from /usr/share/aclocal
@@ -369,7 +374,7 @@ AC_DEFUN([AM_WITH_NLS],
       CATOBJEXT=NONE
 
       cf_save_LIBS_1="$LIBS"
-      LIBS="$LIBICONV $LIBS"
+      CF_ADD_LIBS($LIBICONV)
       AC_CACHE_CHECK([for libintl.h and gettext()], cf_cv_func_gettext,[
         CF_FIND_LINKAGE(CF__INTL_HEAD,
         CF__INTL_BODY,
@@ -597,7 +602,7 @@ define(CF_AC_PREREQ,
 AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)),
 AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])), [$1], [$2], [$3])])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_CFLAGS version: 9 updated: 2010/01/09 11:05:50
+dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42
 dnl -------------
 dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
 dnl The second parameter if given makes this macro verbose.
@@ -667,17 +672,17 @@ esac
 done
 
 if test -n "$cf_new_cflags" ; then
-	ifelse($2,,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
+	ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
 	CFLAGS="$CFLAGS $cf_new_cflags"
 fi
 
 if test -n "$cf_new_cppflags" ; then
-	ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
+	ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
 	CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
 fi
 
 if test -n "$cf_new_extra_cppflags" ; then
-	ifelse($2,,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
+	ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
 	EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
 fi
 
@@ -685,7 +690,7 @@ AC_SUBST(EXTRA_CPPFLAGS)
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_INCDIR version: 12 updated: 2009/01/18 10:00:47
+dnl CF_ADD_INCDIR version: 13 updated: 2010/05/26 16:44:57
 dnl -------------
 dnl Add an include-directory to $CPPFLAGS.  Don't add /usr/include, since it's
 dnl redundant.  We don't normally need to add -I/usr/local/include for gcc,
@@ -728,7 +733,7 @@ if test -n "$1" ; then
 
 		if test "$cf_have_incdir" = no ; then
 		  CF_VERBOSE(adding $cf_add_incdir to include-path)
-		  ifelse($2,,CPPFLAGS,$2)="$ifelse($2,,CPPFLAGS,$2) -I$cf_add_incdir"
+		  ifelse([$2],,CPPFLAGS,[$2])="$ifelse([$2],,CPPFLAGS,[$2]) -I$cf_add_incdir"
 
 		  cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
 		  test "$cf_top_incdir" = "$cf_add_incdir" && break
@@ -742,7 +747,15 @@ if test -n "$1" ; then
 fi
 ])dnl

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

From owner-svn-src-projects@FreeBSD.ORG  Mon Apr 25 17:34:10 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id EBF001065672;
	Mon, 25 Apr 2011 17:34:10 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id C14CB8FC13;
	Mon, 25 Apr 2011 17:34:10 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3PHYArH085694;
	Mon, 25 Apr 2011 17:34:10 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3PHYAxe085692;
	Mon, 25 Apr 2011 17:34:10 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104251734.p3PHYAxe085692@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Mon, 25 Apr 2011 17:34:10 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221024 - projects/altix/sys/ia64/ia64
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 25 Apr 2011 17:34:11 -0000

Author: marcel
Date: Mon Apr 25 17:34:10 2011
New Revision: 221024
URL: http://svn.freebsd.org/changeset/base/221024

Log:
  Hack the SAPIC interaction. Eventually this will become a KOBJ interface.
  For now, since I'm not getting any H/W interrupts at all, just make
  things visible.

Modified:
  projects/altix/sys/ia64/ia64/interrupt.c

Modified: projects/altix/sys/ia64/ia64/interrupt.c
==============================================================================
--- projects/altix/sys/ia64/ia64/interrupt.c	Mon Apr 25 17:13:40 2011	(r221023)
+++ projects/altix/sys/ia64/ia64/interrupt.c	Mon Apr 25 17:34:10 2011	(r221024)
@@ -164,7 +164,10 @@ ia64_intr_eoi(void *arg)
 
 	i = ia64_intrs[xiv];
 	KASSERT(i != NULL, ("%s", __func__));
-	sapic_eoi(i->sapic, xiv);
+	if (i->sapic != NULL)
+		sapic_eoi(i->sapic, xiv);
+	else
+		printf("XXX-INTR: %s: XIV=%u\n", __func__, xiv);
 }
 
 static void
@@ -175,8 +178,11 @@ ia64_intr_mask(void *arg)
 
 	i = ia64_intrs[xiv];
 	KASSERT(i != NULL, ("%s", __func__));
-	sapic_mask(i->sapic, i->irq);
-	sapic_eoi(i->sapic, xiv);
+	if (i->sapic != NULL) {
+		sapic_mask(i->sapic, i->irq);
+		sapic_eoi(i->sapic, xiv);
+	} else
+		printf("XXX-INTR: %s: XIV=%u\n", __func__, xiv);
 }
 
 static void
@@ -187,7 +193,10 @@ ia64_intr_unmask(void *arg)
 
 	i = ia64_intrs[xiv];
 	KASSERT(i != NULL, ("%s", __func__));
-	sapic_unmask(i->sapic, i->irq);
+	if (i->sapic != NULL)
+		sapic_unmask(i->sapic, i->irq);
+	else
+		printf("XXX-INTR: %s: XIV=%u\n", __func__, xiv);
 }
 
 static int
@@ -350,7 +359,8 @@ ia64_bind_intr(void)
 			cpu = (cpu == 0) ? MAXCPU - 1 : cpu - 1;
 			pc = cpuid_to_pcpu[cpu];
 		} while (pc == NULL || !pc->pc_md.awake);
-		sapic_bind_intr(i->irq, pc);
+		if (i->sapic != NULL)
+			sapic_bind_intr(i->irq, pc);
 	}
 }
 
@@ -378,8 +388,6 @@ ia64_handle_intr(struct trapframe *tf)
 	critical_enter();
 
 	do {
-		CTR2(KTR_INTR, "INTR: ITC=%u, XIV=%u",
-		    (u_int)tf->tf_special.ifa, xiv);
 		(ia64_handler[xiv])(td, xiv, tf);
 		ia64_set_eoi(0);
 		ia64_srlz_d();
@@ -415,6 +423,8 @@ ia64_ih_irq(struct thread *td, u_int xiv
 
 	PCPU_INC(md.stats.pcs_nhwints);
 
+	printf("INTR: ITC=%u, XIV=%u", (u_int)tf->tf_special.ifa, xiv);
+
 	/* Find the interrupt thread for this XIV. */
 	i = ia64_intrs[xiv];
 	KASSERT(i != NULL, ("%s: unassigned XIV", __func__));
@@ -442,7 +452,10 @@ db_print_xiv(u_int xiv, int always)
 	i = ia64_intrs[xiv];
 	if (i != NULL) {
 		db_printf("XIV %u (%p): ", xiv, i);
-		sapic_print(i->sapic, i->irq);
+		if (i->sapic != NULL)
+			sapic_print(i->sapic, i->irq);
+		else
+			db_printf("\n");
 	} else if (always)
 		db_printf("XIV %u: unassigned\n", xiv);
 }

From owner-svn-src-projects@FreeBSD.ORG  Mon Apr 25 22:32:10 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id EEF8D106564A;
	Mon, 25 Apr 2011 22:32:10 +0000 (UTC)
	(envelope-from linimon@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id DE79F8FC12;
	Mon, 25 Apr 2011 22:32:10 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3PMWAvI095172;
	Mon, 25 Apr 2011 22:32:10 GMT (envelope-from linimon@svn.freebsd.org)
Received: (from linimon@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3PMWAnn095170;
	Mon, 25 Apr 2011 22:32:10 GMT (envelope-from linimon@svn.freebsd.org)
Message-Id: <201104252232.p3PMWAnn095170@svn.freebsd.org>
From: Mark Linimon <linimon@FreeBSD.org>
Date: Mon, 25 Apr 2011 22:32:10 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221033 - projects/portbuild/scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 25 Apr 2011 22:32:11 -0000

Author: linimon (doc,ports committer)
Date: Mon Apr 25 22:32:10 2011
New Revision: 221033
URL: http://svn.freebsd.org/changeset/base/221033

Log:
  Generalize path to qmanager.  This is copied from production on -west.

Modified:
  projects/portbuild/scripts/dopackages

Modified: projects/portbuild/scripts/dopackages
==============================================================================
--- projects/portbuild/scripts/dopackages	Mon Apr 25 22:22:51 2011	(r221032)
+++ projects/portbuild/scripts/dopackages	Mon Apr 25 22:32:10 2011	(r221033)
@@ -237,7 +237,7 @@ dobuild() {
     echo "================================================"
     echo "started at $(date)"
     start=$(date +%s)
-    ${pb}/qmanager/packagebuild ${arch} ${branch} ${buildid} > ${builddir}/${journalname} 2>&1 < /dev/null
+    ${QMANAGER_PATH}/packagebuild ${arch} ${branch} ${buildid} > ${builddir}/${journalname} 2>&1 < /dev/null
     result=$?
     if [ $result -ne 0 ]; then
         echo "ERROR: packagebuild ${arch} ${branch} ${buildid} failed: see ${builddir}/${journalname} for details"

From owner-svn-src-projects@FreeBSD.ORG  Mon Apr 25 22:36:43 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 9F2C01065680;
	Mon, 25 Apr 2011 22:36:43 +0000 (UTC)
	(envelope-from linimon@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 74B888FC17;
	Mon, 25 Apr 2011 22:36:43 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3PMahXV095337;
	Mon, 25 Apr 2011 22:36:43 GMT (envelope-from linimon@svn.freebsd.org)
Received: (from linimon@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3PMahSh095336;
	Mon, 25 Apr 2011 22:36:43 GMT (envelope-from linimon@svn.freebsd.org)
Message-Id: <201104252236.p3PMahSh095336@svn.freebsd.org>
From: Mark Linimon <linimon@FreeBSD.org>
Date: Mon, 25 Apr 2011 22:36:43 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221034 - projects/portbuild/scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 25 Apr 2011 22:36:43 -0000

Author: linimon (doc,ports committer)
Date: Mon Apr 25 22:36:43 2011
New Revision: 221034
URL: http://svn.freebsd.org/changeset/base/221034

Log:
  This is long obsolete.

Deleted:
  projects/portbuild/scripts/releasemachine

From owner-svn-src-projects@FreeBSD.ORG  Mon Apr 25 22:38:28 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 693E910657C3;
	Mon, 25 Apr 2011 22:38:28 +0000 (UTC)
	(envelope-from linimon@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 3EC818FC1A;
	Mon, 25 Apr 2011 22:38:28 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3PMcSBX095458;
	Mon, 25 Apr 2011 22:38:28 GMT (envelope-from linimon@svn.freebsd.org)
Received: (from linimon@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3PMcSxj095457;
	Mon, 25 Apr 2011 22:38:28 GMT (envelope-from linimon@svn.freebsd.org)
Message-Id: <201104252238.p3PMcSxj095457@svn.freebsd.org>
From: Mark Linimon <linimon@FreeBSD.org>
Date: Mon, 25 Apr 2011 22:38:28 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221036 - projects/portbuild/scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 25 Apr 2011 22:38:28 -0000

Author: linimon (doc,ports committer)
Date: Mon Apr 25 22:38:27 2011
New Revision: 221036
URL: http://svn.freebsd.org/changeset/base/221036

Log:
  This has not been used for quite some time.

Deleted:
  projects/portbuild/scripts/prunebad

From owner-svn-src-projects@FreeBSD.ORG  Mon Apr 25 22:39:59 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 4987B1065675;
	Mon, 25 Apr 2011 22:39:59 +0000 (UTC)
	(envelope-from linimon@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 395018FC13;
	Mon, 25 Apr 2011 22:39:59 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3PMdx9t095533;
	Mon, 25 Apr 2011 22:39:59 GMT (envelope-from linimon@svn.freebsd.org)
Received: (from linimon@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3PMdxRA095531;
	Mon, 25 Apr 2011 22:39:59 GMT (envelope-from linimon@svn.freebsd.org)
Message-Id: <201104252239.p3PMdxRA095531@svn.freebsd.org>
From: Mark Linimon <linimon@FreeBSD.org>
Date: Mon, 25 Apr 2011 22:39:59 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221037 - projects/portbuild/conf
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 25 Apr 2011 22:39:59 -0000

Author: linimon (doc,ports committer)
Date: Mon Apr 25 22:39:58 2011
New Revision: 221037
URL: http://svn.freebsd.org/changeset/base/221037

Log:
  Add path to qmanager.  Has been running in production on -west for
  quite some time.

Modified:
  projects/portbuild/conf/server.conf

Modified: projects/portbuild/conf/server.conf
==============================================================================
--- projects/portbuild/conf/server.conf	Mon Apr 25 22:38:27 2011	(r221036)
+++ projects/portbuild/conf/server.conf	Mon Apr 25 22:39:58 2011	(r221037)
@@ -72,6 +72,7 @@ PDISPATCH_TIMEOUT=360000
 # qmanager definitions (note: Python script, so avoid {})
 #
 
+QMANAGER_PATH=/var/portbuild/evil/qmanager
 QMANAGER_DATABASE_FILE=qdb.sl3
 QMANAGER_SOCKET_FILE=/tmp/.qmgr
 

From owner-svn-src-projects@FreeBSD.ORG  Mon Apr 25 22:53:55 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 09A23106566B;
	Mon, 25 Apr 2011 22:53:55 +0000 (UTC)
	(envelope-from linimon@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id D30DC8FC19;
	Mon, 25 Apr 2011 22:53:54 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3PMrskI095963;
	Mon, 25 Apr 2011 22:53:54 GMT (envelope-from linimon@svn.freebsd.org)
Received: (from linimon@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3PMrsTw095962;
	Mon, 25 Apr 2011 22:53:54 GMT (envelope-from linimon@svn.freebsd.org)
Message-Id: <201104252253.p3PMrsTw095962@svn.freebsd.org>
From: Mark Linimon <linimon@FreeBSD.org>
Date: Mon, 25 Apr 2011 22:53:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221038 - projects/portbuild/crontabs
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 25 Apr 2011 22:53:55 -0000

Author: linimon (doc,ports committer)
Date: Mon Apr 25 22:53:54 2011
New Revision: 221038
URL: http://svn.freebsd.org/changeset/base/221038

Log:
  Sample crontabs on pointyhat instances.

Added:
  projects/portbuild/crontabs/
  projects/portbuild/crontabs/root

Added: projects/portbuild/crontabs/root
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/portbuild/crontabs/root	Mon Apr 25 22:53:54 2011	(r221038)
@@ -0,0 +1,33 @@
+PATH=/root/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/var/portbuild/scripts
+TERM=xterm
+
+#
+# Update logs
+#
+2,12,22,32,42,52 * * * * su ports-i386 -c "lockf -k -t 0 /var/portbuild/errorlogs/lock /var/portbuild/scripts/dologs i386" > /dev/null 2>&1
+5,15,25,35,45,55 * * * * su ports-sparc64 -c "lockf -k -t 0 /var/portbuild/errorlogs/lock /var/portbuild/scripts/dologs sparc64" > /dev/null 2>&1
+6,16,26,36,46,56 * * * * su ports-ia64 -c "lockf -k -t 0 /var/portbuild/errorlogs/lock /var/portbuild/scripts/dologs ia64" > /dev/null 2>&1
+8,18,28,38,48,58 * * * * su ports-amd64 -c "lockf -k -t 0 /var/portbuild/errorlogs/lock /var/portbuild/scripts/dologs amd64" > /dev/null 2>&1
+0,10,20,30,40,50 * * * * su ports-powerpc -c "lockf -k -t 0 /var/portbuild/errorlogs/lock /var/portbuild/scripts/dologs powerpc" > /dev/null 2>&1
+#
+# Compress old logs to save space
+#
+# XXX MCL this is totally naive and livelocks the machine.  XXX TODO
+50 5 * * * lockf -t 0 -k /var/run/busybusybusy.lock find /var/portbuild/*/archive/ -name \*.log -mtime +7 | xargs bzip2 -9f
+#
+# Clean up old chroots on client machines
+30 * * * * /var/portbuild/scripts/do-cleanup-chroots
+
+# Backup ZFS filesystems
+# XXX MCL script not yet converted
+#50 4 * * * lockf -t 0 -k /var/run/busybusybusy.lock /var/portbuild/scripts/zbackup
+
+# Expire old ZFS snapshots
+# XXX MCL script not yet converted
+#50 3 * * * lockf -t 0 -k /var/run/busybusybusy.lock /var/portbuild/scripts/zexpire
+
+# CVS update of ports
+0 */3 * * * lockf -t 0 -k /var/run/updatesnap.ports.lock /var/portbuild/scripts/updatesnap.ports
+# CVS update of src
+# NOTE: temporarily halt this whenever RELENG_X is being tagged
+0 2 * * * lockf -t 0 -k /var/run/updatesnap.lock /var/portbuild/scripts/updatesnap

From owner-svn-src-projects@FreeBSD.ORG  Mon Apr 25 22:56:54 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 43C7E106564A;
	Mon, 25 Apr 2011 22:56:54 +0000 (UTC)
	(envelope-from linimon@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 338E18FC12;
	Mon, 25 Apr 2011 22:56:54 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3PMusbg096088;
	Mon, 25 Apr 2011 22:56:54 GMT (envelope-from linimon@svn.freebsd.org)
Received: (from linimon@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3PMusYn096086;
	Mon, 25 Apr 2011 22:56:54 GMT (envelope-from linimon@svn.freebsd.org)
Message-Id: <201104252256.p3PMusYn096086@svn.freebsd.org>
From: Mark Linimon <linimon@FreeBSD.org>
Date: Mon, 25 Apr 2011 22:56:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221039 - projects/portbuild/conf
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 25 Apr 2011 22:56:54 -0000

Author: linimon (doc,ports committer)
Date: Mon Apr 25 22:56:53 2011
New Revision: 221039
URL: http://svn.freebsd.org/changeset/base/221039

Log:
  Another minor comment change from production.

Modified:
  projects/portbuild/conf/README.dotunnel

Modified: projects/portbuild/conf/README.dotunnel
==============================================================================
--- projects/portbuild/conf/README.dotunnel	Mon Apr 25 22:53:54 2011	(r221038)
+++ projects/portbuild/conf/README.dotunnel	Mon Apr 25 22:56:53 2011	(r221039)
@@ -7,8 +7,7 @@ do <hardcoded-tunnel-stuff>; done".  Oth
 there's a problem with this.  When the tunnel command exits, such as if
 the host suddenly becoming unreachable, it doesn't send mail -- instead
 it just accumulates a huge file in /var/spool/clientmqueue which never
-gets sent.  To add insult to injury, /var is on the root partition on
-pointyhat.
+gets sent.  To add insult to injury, /var is on our root partition.
 
 To cure these problems, we now have
 

From owner-svn-src-projects@FreeBSD.ORG  Mon Apr 25 23:38:52 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id EC1CD106566C;
	Mon, 25 Apr 2011 23:38:52 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id D92C38FC13;
	Mon, 25 Apr 2011 23:38:52 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3PNcqLD097431;
	Mon, 25 Apr 2011 23:38:52 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3PNcqWx097429;
	Mon, 25 Apr 2011 23:38:52 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104252338.p3PNcqWx097429@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Mon, 25 Apr 2011 23:38:52 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221042 - projects/altix/sys/ia64/include
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 25 Apr 2011 23:38:53 -0000

Author: marcel
Date: Mon Apr 25 23:38:52 2011
New Revision: 221042
URL: http://svn.freebsd.org/changeset/base/221042

Log:
  Add an IVAR for acknowledging/clearing an Shub event. This should
  eventually be replaced by having the SHub driver also be a PIC and
  have events acknowledged/cleared using EOI handshaking.

Modified:
  projects/altix/sys/ia64/include/sgisn.h

Modified: projects/altix/sys/ia64/include/sgisn.h
==============================================================================
--- projects/altix/sys/ia64/include/sgisn.h	Mon Apr 25 23:34:21 2011	(r221041)
+++ projects/altix/sys/ia64/include/sgisn.h	Mon Apr 25 23:38:52 2011	(r221042)
@@ -50,6 +50,9 @@
 
 #define	SHUB_IVAR_PCIBUS	1
 #define	SHUB_IVAR_PCISEG	2
+#define	SHUB_IVAR_EVENT		3
+
+#define	SHUB_EVENT_CONSOLE	0x100000
 
 struct sgisn_geoid {
 	uint32_t	sg_module;

From owner-svn-src-projects@FreeBSD.ORG  Mon Apr 25 23:51:27 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 2DBFD106564A;
	Mon, 25 Apr 2011 23:51:27 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 12C478FC18;
	Mon, 25 Apr 2011 23:51:27 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3PNpQWk097830;
	Mon, 25 Apr 2011 23:51:26 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3PNpQHF097825;
	Mon, 25 Apr 2011 23:51:26 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104252351.p3PNpQHF097825@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Mon, 25 Apr 2011 23:51:26 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221043 - projects/altix/sys/ia64/sgisn
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 25 Apr 2011 23:51:27 -0000

Author: marcel
Date: Mon Apr 25 23:51:26 2011
New Revision: 221043
URL: http://svn.freebsd.org/changeset/base/221043

Log:
  More WIP dumping:
  o   In sgisn_pcib.c setup a timeout to monitor the value of the int.
      status register and print its value when it has changed. Print
      the values of the IRR registers to see if there's a discrepancy
      between the I/O controller and the CPU.
  o   In sgisn_shub.c, intercept resource related methods and pass them
      up to nexus as if coming from the shub controller. This avoids
      panics and makes bus_set_resource() work for the console driver.
      It's kinda klugy, but has a good bang-for-the-buck ratio.
  o   Implement sgisn_shub_write_ivar for SHUB_IVAR_EVENT and clear
      the event bits given by value.
  o   In sgisn_console.c, implement the RX interrupt. This actually
      works. We can type the alternate break sequence and break into
      the kernel debugger. Yay!

Modified:
  projects/altix/sys/ia64/sgisn/sgisn_console.c
  projects/altix/sys/ia64/sgisn/sgisn_pcib.c
  projects/altix/sys/ia64/sgisn/sgisn_shub.c
  projects/altix/sys/ia64/sgisn/sgisn_shub.h

Modified: projects/altix/sys/ia64/sgisn/sgisn_console.c
==============================================================================
--- projects/altix/sys/ia64/sgisn/sgisn_console.c	Mon Apr 25 23:38:52 2011	(r221042)
+++ projects/altix/sys/ia64/sgisn/sgisn_console.c	Mon Apr 25 23:51:26 2011	(r221043)
@@ -27,12 +27,15 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
+#include "opt_comconsole.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
 #include <sys/bus.h>
 #include <sys/cons.h>
 #include <sys/interrupt.h>
+#include <sys/kdb.h>
 #include <sys/module.h>
 #include <sys/rman.h>
 #include <sys/tty.h>
@@ -47,6 +50,7 @@ struct sncon_softc {
 	void		*sc_icookie;
 	void		*sc_softih;
 	int		sc_irid;
+	int		sc_altbrk;
 };
 
 static char sncon_name[] = "sncon";
@@ -206,9 +210,9 @@ sncon_tty_param(struct tty *tp, struct t
  * Device section.
  */
 
-static int sncon_attach(device_t);
-static int sncon_detach(device_t);
-static int sncon_probe(device_t);
+static int  sncon_attach(device_t);
+static int  sncon_detach(device_t);
+static int  sncon_probe(device_t);
 
 static device_method_t sncon_methods[] = {
 	DEVMETHOD(device_attach,	sncon_attach),
@@ -230,6 +234,56 @@ DRIVER_MODULE(sncon, shub, sncon_driver,
 static void
 sncon_rx_intr(void *arg)
 {
+	struct sncon_softc *sc = arg;
+	struct ia64_sal_result r;
+	struct tty *tp;
+	int ch, count;
+
+	count = 0;
+	tp = sc->sc_tp;
+	tty_lock(tp);
+	do {
+		r = ia64_sal_entry(SAL_SGISN_POLL, 0, 0, 0, 0, 0, 0, 0);
+		if (r.sal_status || r.sal_result[0] == 0)
+			break;
+
+		r = ia64_sal_entry(SAL_SGISN_GETC, 0, 0, 0, 0, 0, 0, 0);
+		if (r.sal_status != 0)
+			break;
+
+		ch = r.sal_result[0];
+
+#if defined(KDB) && defined(ALT_BREAK_TO_DEBUGGER)
+		do {
+			int kdb;
+			kdb = kdb_alt_break(ch, &sc->sc_altbrk);
+			if (kdb != 0) {
+				switch (kdb) {
+				case KDB_REQ_DEBUGGER:
+					kdb_enter(KDB_WHY_BREAK,
+					    "Break sequence on console");
+					break;
+				case KDB_REQ_PANIC:
+					kdb_panic("Panic sequence on console");
+					break;
+				case KDB_REQ_REBOOT:
+					kdb_reboot();
+					break;
+				}
+			}
+		} while (0);
+#endif
+
+		ttydisc_rint(tp, ch, 0);
+		count++;
+	} while (count < 128);
+	if (count > 0)
+		ttydisc_rint_done(tp);
+	tty_unlock(tp);
+
+	/* Acknowledge handling of Shub event. */
+	BUS_WRITE_IVAR(device_get_parent(sc->sc_dev), sc->sc_dev,
+	    SHUB_IVAR_EVENT, SHUB_EVENT_CONSOLE);
 }
 
 static void
@@ -248,11 +302,6 @@ sncon_attach(device_t dev)
 	sc->sc_dev = dev;
 
 	do {
-		/* Enable RX interrupts. */
-		r = ia64_sal_entry(SAL_SGISN_CON_INTR, 2, 1, 0, 0, 0, 0, 0);
-		if (r.sal_status != 0)
-			break;
-
 		sc->sc_irid = 0;
 		sc->sc_ires = bus_alloc_resource_any(dev, SYS_RES_IRQ,
 		    &sc->sc_irid, RF_ACTIVE | RF_SHAREABLE);
@@ -270,10 +319,9 @@ sncon_attach(device_t dev)
 		}
 	} while (0);
 
-	if (sc->sc_ires == NULL) {
-		/* Disable RX interrupts. */
-		r = ia64_sal_entry(SAL_SGISN_CON_INTR, 2, 0, 0, 0, 0, 0, 0);
-	}
+	/* Enable or disable RX interrupts appropriately. */
+	r = ia64_sal_entry(SAL_SGISN_CON_INTR, 2,
+	    (sc->sc_ires != NULL) ? 1 : 0, 0, 0, 0, 0, 0);
 
 	swi_add(&tty_intr_event, sncon_name, sncon_tx_intr, sc, SWI_TTY,
 	    INTR_TYPE_TTY, &sc->sc_softih);
@@ -300,13 +348,13 @@ sncon_detach(device_t dev)
 	tty_rel_gone(tp);
 
 	if (sc->sc_ires != NULL) {
+		/* Disable RX interrupts. */
+		r = ia64_sal_entry(SAL_SGISN_CON_INTR, 2, 0, 0, 0, 0, 0, 0);
+
 		bus_teardown_intr(dev, sc->sc_ires, sc->sc_icookie);
 		bus_release_resource(dev, SYS_RES_IRQ, sc->sc_irid,
 		    sc->sc_ires);
 	}
-
-	/* Disable Tx & Rx interrupts. */
-	r = ia64_sal_entry(SAL_SGISN_CON_INTR, 2, 0, 0, 0, 0, 0, 0);
 	return (0);
 }
 
@@ -314,12 +362,17 @@ static int
 sncon_probe(device_t dev)
 {
 	struct ia64_sal_result r;
+	int error;
  
 	r = ia64_sal_entry(SAL_SGISN_SN_INFO, 0, 0, 0, 0, 0, 0, 0);
 	if (r.sal_status != 0)
 		return (ENXIO);
 
-	bus_set_resource(dev, SYS_RES_IRQ, 0, 0xe9, 1);
+	error = bus_set_resource(dev, SYS_RES_IRQ, 0, 0xe9, 1);
+	if (error) {
+		device_printf(dev, "Can't set IRQ (error=%d)\n", error);
+		return (error);
+	}
 	device_set_desc_copy(dev, "SGI L1 console");
 	return (0);
 }

Modified: projects/altix/sys/ia64/sgisn/sgisn_pcib.c
==============================================================================
--- projects/altix/sys/ia64/sgisn/sgisn_pcib.c	Mon Apr 25 23:38:52 2011	(r221042)
+++ projects/altix/sys/ia64/sgisn/sgisn_pcib.c	Mon Apr 25 23:51:26 2011	(r221043)
@@ -264,6 +264,24 @@ sgisn_pcib_probe(device_t dev)
 	return (BUS_PROBE_DEFAULT);
 }
 
+static void
+sgisn_pcib_callout(void *arg)
+{
+	static u_long islast = ~0UL;
+	struct sgisn_pcib_softc *sc = arg;
+	u_long is;
+
+	is = bus_space_read_8(sc->sc_tag, sc->sc_hndl, PIC_REG_INT_STATUS);
+	if (is != islast) {
+		islast = is;
+		printf("XXX: %s: INTR status = %lu, IRR=%#lx:%#lx:%#lx:%#lx\n",
+		    __func__, is, ia64_get_irr0(), ia64_get_irr1(),
+		    ia64_get_irr2(), ia64_get_irr3());
+	}
+
+	timeout(sgisn_pcib_callout, sc, hz);
+}
+
 static int
 sgisn_pcib_attach(device_t dev)
 {
@@ -306,6 +324,8 @@ sgisn_pcib_attach(device_t dev)
 	sgisn_pcib_scan(sc, sc->sc_busnr, sgisn_pcib_maxslots(dev));
 #endif
 
+	timeout(sgisn_pcib_callout, sc, hz);
+
 	device_add_child(dev, "pci", -1);
 	return (bus_generic_attach(dev));
 }

Modified: projects/altix/sys/ia64/sgisn/sgisn_shub.c
==============================================================================
--- projects/altix/sys/ia64/sgisn/sgisn_shub.c	Mon Apr 25 23:38:52 2011	(r221042)
+++ projects/altix/sys/ia64/sgisn/sgisn_shub.c	Mon Apr 25 23:51:26 2011	(r221043)
@@ -72,28 +72,38 @@ static int sgisn_shub_probe(device_t);
 
 static int sgisn_shub_activate_resource(device_t, device_t, int, int,
     struct resource *);
-static int sgisn_shub_read_ivar(device_t, device_t, int, uintptr_t *);
-static int sgisn_shub_write_ivar(device_t, device_t, int, uintptr_t);
 static struct resource *sgisn_shub_alloc_resource(device_t, device_t, int,
     int *, u_long, u_long, u_long, u_int);
+static void sgisn_shub_delete_resource(device_t, device_t, int, int);
+static int sgisn_shub_get_resource(device_t, device_t, int, int, u_long *,
+    u_long *);
+static int sgisn_shub_read_ivar(device_t, device_t, int, uintptr_t *);
+static int sgisn_shub_release_resource(device_t, device_t, int, int,
+    struct resource *);
+static int sgisn_shub_set_resource(device_t, device_t, int, int, u_long,
+    u_long);
+static int sgisn_shub_write_ivar(device_t, device_t, int, uintptr_t);
 
 /*
  * Bus interface definitions.
  */
 static device_method_t sgisn_shub_methods[] = {
 	/* Device interface */
+	DEVMETHOD(device_attach,	sgisn_shub_attach),
 	DEVMETHOD(device_identify,	sgisn_shub_identify),
 	DEVMETHOD(device_probe,		sgisn_shub_probe),
-	DEVMETHOD(device_attach,	sgisn_shub_attach),
 
 	/* Bus interface */
-        DEVMETHOD(bus_read_ivar,	sgisn_shub_read_ivar),
-        DEVMETHOD(bus_write_ivar,	sgisn_shub_write_ivar),
+	DEVMETHOD(bus_read_ivar,	sgisn_shub_read_ivar),
+	DEVMETHOD(bus_write_ivar,	sgisn_shub_write_ivar),
 	DEVMETHOD(bus_print_child,	bus_generic_print_child),
-	DEVMETHOD(bus_alloc_resource,	sgisn_shub_alloc_resource),
-	DEVMETHOD(bus_release_resource,	bus_generic_release_resource),
 	DEVMETHOD(bus_activate_resource, sgisn_shub_activate_resource),
+	DEVMETHOD(bus_alloc_resource,	sgisn_shub_alloc_resource),
 	DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource),
+	DEVMETHOD(bus_delete_resource,	sgisn_shub_delete_resource),
+	DEVMETHOD(bus_get_resource,	sgisn_shub_get_resource),
+	DEVMETHOD(bus_release_resource,	sgisn_shub_release_resource),
+	DEVMETHOD(bus_set_resource,	sgisn_shub_set_resource),
 	DEVMETHOD(bus_setup_intr,	bus_generic_setup_intr),
 	DEVMETHOD(bus_teardown_intr,	bus_generic_teardown_intr),
 
@@ -193,6 +203,53 @@ sgisn_shub_activate_resource(device_t de
 	return (EDOOFUS);
 }
 
+static struct resource *
+sgisn_shub_alloc_resource(device_t dev, device_t child, int type, int *rid,
+    u_long start, u_long end, u_long count, u_int flags)
+{
+	struct resource *res;
+
+	res = bus_alloc_resource(dev, type, rid, start, end, count, flags);
+	return (res);
+}
+
+static void
+sgisn_shub_delete_resource(device_t dev, device_t child, int type, int rid)
+{
+ 
+	bus_delete_resource(dev, type, rid);
+}
+
+static int
+sgisn_shub_get_resource(device_t dev, device_t child, int type, int rid,
+    u_long *startp, u_long *countp)
+{
+	int error;
+
+	error = bus_get_resource(dev, type, rid, startp, countp);
+	return (error);
+}
+
+static int
+sgisn_shub_release_resource(device_t dev, device_t child, int type, int rid,
+    struct resource *r)
+{
+	int error;
+
+	error = bus_release_resource(dev, type, rid, r);
+	return (error);
+}
+
+static int
+sgisn_shub_set_resource(device_t dev, device_t child, int type, int rid,
+    u_long start, u_long count)
+{
+	int error;
+
+	error =  bus_set_resource(dev, type, rid, start, count);
+	return (error);
+}
+
 #if 0
 static void
 sgisn_shub_dump_sn_info(struct ia64_sal_result *r)
@@ -476,17 +533,17 @@ sgisn_shub_read_ivar(device_t dev, devic
 static int
 sgisn_shub_write_ivar(device_t dev, device_t child, int which, uintptr_t value)
 {
-// XXX	struct sgisn_shub_softc *sc = device_get_softc(dev);
-
-	return (ENOENT);
-}
+	struct sgisn_shub_softc *sc = device_get_softc(dev);
+	uint64_t ev;
 
-static struct resource *
-sgisn_shub_alloc_resource(device_t dev, device_t child, int type, int *rid,
-    u_long start, u_long end, u_long count, u_int flags)
-{
-	struct resource *res;
+	if (which != SHUB_IVAR_EVENT)
+		return (ENOENT);
 
-	res = bus_alloc_resource(dev, type, rid, start, end, count, flags);
-	return (res);
+	ev = bus_space_read_8(sc->sc_tag, sc->sc_hndl, SHUB_MMR_EVENT);
+	if (ev & value)
+		bus_space_write_8(sc->sc_tag, sc->sc_hndl, SHUB_MMR_EVENT_WR,
+		    value);
+	device_printf(dev, "XXX: %s: child=%p, event=%lx, mask=%lx\n",
+	    __func__, child, ev, value);
+	return (0);
 }

Modified: projects/altix/sys/ia64/sgisn/sgisn_shub.h
==============================================================================
--- projects/altix/sys/ia64/sgisn/sgisn_shub.h	Mon Apr 25 23:38:52 2011	(r221042)
+++ projects/altix/sys/ia64/sgisn/sgisn_shub.h	Mon Apr 25 23:51:26 2011	(r221043)
@@ -39,6 +39,7 @@
 #define	SHUB_MMR_RTC3_ICFG	0x10001680
 #define	SHUB_MMR_RTC3_IENA	0x10001700
 #define	SHUB_MMR_EVENT		0x10010000
+#define	SHUB_MMR_EVENT_WR	0x10010008
 #define	SHUB_MMR_IPI_ACC	0x10060480
 #define	SHUB_MMR_ID		0x10060580
 #define	SHUB_MMR_PTC_CFG0	0x101a0000

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 00:08:51 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 305EA106566B;
	Tue, 26 Apr 2011 00:08:51 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 20A908FC13;
	Tue, 26 Apr 2011 00:08:51 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3Q08pZI098385;
	Tue, 26 Apr 2011 00:08:51 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3Q08pGf098383;
	Tue, 26 Apr 2011 00:08:51 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104260008.p3Q08pGf098383@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Tue, 26 Apr 2011 00:08:51 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221044 - projects/altix/sys/ia64/ia64
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 00:08:51 -0000

Author: marcel
Date: Tue Apr 26 00:08:50 2011
New Revision: 221044
URL: http://svn.freebsd.org/changeset/base/221044

Log:
  Add missing newline in debugging output.

Modified:
  projects/altix/sys/ia64/ia64/interrupt.c

Modified: projects/altix/sys/ia64/ia64/interrupt.c
==============================================================================
--- projects/altix/sys/ia64/ia64/interrupt.c	Mon Apr 25 23:51:26 2011	(r221043)
+++ projects/altix/sys/ia64/ia64/interrupt.c	Tue Apr 26 00:08:50 2011	(r221044)
@@ -423,7 +423,7 @@ ia64_ih_irq(struct thread *td, u_int xiv
 
 	PCPU_INC(md.stats.pcs_nhwints);
 
-	printf("INTR: ITC=%u, XIV=%u", (u_int)tf->tf_special.ifa, xiv);
+	printf("INTR: ITC=%u, XIV=%u\n", (u_int)tf->tf_special.ifa, xiv);
 
 	/* Find the interrupt thread for this XIV. */
 	i = ia64_intrs[xiv];

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 00:20:05 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 6061F1065675;
	Tue, 26 Apr 2011 00:20:05 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 3D5EB8FC0A;
	Tue, 26 Apr 2011 00:20:05 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3Q0K5FZ098832;
	Tue, 26 Apr 2011 00:20:05 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3Q0K4bM098805;
	Tue, 26 Apr 2011 00:20:04 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104260020.p3Q0K4bM098805@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Tue, 26 Apr 2011 00:20:04 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221045 - in projects/altix/sys: amd64/amd64 amd64/conf
	amd64/include arm/at91 arm/conf arm/econa arm/mv/orion
	arm/xscale/i8134x boot/fdt/dts boot/forth
	boot/i386/gptzfsboot boot/i386/z...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 00:20:05 -0000

Author: marcel
Date: Tue Apr 26 00:20:04 2011
New Revision: 221045
URL: http://svn.freebsd.org/changeset/base/221045

Log:
  Merge svn+ssh://svn.freebsd.org/base/head@221044

Added:
  projects/altix/sys/arm/conf/TS7800
     - copied unchanged from r221044, head/sys/arm/conf/TS7800
  projects/altix/sys/arm/mv/orion/files.ts7800
     - copied unchanged from r221044, head/sys/arm/mv/orion/files.ts7800
  projects/altix/sys/arm/mv/orion/std.ts7800
     - copied unchanged from r221044, head/sys/arm/mv/orion/std.ts7800
  projects/altix/sys/boot/fdt/dts/ts7800.dts
     - copied unchanged from r221044, head/sys/boot/fdt/dts/ts7800.dts
  projects/altix/sys/contrib/dev/acpica/compiler/dtparser.l
     - copied unchanged from r221044, head/sys/contrib/dev/acpica/compiler/dtparser.l
  projects/altix/sys/contrib/dev/acpica/compiler/dtparser.y
     - copied unchanged from r221044, head/sys/contrib/dev/acpica/compiler/dtparser.y
  projects/altix/sys/contrib/dev/acpica/events/evglock.c
     - copied unchanged from r221044, head/sys/contrib/dev/acpica/events/evglock.c
  projects/altix/sys/contrib/dev/iwn/iwlwifi-1000-39.31.5.1.fw.uu
     - copied unchanged from r221044, head/sys/contrib/dev/iwn/iwlwifi-1000-39.31.5.1.fw.uu
  projects/altix/sys/contrib/dev/iwn/iwlwifi-5000-8.83.5.1.fw.uu
     - copied unchanged from r221044, head/sys/contrib/dev/iwn/iwlwifi-5000-8.83.5.1.fw.uu
  projects/altix/sys/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.2.fw.uu
     - copied unchanged from r221044, head/sys/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.2.fw.uu
  projects/altix/sys/contrib/dev/iwn/iwlwifi-6000g2b-17.168.5.2.fw.uu
     - copied unchanged from r221044, head/sys/contrib/dev/iwn/iwlwifi-6000g2b-17.168.5.2.fw.uu
  projects/altix/sys/contrib/dev/iwn/iwlwifi-6050-41.28.5.1.fw.uu
     - copied unchanged from r221044, head/sys/contrib/dev/iwn/iwlwifi-6050-41.28.5.1.fw.uu
  projects/altix/sys/dev/ath/ath_hal/ar9002/ar9285_diversity.c
     - copied unchanged from r221044, head/sys/dev/ath/ath_hal/ar9002/ar9285_diversity.c
  projects/altix/sys/dev/ath/ath_hal/ar9002/ar9285_diversity.h
     - copied unchanged from r221044, head/sys/dev/ath/ath_hal/ar9002/ar9285_diversity.h
  projects/altix/sys/dev/ath/ath_hal/ar9002/ar9285_phy.c
     - copied unchanged from r221044, head/sys/dev/ath/ath_hal/ar9002/ar9285_phy.c
  projects/altix/sys/dev/ath/ath_hal/ar9002/ar9285_phy.h
     - copied unchanged from r221044, head/sys/dev/ath/ath_hal/ar9002/ar9285_phy.h
  projects/altix/sys/geom/eli/g_eli_key_cache.c
     - copied unchanged from r221044, head/sys/geom/eli/g_eli_key_cache.c
  projects/altix/sys/geom/geom_map.c
     - copied unchanged from r221044, head/sys/geom/geom_map.c
  projects/altix/sys/modules/iwnfw/iwn6000g2a/
     - copied from r221044, head/sys/modules/iwnfw/iwn6000g2a/
  projects/altix/sys/modules/iwnfw/iwn6000g2b/
     - copied from r221044, head/sys/modules/iwnfw/iwn6000g2b/
  projects/altix/sys/net80211/ieee80211_alq.c
     - copied unchanged from r221044, head/sys/net80211/ieee80211_alq.c
  projects/altix/sys/net80211/ieee80211_alq.h
     - copied unchanged from r221044, head/sys/net80211/ieee80211_alq.h
  projects/altix/sys/nfs/bootp_subr.c
     - copied unchanged from r221044, head/sys/nfs/bootp_subr.c
  projects/altix/sys/nfs/krpc.h
     - copied unchanged from r221044, head/sys/nfs/krpc.h
  projects/altix/sys/nfs/krpc_subr.c
     - copied unchanged from r221044, head/sys/nfs/krpc_subr.c
  projects/altix/sys/nfs/nfs_diskless.c
     - copied unchanged from r221044, head/sys/nfs/nfs_diskless.c
  projects/altix/sys/nfs/nfsdiskless.h
     - copied unchanged from r221044, head/sys/nfs/nfsdiskless.h
Deleted:
  projects/altix/sys/contrib/dev/iwn/iwlwifi-1000-128.50.3.1.fw.uu
  projects/altix/sys/contrib/dev/iwn/iwlwifi-5000-8.24.2.12.fw.uu
  projects/altix/sys/contrib/dev/iwn/iwlwifi-6050-9.201.4.1.fw.uu
  projects/altix/sys/fs/nfsclient/nfsargs.h
  projects/altix/sys/fs/nfsclient/nfsdiskless.h
  projects/altix/sys/nfsclient/bootp_subr.c
  projects/altix/sys/nfsclient/krpc.h
  projects/altix/sys/nfsclient/krpc_subr.c
  projects/altix/sys/nfsclient/nfs_diskless.c
  projects/altix/sys/nfsclient/nfsdiskless.h
Modified:
  projects/altix/sys/amd64/amd64/genassym.c
  projects/altix/sys/amd64/amd64/identcpu.c
  projects/altix/sys/amd64/amd64/machdep.c
  projects/altix/sys/amd64/amd64/pmap.c
  projects/altix/sys/amd64/conf/GENERIC
  projects/altix/sys/amd64/include/clock.h
  projects/altix/sys/amd64/include/cpufunc.h
  projects/altix/sys/amd64/include/pmap.h
  projects/altix/sys/amd64/include/specialreg.h
  projects/altix/sys/arm/at91/at91_wdt.c
  projects/altix/sys/arm/conf/AVILA
  projects/altix/sys/arm/conf/CAMBRIA
  projects/altix/sys/arm/conf/CRB
  projects/altix/sys/arm/conf/DB-78XXX
  projects/altix/sys/arm/conf/DB-88F5XXX
  projects/altix/sys/arm/conf/DB-88F6XXX
  projects/altix/sys/arm/conf/EP80219
  projects/altix/sys/arm/conf/IQ31244
  projects/altix/sys/arm/econa/ehci_ebus.c
  projects/altix/sys/arm/xscale/i8134x/crb_machdep.c
  projects/altix/sys/boot/forth/loader.conf
  projects/altix/sys/boot/i386/gptzfsboot/Makefile
  projects/altix/sys/boot/i386/zfsboot/Makefile
  projects/altix/sys/boot/pc98/boot2/boot2.c
  projects/altix/sys/cam/ata/ata_all.c
  projects/altix/sys/cam/ata/ata_all.h
  projects/altix/sys/cam/ata/ata_da.c
  projects/altix/sys/cam/ata/ata_pmp.c
  projects/altix/sys/cam/ata/ata_xpt.c
  projects/altix/sys/cam/cam_ccb.h
  projects/altix/sys/cam/cam_periph.c
  projects/altix/sys/cam/cam_xpt.c
  projects/altix/sys/cam/scsi/scsi_cd.c
  projects/altix/sys/cam/scsi/scsi_ch.c
  projects/altix/sys/cam/scsi/scsi_da.c
  projects/altix/sys/cam/scsi/scsi_pass.c
  projects/altix/sys/cam/scsi/scsi_pt.c
  projects/altix/sys/cam/scsi/scsi_sa.c
  projects/altix/sys/cam/scsi/scsi_sg.c
  projects/altix/sys/compat/freebsd32/freebsd32_misc.c
  projects/altix/sys/compat/freebsd32/freebsd32_proto.h
  projects/altix/sys/compat/freebsd32/freebsd32_syscall.h
  projects/altix/sys/compat/freebsd32/freebsd32_syscalls.c
  projects/altix/sys/compat/freebsd32/freebsd32_sysent.c
  projects/altix/sys/compat/freebsd32/freebsd32_systrace_args.c
  projects/altix/sys/compat/freebsd32/syscalls.master
  projects/altix/sys/conf/NOTES
  projects/altix/sys/conf/files
  projects/altix/sys/conf/files.amd64
  projects/altix/sys/conf/files.arm
  projects/altix/sys/conf/files.i386
  projects/altix/sys/conf/files.ia64
  projects/altix/sys/conf/files.mips
  projects/altix/sys/conf/files.pc98
  projects/altix/sys/conf/files.powerpc
  projects/altix/sys/conf/files.sparc64
  projects/altix/sys/conf/files.sun4v
  projects/altix/sys/conf/kern.mk
  projects/altix/sys/conf/kern.pre.mk
  projects/altix/sys/conf/kmod.mk
  projects/altix/sys/conf/options
  projects/altix/sys/contrib/dev/acpica/acpica_prep.sh
  projects/altix/sys/contrib/dev/acpica/changes.txt
  projects/altix/sys/contrib/dev/acpica/common/dmtable.c
  projects/altix/sys/contrib/dev/acpica/common/dmtbdump.c
  projects/altix/sys/contrib/dev/acpica/compiler/aslanalyze.c
  projects/altix/sys/contrib/dev/acpica/compiler/aslcompiler.h
  projects/altix/sys/contrib/dev/acpica/compiler/aslcompiler.y
  projects/altix/sys/contrib/dev/acpica/compiler/asldefine.h
  projects/altix/sys/contrib/dev/acpica/compiler/aslglobal.h
  projects/altix/sys/contrib/dev/acpica/compiler/asllookup.c
  projects/altix/sys/contrib/dev/acpica/compiler/aslmain.c
  projects/altix/sys/contrib/dev/acpica/compiler/aslmap.c
  projects/altix/sys/contrib/dev/acpica/compiler/aslmessages.h
  projects/altix/sys/contrib/dev/acpica/compiler/aslpredef.c
  projects/altix/sys/contrib/dev/acpica/compiler/asltypes.h
  projects/altix/sys/contrib/dev/acpica/compiler/aslutils.c
  projects/altix/sys/contrib/dev/acpica/compiler/aslwalks.c
  projects/altix/sys/contrib/dev/acpica/compiler/dtcompile.c
  projects/altix/sys/contrib/dev/acpica/compiler/dtcompiler.h
  projects/altix/sys/contrib/dev/acpica/compiler/dtexpress.c
  projects/altix/sys/contrib/dev/acpica/compiler/dtfield.c
  projects/altix/sys/contrib/dev/acpica/compiler/dtio.c
  projects/altix/sys/contrib/dev/acpica/compiler/dtsubtable.c
  projects/altix/sys/contrib/dev/acpica/compiler/dttable.c
  projects/altix/sys/contrib/dev/acpica/compiler/dttemplate.c
  projects/altix/sys/contrib/dev/acpica/compiler/dttemplate.h
  projects/altix/sys/contrib/dev/acpica/compiler/dtutils.c
  projects/altix/sys/contrib/dev/acpica/debugger/dbdisply.c
  projects/altix/sys/contrib/dev/acpica/dispatcher/dswload.c
  projects/altix/sys/contrib/dev/acpica/dispatcher/dswload2.c
  projects/altix/sys/contrib/dev/acpica/events/evmisc.c
  projects/altix/sys/contrib/dev/acpica/events/evregion.c
  projects/altix/sys/contrib/dev/acpica/events/evrgnini.c
  projects/altix/sys/contrib/dev/acpica/events/evxfregn.c
  projects/altix/sys/contrib/dev/acpica/executer/excreate.c
  projects/altix/sys/contrib/dev/acpica/include/acconfig.h
  projects/altix/sys/contrib/dev/acpica/include/acevents.h
  projects/altix/sys/contrib/dev/acpica/include/acpixf.h
  projects/altix/sys/contrib/dev/acpica/include/actypes.h
  projects/altix/sys/contrib/dev/acpica/include/amlcode.h
  projects/altix/sys/contrib/dev/acpica/namespace/nsrepair.c
  projects/altix/sys/contrib/dev/acpica/utilities/utdecode.c
  projects/altix/sys/dev/acpica/acpi.c
  projects/altix/sys/dev/acpica/acpi_thermal.c
  projects/altix/sys/dev/acpica/acpi_timer.c
  projects/altix/sys/dev/ahci/ahci.c
  projects/altix/sys/dev/ahci/ahci.h
  projects/altix/sys/dev/aic7xxx/aicasm/Makefile
  projects/altix/sys/dev/ata/ata-all.c
  projects/altix/sys/dev/ata/ata-all.h
  projects/altix/sys/dev/ata/ata-lowlevel.c
  projects/altix/sys/dev/ata/ata-pci.h
  projects/altix/sys/dev/ata/chipsets/ata-intel.c
  projects/altix/sys/dev/ath/ath_hal/ah.c
  projects/altix/sys/dev/ath/ath_hal/ah.h
  projects/altix/sys/dev/ath/ath_hal/ah_debug.h
  projects/altix/sys/dev/ath/ath_hal/ah_eeprom_v14.h
  projects/altix/sys/dev/ath/ath_hal/ah_eeprom_v4k.h
  projects/altix/sys/dev/ath/ath_hal/ah_internal.h
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416.h
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
  projects/altix/sys/dev/ath/ath_hal/ar9002/ar9002phy.h
  projects/altix/sys/dev/ath/ath_hal/ar9002/ar9285.h
  projects/altix/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c
  projects/altix/sys/dev/ath/ath_hal/ar9002/ar9285_reset.c
  projects/altix/sys/dev/ath/if_ath.c
  projects/altix/sys/dev/ath/if_ath_sysctl.c
  projects/altix/sys/dev/ath/if_athioctl.h
  projects/altix/sys/dev/ath/if_athvar.h
  projects/altix/sys/dev/bxe/bxe_debug.h
  projects/altix/sys/dev/bxe/bxe_include.h
  projects/altix/sys/dev/bxe/if_bxe.c
  projects/altix/sys/dev/bxe/if_bxe.h
  projects/altix/sys/dev/cas/if_cas.c
  projects/altix/sys/dev/cxgbe/adapter.h
  projects/altix/sys/dev/cxgbe/common/t4_hw.c
  projects/altix/sys/dev/cxgbe/osdep.h
  projects/altix/sys/dev/cxgbe/t4_main.c
  projects/altix/sys/dev/cxgbe/t4_sge.c
  projects/altix/sys/dev/drm/drm_sysctl.c
  projects/altix/sys/dev/esp/ncr53c9x.c
  projects/altix/sys/dev/gem/if_gem.c
  projects/altix/sys/dev/hme/if_hme.c
  projects/altix/sys/dev/hme/if_hmereg.h
  projects/altix/sys/dev/ichwd/ichwd.c
  projects/altix/sys/dev/ichwd/ichwd.h
  projects/altix/sys/dev/ipmi/ipmi.c
  projects/altix/sys/dev/iwn/if_iwn.c
  projects/altix/sys/dev/iwn/if_iwnreg.h
  projects/altix/sys/dev/iwn/if_iwnvar.h
  projects/altix/sys/dev/ixgbe/ixgbe.c
  projects/altix/sys/dev/ixgbe/ixgbe.h
  projects/altix/sys/dev/mii/brgphyreg.h
  projects/altix/sys/dev/mii/ciphyreg.h
  projects/altix/sys/dev/mii/e1000phy.c
  projects/altix/sys/dev/mii/e1000phyreg.h
  projects/altix/sys/dev/mii/mii_physubr.c
  projects/altix/sys/dev/mii/miivar.h
  projects/altix/sys/dev/mii/rgephyreg.h
  projects/altix/sys/dev/mii/xmphyreg.h
  projects/altix/sys/dev/mpt/mpt.c
  projects/altix/sys/dev/mpt/mpt.h
  projects/altix/sys/dev/mpt/mpt_cam.c
  projects/altix/sys/dev/mpt/mpt_debug.c
  projects/altix/sys/dev/mpt/mpt_pci.c
  projects/altix/sys/dev/msk/if_msk.c
  projects/altix/sys/dev/mvs/mvs.c
  projects/altix/sys/dev/mvs/mvs.h
  projects/altix/sys/dev/siis/siis.c
  projects/altix/sys/dev/siis/siis.h
  projects/altix/sys/dev/sound/usb/uaudio.c
  projects/altix/sys/dev/sym/README.sym
  projects/altix/sys/dev/sym/sym_fw1.h
  projects/altix/sys/dev/sym/sym_fw2.h
  projects/altix/sys/dev/sym/sym_hipd.c
  projects/altix/sys/dev/usb/controller/ehci_ixp4xx.c
  projects/altix/sys/dev/usb/controller/ehci_mv.c
  projects/altix/sys/dev/usb/controller/ehci_pci.c
  projects/altix/sys/fs/nfs/nfs.h
  projects/altix/sys/fs/nfs/nfs_commonacl.c
  projects/altix/sys/fs/nfs/nfs_commonkrpc.c
  projects/altix/sys/fs/nfs/nfs_commonport.c
  projects/altix/sys/fs/nfs/nfs_commonsubs.c
  projects/altix/sys/fs/nfs/nfs_var.h
  projects/altix/sys/fs/nfs/nfsport.h
  projects/altix/sys/fs/nfsclient/nfs.h
  projects/altix/sys/fs/nfsclient/nfs_clbio.c
  projects/altix/sys/fs/nfsclient/nfs_clnfsiod.c
  projects/altix/sys/fs/nfsclient/nfs_clnode.c
  projects/altix/sys/fs/nfsclient/nfs_clport.c
  projects/altix/sys/fs/nfsclient/nfs_clrpcops.c
  projects/altix/sys/fs/nfsclient/nfs_clstate.c
  projects/altix/sys/fs/nfsclient/nfs_clsubs.c
  projects/altix/sys/fs/nfsclient/nfs_clvfsops.c
  projects/altix/sys/fs/nfsclient/nfs_clvnops.c
  projects/altix/sys/fs/nfsclient/nfsnode.h
  projects/altix/sys/fs/nfsserver/nfs_nfsdport.c
  projects/altix/sys/fs/nfsserver/nfs_nfsdserv.c
  projects/altix/sys/geom/eli/g_eli.c
  projects/altix/sys/geom/eli/g_eli.h
  projects/altix/sys/geom/eli/g_eli_ctl.c
  projects/altix/sys/geom/eli/g_eli_integrity.c
  projects/altix/sys/geom/eli/g_eli_key.c
  projects/altix/sys/geom/eli/g_eli_privacy.c
  projects/altix/sys/geom/part/g_part_apm.c
  projects/altix/sys/geom/raid/g_raid.c
  projects/altix/sys/i386/bios/apm.c
  projects/altix/sys/i386/conf/GENERIC
  projects/altix/sys/i386/conf/XBOX
  projects/altix/sys/i386/i386/genassym.c
  projects/altix/sys/i386/i386/identcpu.c
  projects/altix/sys/i386/i386/machdep.c
  projects/altix/sys/i386/i386/pmap.c
  projects/altix/sys/i386/include/clock.h
  projects/altix/sys/i386/include/cpufunc.h
  projects/altix/sys/i386/include/pmap.h
  projects/altix/sys/i386/include/specialreg.h
  projects/altix/sys/ia64/conf/GENERIC
  projects/altix/sys/ia64/include/pmap.h
  projects/altix/sys/kern/init_sysent.c
  projects/altix/sys/kern/kern_exit.c
  projects/altix/sys/kern/kern_hhook.c
  projects/altix/sys/kern/kern_khelp.c
  projects/altix/sys/kern/kern_sig.c
  projects/altix/sys/kern/link_elf.c
  projects/altix/sys/kern/link_elf_obj.c
  projects/altix/sys/kern/subr_rman.c
  projects/altix/sys/kern/syscalls.c
  projects/altix/sys/kern/syscalls.master
  projects/altix/sys/kern/systrace_args.c
  projects/altix/sys/kern/uipc_sockbuf.c
  projects/altix/sys/kern/vfs_default.c
  projects/altix/sys/kern/vfs_mount.c
  projects/altix/sys/kern/vfs_subr.c
  projects/altix/sys/kern/vfs_syscalls.c
  projects/altix/sys/kern/vnode_if.src
  projects/altix/sys/mips/atheros/ar71xx_ehci.c
  projects/altix/sys/mips/conf/MALTA
  projects/altix/sys/mips/conf/MALTA64
  projects/altix/sys/mips/conf/OCTEON1
  projects/altix/sys/mips/conf/std.SWARM
  projects/altix/sys/mips/malta/std.malta
  projects/altix/sys/mips/rmi/xls_ehci.c
  projects/altix/sys/modules/Makefile
  projects/altix/sys/modules/acpi/acpi/Makefile
  projects/altix/sys/modules/ath/Makefile
  projects/altix/sys/modules/bxe/Makefile
  projects/altix/sys/modules/cam/Makefile
  projects/altix/sys/modules/geom/geom_eli/Makefile
  projects/altix/sys/modules/iwnfw/Makefile
  projects/altix/sys/modules/iwnfw/iwn1000/Makefile
  projects/altix/sys/modules/iwnfw/iwn5000/Makefile
  projects/altix/sys/modules/iwnfw/iwn6050/Makefile
  projects/altix/sys/modules/netgraph/atm/ccatm/Makefile
  projects/altix/sys/modules/nfscl/Makefile
  projects/altix/sys/modules/nfsclient/Makefile
  projects/altix/sys/net80211/ieee80211_output.c
  projects/altix/sys/netgraph/atm/ccatm/ng_ccatm.c
  projects/altix/sys/netgraph/atm/sscfu/ng_sscfu.c
  projects/altix/sys/netgraph/atm/sscop/ng_sscop.c
  projects/altix/sys/netgraph/atm/uni/ng_uni.c
  projects/altix/sys/netgraph/bluetooth/hci/ng_hci_main.c
  projects/altix/sys/netgraph/bluetooth/l2cap/ng_l2cap_main.c
  projects/altix/sys/netgraph/netflow/netflow.c
  projects/altix/sys/netgraph/netflow/ng_netflow.c
  projects/altix/sys/netgraph/netflow/ng_netflow.h
  projects/altix/sys/netgraph/ng_UI.c
  projects/altix/sys/netgraph/ng_async.c
  projects/altix/sys/netgraph/ng_atmllc.c
  projects/altix/sys/netgraph/ng_base.c
  projects/altix/sys/netgraph/ng_bridge.c
  projects/altix/sys/netgraph/ng_car.c
  projects/altix/sys/netgraph/ng_cisco.c
  projects/altix/sys/netgraph/ng_device.c
  projects/altix/sys/netgraph/ng_eiface.c
  projects/altix/sys/netgraph/ng_etf.c
  projects/altix/sys/netgraph/ng_fec.c
  projects/altix/sys/netgraph/ng_frame_relay.c
  projects/altix/sys/netgraph/ng_gif_demux.c
  projects/altix/sys/netgraph/ng_hub.c
  projects/altix/sys/netgraph/ng_iface.c
  projects/altix/sys/netgraph/ng_ksocket.c
  projects/altix/sys/netgraph/ng_l2tp.c
  projects/altix/sys/netgraph/ng_lmi.c
  projects/altix/sys/netgraph/ng_mppc.c
  projects/altix/sys/netgraph/ng_nat.c
  projects/altix/sys/netgraph/ng_one2many.c
  projects/altix/sys/netgraph/ng_patch.c
  projects/altix/sys/netgraph/ng_pipe.c
  projects/altix/sys/netgraph/ng_ppp.c
  projects/altix/sys/netgraph/ng_pppoe.c
  projects/altix/sys/netgraph/ng_pptpgre.c
  projects/altix/sys/netgraph/ng_rfc1490.c
  projects/altix/sys/netgraph/ng_sample.c
  projects/altix/sys/netgraph/ng_source.c
  projects/altix/sys/netgraph/ng_split.c
  projects/altix/sys/netgraph/ng_sppp.c
  projects/altix/sys/netgraph/ng_tee.c
  projects/altix/sys/netgraph/ng_tty.c
  projects/altix/sys/netgraph/ng_vjc.c
  projects/altix/sys/netgraph/ng_vlan.c
  projects/altix/sys/netinet/cc.h
  projects/altix/sys/netinet/cc/cc.c
  projects/altix/sys/netinet/cc/cc_chd.c
  projects/altix/sys/netinet/cc/cc_cubic.c
  projects/altix/sys/netinet/cc/cc_cubic.h
  projects/altix/sys/netinet/cc/cc_hd.c
  projects/altix/sys/netinet/cc/cc_htcp.c
  projects/altix/sys/netinet/cc/cc_module.h
  projects/altix/sys/netinet/cc/cc_newreno.c
  projects/altix/sys/netinet/cc/cc_vegas.c
  projects/altix/sys/netinet/in_pcb.c
  projects/altix/sys/netinet/in_pcb.h
  projects/altix/sys/netinet/in_proto.c
  projects/altix/sys/netinet/ip_fw.h
  projects/altix/sys/netinet/ip_input.c
  projects/altix/sys/netinet/ip_output.c
  projects/altix/sys/netinet/ip_var.h
  projects/altix/sys/netinet/ipfw/ip_dn_io.c
  projects/altix/sys/netinet/ipfw/ip_dummynet.c
  projects/altix/sys/netinet/ipfw/ip_fw2.c
  projects/altix/sys/netinet/ipfw/ip_fw_nat.c
  projects/altix/sys/netinet/ipfw/ip_fw_private.h
  projects/altix/sys/netinet/khelp/h_ertt.c
  projects/altix/sys/netinet/khelp/h_ertt.h
  projects/altix/sys/netinet/libalias/alias_db.c
  projects/altix/sys/netinet/raw_ip.c
  projects/altix/sys/netinet/siftr.c
  projects/altix/sys/netinet/tcp_input.c
  projects/altix/sys/netinet/tcp_output.c
  projects/altix/sys/netinet/tcp_subr.c
  projects/altix/sys/netinet/tcp_syncache.c
  projects/altix/sys/netinet/tcp_var.h
  projects/altix/sys/netinet/udp_usrreq.c
  projects/altix/sys/netinet6/in6.h
  projects/altix/sys/netinet6/in6_proto.c
  projects/altix/sys/netinet6/nd6_nbr.c
  projects/altix/sys/nfsclient/nfs_subs.c
  projects/altix/sys/nfsclient/nfs_vfsops.c
  projects/altix/sys/nfsclient/nfsargs.h
  projects/altix/sys/pc98/conf/GENERIC
  projects/altix/sys/pc98/pc98/machdep.c
  projects/altix/sys/powerpc/aim/machdep.c
  projects/altix/sys/powerpc/aim/mmu_oea.c
  projects/altix/sys/powerpc/aim/mmu_oea64.c
  projects/altix/sys/powerpc/conf/GENERIC
  projects/altix/sys/powerpc/conf/GENERIC64
  projects/altix/sys/powerpc/conf/MPC85XX
  projects/altix/sys/powerpc/powerpc/exec_machdep.c
  projects/altix/sys/powerpc/powerpc/mp_machdep.c
  projects/altix/sys/rpc/clnt_dg.c
  projects/altix/sys/rpc/clnt_vc.c
  projects/altix/sys/sparc64/conf/GENERIC
  projects/altix/sys/sparc64/include/cpufunc.h
  projects/altix/sys/sparc64/sbus/lsi64854.c
  projects/altix/sys/sparc64/sbus/ofw_sbus.h
  projects/altix/sys/sparc64/sparc64/exception.S
  projects/altix/sys/sparc64/sparc64/iommu.c
  projects/altix/sys/sparc64/sparc64/machdep.c
  projects/altix/sys/sparc64/sparc64/pmap.c
  projects/altix/sys/sun4v/conf/GENERIC
  projects/altix/sys/sun4v/include/cddl/mdesc_impl.h
  projects/altix/sys/sun4v/include/cpufunc.h
  projects/altix/sys/sun4v/sun4v/tte_hash.c
  projects/altix/sys/sys/ata.h
  projects/altix/sys/sys/eventhandler.h
  projects/altix/sys/sys/fcntl.h
  projects/altix/sys/sys/hhook.h
  projects/altix/sys/sys/khelp.h
  projects/altix/sys/sys/module_khelp.h
  projects/altix/sys/sys/param.h
  projects/altix/sys/sys/proc.h
  projects/altix/sys/sys/socket.h
  projects/altix/sys/sys/syscall.h
  projects/altix/sys/sys/syscall.mk
  projects/altix/sys/sys/sysproto.h
  projects/altix/sys/sys/systm.h
  projects/altix/sys/sys/vnode.h
  projects/altix/sys/ufs/ffs/ffs_alloc.c
  projects/altix/sys/ufs/ufs/ufs_extern.h
  projects/altix/sys/ufs/ufs/ufs_inode.c
  projects/altix/sys/vm/vm_object.c
  projects/altix/sys/x86/isa/clock.c
  projects/altix/sys/x86/x86/tsc.c
Directory Properties:
  projects/altix/lib/libstand/   (props changed)
  projects/altix/sys/   (props changed)
  projects/altix/sys/amd64/include/xen/   (props changed)
  projects/altix/sys/boot/i386/efi/   (props changed)
  projects/altix/sys/boot/ia64/efi/   (props changed)
  projects/altix/sys/boot/ia64/ski/   (props changed)
  projects/altix/sys/boot/powerpc/boot1.chrp/   (props changed)
  projects/altix/sys/boot/powerpc/ofw/   (props changed)
  projects/altix/sys/cddl/contrib/opensolaris/   (props changed)
  projects/altix/sys/conf/   (props changed)
  projects/altix/sys/contrib/dev/acpica/   (props changed)
  projects/altix/sys/contrib/octeon-sdk/   (props changed)
  projects/altix/sys/contrib/pf/   (props changed)
  projects/altix/sys/contrib/x86emu/   (props changed)
  projects/altix/sys/kern/subr_busdma.c   (props changed)

Modified: projects/altix/sys/amd64/amd64/genassym.c
==============================================================================
--- projects/altix/sys/amd64/amd64/genassym.c	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/amd64/amd64/genassym.c	Tue Apr 26 00:20:04 2011	(r221045)
@@ -65,7 +65,7 @@ __FBSDID("$FreeBSD$");
 #include <netinet/in.h>
 #include <nfs/nfsproto.h>
 #include <nfsclient/nfs.h>
-#include <nfsclient/nfsdiskless.h>
+#include <nfs/nfsdiskless.h>
 #include <x86/apicreg.h>
 #include <machine/cpu.h>
 #include <machine/pcb.h>

Modified: projects/altix/sys/amd64/amd64/identcpu.c
==============================================================================
--- projects/altix/sys/amd64/amd64/identcpu.c	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/amd64/amd64/identcpu.c	Tue Apr 26 00:20:04 2011	(r221045)
@@ -396,8 +396,11 @@ printcpuinfo(void)
 			 * If this CPU supports P-state invariant TSC then
 			 * mention the capability.
 			 */
-			if (tsc_is_invariant)
+			if (tsc_is_invariant) {
 				printf("\n  TSC: P-state invariant");
+				if (tsc_perf_stat)
+					printf(", performance statistics");
+			}
 
 		}
 	}

Modified: projects/altix/sys/amd64/amd64/machdep.c
==============================================================================
--- projects/altix/sys/amd64/amd64/machdep.c	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/amd64/amd64/machdep.c	Tue Apr 26 00:20:04 2011	(r221045)
@@ -545,23 +545,20 @@ cpu_flush_dcache(void *ptr, size_t len)
 int
 cpu_est_clockrate(int cpu_id, uint64_t *rate)
 {
+	uint64_t tsc1, tsc2;
+	uint64_t acnt, mcnt, perf;
 	register_t reg;
-	uint64_t freq, tsc1, tsc2;
 
 	if (pcpu_find(cpu_id) == NULL || rate == NULL)
 		return (EINVAL);
-	freq = atomic_load_acq_64(&tsc_freq);
 
-	/* If TSC is P-state invariant, DELAY(9) based logic fails. */
-	if (tsc_is_invariant && freq != 0)
+	/*
+	 * If TSC is P-state invariant and APERF/MPERF MSRs do not exist,
+	 * DELAY(9) based logic fails.
+	 */
+	if (tsc_is_invariant && !tsc_perf_stat)
 		return (EOPNOTSUPP);
 
-	/* If we're booting, trust the rate calibrated moments ago. */
-	if (cold && freq != 0) {
-		*rate = freq;
-		return (0);
-	}
-
 #ifdef SMP
 	if (smp_cpus > 1) {
 		/* Schedule ourselves on the indicated cpu. */
@@ -573,10 +570,24 @@ cpu_est_clockrate(int cpu_id, uint64_t *
 
 	/* Calibrate by measuring a short delay. */
 	reg = intr_disable();
-	tsc1 = rdtsc();
-	DELAY(1000);
-	tsc2 = rdtsc();
-	intr_restore(reg);
+	if (tsc_is_invariant) {
+		wrmsr(MSR_MPERF, 0);
+		wrmsr(MSR_APERF, 0);
+		tsc1 = rdtsc();
+		DELAY(1000);
+		mcnt = rdmsr(MSR_MPERF);
+		acnt = rdmsr(MSR_APERF);
+		tsc2 = rdtsc();
+		intr_restore(reg);
+		perf = 1000 * acnt / mcnt;
+		*rate = (tsc2 - tsc1) * perf;
+	} else {
+		tsc1 = rdtsc();
+		DELAY(1000);
+		tsc2 = rdtsc();
+		intr_restore(reg);
+		*rate = (tsc2 - tsc1) * 1000;
+	}
 
 #ifdef SMP
 	if (smp_cpus > 1) {
@@ -586,17 +597,6 @@ cpu_est_clockrate(int cpu_id, uint64_t *
 	}
 #endif
 
-	tsc2 -= tsc1;
-	if (freq != 0) {
-		*rate = tsc2 * 1000;
-		return (0);
-	}
-
-	/*
-	 * Subtract 0.5% of the total.  Empirical testing has shown that
-	 * overhead in DELAY() works out to approximately this value.
-	 */
-	*rate = tsc2 * 1000 - tsc2 * 5;
 	return (0);
 }
 

Modified: projects/altix/sys/amd64/amd64/pmap.c
==============================================================================
--- projects/altix/sys/amd64/amd64/pmap.c	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/amd64/amd64/pmap.c	Tue Apr 26 00:20:04 2011	(r221045)
@@ -239,7 +239,6 @@ static vm_page_t pmap_enter_quick_locked
     vm_page_t m, vm_prot_t prot, vm_page_t mpte);
 static void pmap_fill_ptp(pt_entry_t *firstpte, pt_entry_t newpte);
 static void pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte);
-static void pmap_invalidate_cache_range(vm_offset_t sva, vm_offset_t eva);
 static boolean_t pmap_is_modified_pvh(struct md_page *pvh);
 static boolean_t pmap_is_referenced_pvh(struct md_page *pvh);
 static void pmap_kenter_attr(vm_offset_t va, vm_paddr_t pa, int mode);
@@ -1105,7 +1104,9 @@ pmap_update_pde(pmap_t pmap, vm_offset_t
 }
 #endif /* !SMP */
 
-static void
+#define PMAP_CLFLUSH_THRESHOLD   (2 * 1024 * 1024)
+
+void
 pmap_invalidate_cache_range(vm_offset_t sva, vm_offset_t eva)
 {
 
@@ -1117,7 +1118,7 @@ pmap_invalidate_cache_range(vm_offset_t 
 	if (cpu_feature & CPUID_SS)
 		; /* If "Self Snoop" is supported, do nothing. */
 	else if ((cpu_feature & CPUID_CLFSH) != 0 &&
-		 eva - sva < 2 * 1024 * 1024) {
+	    eva - sva < PMAP_CLFLUSH_THRESHOLD) {
 
 		/*
 		 * Otherwise, do per-cache line flush.  Use the mfence
@@ -1142,6 +1143,34 @@ pmap_invalidate_cache_range(vm_offset_t 
 }
 
 /*
+ * Remove the specified set of pages from the data and instruction caches.
+ *
+ * In contrast to pmap_invalidate_cache_range(), this function does not
+ * rely on the CPU's self-snoop feature, because it is intended for use
+ * when moving pages into a different cache domain.
+ */
+void
+pmap_invalidate_cache_pages(vm_page_t *pages, int count)
+{
+	vm_offset_t daddr, eva;
+	int i;
+
+	if (count >= PMAP_CLFLUSH_THRESHOLD / PAGE_SIZE ||
+	    (cpu_feature & CPUID_CLFSH) == 0)
+		pmap_invalidate_cache();
+	else {
+		mfence();
+		for (i = 0; i < count; i++) {
+			daddr = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pages[i]));
+			eva = daddr + PAGE_SIZE;
+			for (; daddr < eva; daddr += cpu_clflush_line_size)
+				clflush(daddr);
+		}
+		mfence();
+	}
+}
+
+/*
  * Are we current address space or kernel?
  */
 static __inline int

Modified: projects/altix/sys/amd64/conf/GENERIC
==============================================================================
--- projects/altix/sys/amd64/conf/GENERIC	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/amd64/conf/GENERIC	Tue Apr 26 00:20:04 2011	(r221045)
@@ -89,14 +89,12 @@ device		pci
 # Floppy drives
 device		fdc
 
-# ATA and ATAPI devices
-device		ata
-device		atadisk		# ATA disk drives
-device		ataraid		# ATA RAID drives
-device		atapicd		# ATAPI CDROM drives
-device		atapifd		# ATAPI floppy drives
-device		atapist		# ATAPI tape drives
-options 	ATA_STATIC_ID	# Static device numbering
+# ATA controllers
+device		ahci		# AHCI-compatible SATA controllers
+device		ata		# Legacy ATA/SATA controllers
+options 	ATA_CAM		# Handle legacy controllers with CAM
+device		mvs		# Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA
+device		siis		# SiliconImage SiI3124/SiI3132/SiI3531 SATA
 
 # SCSI Controllers
 device		ahc		# AHA2940 and onboard AIC7xxx devices
@@ -120,13 +118,13 @@ device		adw		# Advansys wide SCSI adapte
 device		aic		# Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
 device		bt		# Buslogic/Mylex MultiMaster SCSI adapters
 
-# SCSI peripherals
-device		scbus		# SCSI bus (required for SCSI)
+# ATA/SCSI peripherals
+device		scbus		# SCSI bus (required for ATA/SCSI)
 device		ch		# SCSI media changers
 device		da		# Direct Access (disks)
 device		sa		# Sequential Access (tape etc)
 device		cd		# CD
-device		pass		# Passthrough device (direct SCSI access)
+device		pass		# Passthrough device (direct ATA/SCSI access)
 device		ses		# SCSI Environmental Services (and SAF-TE)
 
 # RAID controllers interfaced to the SCSI subsystem

Modified: projects/altix/sys/amd64/include/clock.h
==============================================================================
--- projects/altix/sys/amd64/include/clock.h	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/amd64/include/clock.h	Tue Apr 26 00:20:04 2011	(r221045)
@@ -19,6 +19,7 @@ extern u_int	i8254_freq;
 extern int	i8254_max_count;
 extern uint64_t	tsc_freq;
 extern int	tsc_is_invariant;
+extern int	tsc_perf_stat;
 
 void	i8254_init(void);
 

Modified: projects/altix/sys/amd64/include/cpufunc.h
==============================================================================
--- projects/altix/sys/amd64/include/cpufunc.h	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/amd64/include/cpufunc.h	Tue Apr 26 00:20:04 2011	(r221045)
@@ -45,15 +45,15 @@
 
 struct region_descriptor;
 
-#define readb(va)	(*(volatile u_int8_t *) (va))
-#define readw(va)	(*(volatile u_int16_t *) (va))
-#define readl(va)	(*(volatile u_int32_t *) (va))
-#define readq(va)	(*(volatile u_int64_t *) (va))
-
-#define writeb(va, d)	(*(volatile u_int8_t *) (va) = (d))
-#define writew(va, d)	(*(volatile u_int16_t *) (va) = (d))
-#define writel(va, d)	(*(volatile u_int32_t *) (va) = (d))
-#define writeq(va, d)	(*(volatile u_int64_t *) (va) = (d))
+#define readb(va)	(*(volatile uint8_t *) (va))
+#define readw(va)	(*(volatile uint16_t *) (va))
+#define readl(va)	(*(volatile uint32_t *) (va))
+#define readq(va)	(*(volatile uint64_t *) (va))
+
+#define writeb(va, d)	(*(volatile uint8_t *) (va) = (d))
+#define writew(va, d)	(*(volatile uint16_t *) (va) = (d))
+#define writel(va, d)	(*(volatile uint32_t *) (va) = (d))
+#define writeq(va, d)	(*(volatile uint64_t *) (va) = (d))
 
 #if defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE)
 
@@ -176,7 +176,7 @@ inb(u_int port)
 {
 	u_char	data;
 
-	__asm volatile("inb %w1, %0" : "=a" (data) : "Nd" (port));
+	__asm __volatile("inb %w1, %0" : "=a" (data) : "Nd" (port));
 	return (data);
 }
 
@@ -185,7 +185,7 @@ inl(u_int port)
 {
 	u_int	data;
 
-	__asm volatile("inl %w1, %0" : "=a" (data) : "Nd" (port));
+	__asm __volatile("inl %w1, %0" : "=a" (data) : "Nd" (port));
 	return (data);
 }
 
@@ -227,20 +227,20 @@ inw(u_int port)
 {
 	u_short	data;
 
-	__asm volatile("inw %w1, %0" : "=a" (data) : "Nd" (port));
+	__asm __volatile("inw %w1, %0" : "=a" (data) : "Nd" (port));
 	return (data);
 }
 
 static __inline void
 outb(u_int port, u_char data)
 {
-	__asm volatile("outb %0, %w1" : : "a" (data), "Nd" (port));
+	__asm __volatile("outb %0, %w1" : : "a" (data), "Nd" (port));
 }
 
 static __inline void
 outl(u_int port, u_int data)
 {
-	__asm volatile("outl %0, %w1" : : "a" (data), "Nd" (port));
+	__asm __volatile("outl %0, %w1" : : "a" (data), "Nd" (port));
 }
 
 static __inline void
@@ -270,7 +270,7 @@ outsl(u_int port, const void *addr, size
 static __inline void
 outw(u_int port, u_short data)
 {
-	__asm volatile("outw %0, %w1" : : "a" (data), "Nd" (port));
+	__asm __volatile("outw %0, %w1" : : "a" (data), "Nd" (port));
 }
 
 static __inline void
@@ -295,31 +295,40 @@ read_rflags(void)
 	return (rf);
 }
 
-static __inline u_int64_t
+static __inline uint64_t
 rdmsr(u_int msr)
 {
-	u_int32_t low, high;
+	uint32_t low, high;
 
 	__asm __volatile("rdmsr" : "=a" (low), "=d" (high) : "c" (msr));
-	return (low | ((u_int64_t)high << 32));
+	return (low | ((uint64_t)high << 32));
 }
 
-static __inline u_int64_t
+static __inline uint64_t
 rdpmc(u_int pmc)
 {
-	u_int32_t low, high;
+	uint32_t low, high;
 
 	__asm __volatile("rdpmc" : "=a" (low), "=d" (high) : "c" (pmc));
-	return (low | ((u_int64_t)high << 32));
+	return (low | ((uint64_t)high << 32));
 }
 
-static __inline u_int64_t
+static __inline uint64_t
 rdtsc(void)
 {
-	u_int32_t low, high;
+	uint32_t low, high;
 
 	__asm __volatile("rdtsc" : "=a" (low), "=d" (high));
-	return (low | ((u_int64_t)high << 32));
+	return (low | ((uint64_t)high << 32));
+}
+
+static __inline uint32_t
+rdtsc32(void)
+{
+	uint32_t rv;
+
+	__asm __volatile("rdtsc" : "=a" (rv) : : "edx");
+	return (rv);
 }
 
 static __inline void
@@ -335,9 +344,9 @@ write_rflags(u_long rf)
 }
 
 static __inline void
-wrmsr(u_int msr, u_int64_t newval)
+wrmsr(u_int msr, uint64_t newval)
 {
-	u_int32_t low, high;
+	uint32_t low, high;
 
 	low = newval;
 	high = newval >> 32;
@@ -530,114 +539,114 @@ ltr(u_short sel)
 	__asm __volatile("ltr %0" : : "r" (sel));
 }
 
-static __inline u_int64_t
+static __inline uint64_t
 rdr0(void)
 {
-	u_int64_t data;
+	uint64_t data;
 	__asm __volatile("movq %%dr0,%0" : "=r" (data));
 	return (data);
 }
 
 static __inline void
-load_dr0(u_int64_t dr0)
+load_dr0(uint64_t dr0)
 {
 	__asm __volatile("movq %0,%%dr0" : : "r" (dr0));
 }
 
-static __inline u_int64_t
+static __inline uint64_t
 rdr1(void)
 {
-	u_int64_t data;
+	uint64_t data;
 	__asm __volatile("movq %%dr1,%0" : "=r" (data));
 	return (data);
 }
 
 static __inline void
-load_dr1(u_int64_t dr1)
+load_dr1(uint64_t dr1)
 {
 	__asm __volatile("movq %0,%%dr1" : : "r" (dr1));
 }
 
-static __inline u_int64_t
+static __inline uint64_t
 rdr2(void)
 {
-	u_int64_t data;
+	uint64_t data;
 	__asm __volatile("movq %%dr2,%0" : "=r" (data));
 	return (data);
 }
 
 static __inline void
-load_dr2(u_int64_t dr2)
+load_dr2(uint64_t dr2)
 {
 	__asm __volatile("movq %0,%%dr2" : : "r" (dr2));
 }
 
-static __inline u_int64_t
+static __inline uint64_t
 rdr3(void)
 {
-	u_int64_t data;
+	uint64_t data;
 	__asm __volatile("movq %%dr3,%0" : "=r" (data));
 	return (data);
 }
 
 static __inline void
-load_dr3(u_int64_t dr3)
+load_dr3(uint64_t dr3)
 {
 	__asm __volatile("movq %0,%%dr3" : : "r" (dr3));
 }
 
-static __inline u_int64_t
+static __inline uint64_t
 rdr4(void)
 {
-	u_int64_t data;
+	uint64_t data;
 	__asm __volatile("movq %%dr4,%0" : "=r" (data));
 	return (data);
 }
 
 static __inline void
-load_dr4(u_int64_t dr4)
+load_dr4(uint64_t dr4)
 {
 	__asm __volatile("movq %0,%%dr4" : : "r" (dr4));
 }
 
-static __inline u_int64_t
+static __inline uint64_t
 rdr5(void)
 {
-	u_int64_t data;
+	uint64_t data;
 	__asm __volatile("movq %%dr5,%0" : "=r" (data));
 	return (data);
 }
 
 static __inline void
-load_dr5(u_int64_t dr5)
+load_dr5(uint64_t dr5)
 {
 	__asm __volatile("movq %0,%%dr5" : : "r" (dr5));
 }
 
-static __inline u_int64_t
+static __inline uint64_t
 rdr6(void)
 {
-	u_int64_t data;
+	uint64_t data;
 	__asm __volatile("movq %%dr6,%0" : "=r" (data));
 	return (data);
 }
 
 static __inline void
-load_dr6(u_int64_t dr6)
+load_dr6(uint64_t dr6)
 {
 	__asm __volatile("movq %0,%%dr6" : : "r" (dr6));
 }
 
-static __inline u_int64_t
+static __inline uint64_t
 rdr7(void)
 {
-	u_int64_t data;
+	uint64_t data;
 	__asm __volatile("movq %%dr7,%0" : "=r" (data));
 	return (data);
 }
 
 static __inline void
-load_dr7(u_int64_t dr7)
+load_dr7(uint64_t dr7)
 {
 	__asm __volatile("movq %0,%%dr7" : : "r" (dr7));
 }
@@ -684,14 +693,14 @@ void	lldt(u_short sel);
 void	load_cr0(u_long cr0);
 void	load_cr3(u_long cr3);
 void	load_cr4(u_long cr4);
-void	load_dr0(u_int64_t dr0);
-void	load_dr1(u_int64_t dr1);
-void	load_dr2(u_int64_t dr2);
-void	load_dr3(u_int64_t dr3);
-void	load_dr4(u_int64_t dr4);
-void	load_dr5(u_int64_t dr5);
-void	load_dr6(u_int64_t dr6);
-void	load_dr7(u_int64_t dr7);
+void	load_dr0(uint64_t dr0);
+void	load_dr1(uint64_t dr1);
+void	load_dr2(uint64_t dr2);
+void	load_dr3(uint64_t dr3);
+void	load_dr4(uint64_t dr4);
+void	load_dr5(uint64_t dr5);
+void	load_dr6(uint64_t dr6);
+void	load_dr7(uint64_t dr7);
 void	load_fs(u_short sel);
 void	load_gs(u_short sel);
 void	ltr(u_short sel);
@@ -705,23 +714,23 @@ u_long	rcr0(void);
 u_long	rcr2(void);
 u_long	rcr3(void);
 u_long	rcr4(void);
-u_int64_t rdmsr(u_int msr);
-u_int64_t rdpmc(u_int pmc);
-u_int64_t rdr0(void);
-u_int64_t rdr1(void);
-u_int64_t rdr2(void);
-u_int64_t rdr3(void);
-u_int64_t rdr4(void);
-u_int64_t rdr5(void);
-u_int64_t rdr6(void);
-u_int64_t rdr7(void);
-u_int64_t rdtsc(void);
+uint64_t rdmsr(u_int msr);
+uint64_t rdpmc(u_int pmc);
+uint64_t rdr0(void);
+uint64_t rdr1(void);
+uint64_t rdr2(void);
+uint64_t rdr3(void);
+uint64_t rdr4(void);
+uint64_t rdr5(void);
+uint64_t rdr6(void);
+uint64_t rdr7(void);
+uint64_t rdtsc(void);
 u_int	read_rflags(void);
 u_int	rfs(void);
 u_int	rgs(void);
 void	wbinvd(void);
 void	write_rflags(u_int rf);
-void	wrmsr(u_int msr, u_int64_t newval);
+void	wrmsr(u_int msr, uint64_t newval);
 
 #endif	/* __GNUCLIKE_ASM && __CC_SUPPORTS___INLINE */
 

Modified: projects/altix/sys/amd64/include/pmap.h
==============================================================================
--- projects/altix/sys/amd64/include/pmap.h	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/amd64/include/pmap.h	Tue Apr 26 00:20:04 2011	(r221045)
@@ -328,6 +328,8 @@ void	pmap_invalidate_page(pmap_t, vm_off
 void	pmap_invalidate_range(pmap_t, vm_offset_t, vm_offset_t);
 void	pmap_invalidate_all(pmap_t);
 void	pmap_invalidate_cache(void);
+void	pmap_invalidate_cache_pages(vm_page_t *pages, int count);
+void	pmap_invalidate_cache_range(vm_offset_t sva, vm_offset_t eva);
 
 #endif /* _KERNEL */
 

Modified: projects/altix/sys/amd64/include/specialreg.h
==============================================================================
--- projects/altix/sys/amd64/include/specialreg.h	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/amd64/include/specialreg.h	Tue Apr 26 00:20:04 2011	(r221045)
@@ -196,6 +196,12 @@
 #define	CPUID_HTT_CORES		0x00ff0000
 #define	CPUID_LOCAL_APIC_ID	0xff000000
 
+/*
+ * CPUID instruction 6 ecx info
+ */
+#define	CPUID_PERF_STAT		0x00000001
+#define	CPUID_PERF_BIAS		0x00000008
+
 /* 
  * CPUID instruction 0xb ebx info.
  */

Modified: projects/altix/sys/arm/at91/at91_wdt.c
==============================================================================
--- projects/altix/sys/arm/at91/at91_wdt.c	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/arm/at91/at91_wdt.c	Tue Apr 26 00:20:04 2011	(r221045)
@@ -102,7 +102,7 @@ wdt_watchdog(void *argp, u_int cmd, int 
 	else if (interval > 0)
 		sc->cmd = interval | WD_ACTIVE;
 
-	/* We cannot turn of our watchdog so if user
+	/* We cannot turn off our watchdog so if user
 	 * fails to turn us on go to passive mode. */
 	if ((sc->cmd & WD_ACTIVE) == 0)
 		sc->cmd = WD_PASSIVE;

Modified: projects/altix/sys/arm/conf/AVILA
==============================================================================
--- projects/altix/sys/arm/conf/AVILA	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/arm/conf/AVILA	Tue Apr 26 00:20:04 2011	(r221045)
@@ -92,8 +92,8 @@ device		gpioled
 device		avila_gpio	# GPIO pins on J8
 
 device		ata
-device		atadisk         # ATA disk drives
 device		avila_ata	# Gateworks CF/IDE support
+options 	ATA_CAM
 
 device		npe		# Network Processing Engine
 device		npe_fw
@@ -149,8 +149,9 @@ device		usb
 device		ohci
 device		ehci
 device		umass
-device		scbus		# SCSI bus (required for SCSI)
+device		scbus		# SCSI bus (required for ATA/SCSI)
 device		da		# Direct Access (disks)
+device		pass		# Passthrough device (direct ATA/SCSI access)
 
 #device		ural
 #device		zyd

Modified: projects/altix/sys/arm/conf/CAMBRIA
==============================================================================
--- projects/altix/sys/arm/conf/CAMBRIA	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/arm/conf/CAMBRIA	Tue Apr 26 00:20:04 2011	(r221045)
@@ -95,8 +95,8 @@ device		gpioled
 device		cambria_gpio	# GPIO pins on J11
 
 device		ata
-device		atadisk		# ATA disk drives
 device		avila_ata	# Gateworks CF/IDE support
+options 	ATA_CAM
 
 device		npe		# Network Processing Engine
 device		npe_fw
@@ -154,8 +154,9 @@ options 	USB_EHCI_BIG_ENDIAN_DESC	# hand
 #options 	USB_DEBUG
 device		ehci
 device		umass
-device		scbus		# SCSI bus (required for SCSI)
+device		scbus		# SCSI bus (required for ATA/SCSI)
 device		da		# Direct Access (disks)
+device		pass		# Passthrough device (direct ATA/SCSI access)
 
 #device		ural
 #device		zyd

Modified: projects/altix/sys/arm/conf/CRB
==============================================================================
--- projects/altix/sys/arm/conf/CRB	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/arm/conf/CRB	Tue Apr 26 00:20:04 2011	(r221045)
@@ -73,12 +73,12 @@ device		uart
 device		pci
 
 device		ata
-device		atadisk		# ATA disk drives
-device		ataraid		# ATA RAID drives
-device		atapicd		# ATAPI CDROM drives
-device		atapifd		# ATAPI floppy drives
-device		atapist		# ATAPI tape drives
-options 	ATA_STATIC_ID	# Static device numbering
+options 	ATA_CAM
+
+device		scbus		# SCSI bus (required for ATA/SCSI)
+device		cd		# CD
+device		da		# Direct Access (disks)
+device		pass		# Passthrough device (direct ATA/SCSI access)
 
 device		"7seg"
 

Modified: projects/altix/sys/arm/conf/DB-78XXX
==============================================================================
--- projects/altix/sys/arm/conf/DB-78XXX	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/arm/conf/DB-78XXX	Tue Apr 26 00:20:04 2011	(r221045)
@@ -81,8 +81,7 @@ device		iicbus
 device		ds133x
 
 # SATA
-device		ata
-device		atadisk
+device		mvs
 
 # Flattened Device Tree
 options 	FDT

Modified: projects/altix/sys/arm/conf/DB-88F5XXX
==============================================================================
--- projects/altix/sys/arm/conf/DB-88F5XXX	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/arm/conf/DB-88F5XXX	Tue Apr 26 00:20:04 2011	(r221045)
@@ -83,8 +83,7 @@ device		pass
 device		da
 
 # SATA
-device		ata
-device		atadisk
+device		mvs
 
 # Flattened Device Tree
 options 	FDT

Modified: projects/altix/sys/arm/conf/DB-88F6XXX
==============================================================================
--- projects/altix/sys/arm/conf/DB-88F6XXX	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/arm/conf/DB-88F6XXX	Tue Apr 26 00:20:04 2011	(r221045)
@@ -80,8 +80,7 @@ device		iic
 device		iicbus
 
 # SATA
-device		ata
-device		atadisk
+device		mvs
 
 # Flattened Device Tree
 options 	FDT

Modified: projects/altix/sys/arm/conf/EP80219
==============================================================================
--- projects/altix/sys/arm/conf/EP80219	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/arm/conf/EP80219	Tue Apr 26 00:20:04 2011	(r221045)
@@ -73,12 +73,12 @@ device		uart
 device		pci
 
 device		ata
-device		atadisk		# ATA disk drives
-device		ataraid		# ATA RAID drives
-device		atapicd		# ATAPI CDROM drives
-device		atapifd		# ATAPI floppy drives
-device		atapist		# ATAPI tape drives
-options 	ATA_STATIC_ID	# Static device numbering
+options 	ATA_CAM
+
+device		scbus		# SCSI bus (required for ATA/SCSI)
+device		cd		# CD
+device		da		# Direct Access (disks)
+device		pass		# Passthrough device (direct ATA/SCSI access)
 
 # SCSI Controllers
 
@@ -111,4 +111,4 @@ options 	INCLUDE_CONFIG_FILE     # Inclu
 options 	VERBOSE_INIT_ARM
 
 device		bpf
-#options 	ROOTDEVNAME=\"ufs:ad4s1a\"
+#options 	ROOTDEVNAME=\"ufs:ada0s1a\"

Modified: projects/altix/sys/arm/conf/IQ31244
==============================================================================
--- projects/altix/sys/arm/conf/IQ31244	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/arm/conf/IQ31244	Tue Apr 26 00:20:04 2011	(r221045)
@@ -72,12 +72,12 @@ device		uart
 device		pci
 
 device		ata
-device		atadisk		# ATA disk drives
-device		ataraid		# ATA RAID drives
-device		atapicd		# ATAPI CDROM drives
-device		atapifd		# ATAPI floppy drives
-device		atapist		# ATAPI tape drives
-options 	ATA_STATIC_ID	# Static device numbering
+options 	ATA_CAM
+
+device		scbus		# SCSI bus (required for ATA/SCSI)
+device		cd		# CD
+device		da		# Direct Access (disks)
+device		pass		# Passthrough device (direct ATA/SCSI access)
 
 # SCSI Controllers
 

Copied: projects/altix/sys/arm/conf/TS7800 (from r221044, head/sys/arm/conf/TS7800)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/altix/sys/arm/conf/TS7800	Tue Apr 26 00:20:04 2011	(r221045, copy of r221044, head/sys/arm/conf/TS7800)
@@ -0,0 +1,80 @@
+#
+# Custom kernel for the TS-7800 board.
+#
+# $FreeBSD$
+#
+
+ident		TS7800
+include		"../mv/orion/std.ts7800"
+
+options 	SOC_MV_ORION
+makeoptions	MODULES_OVERRIDE=""
+
+#makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
+makeoptions	WERROR="-Werror"
+
+options 	SCHED_4BSD		#4BSD scheduler
+options 	INET			#InterNETworking
+options 	INET6			#IPv6 communications protocols
+options 	FFS			#Berkeley Fast Filesystem
+options 	SOFTUPDATES		# Enable FFS soft updates support
+options 	NFSCLIENT		#Network Filesystem Client
+options 	NFSLOCKD		#Network Lock Manager
+options 	NFS_ROOT		#NFS usable as /, requires NFSCLIENT
+options 	BOOTP
+options 	BOOTP_NFSROOT
+options 	BOOTP_NFSV3
+options 	BOOTP_WIRED_TO=mge0
+
+options 	SYSVSHM			#SYSV-style shared memory
+options 	SYSVMSG			#SYSV-style message queues
+options 	SYSVSEM			#SYSV-style semaphores
+options 	_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
+options 	MUTEX_NOINLINE
+options 	RWLOCK_NOINLINE
+options 	NO_FFS_SNAPSHOT
+options 	NO_SWAPPING
+
+# Debugging
+options 	ALT_BREAK_TO_DEBUGGER
+options 	DDB
+options 	KDB
+options 	GDB			# Support remote GDB.
+
+device		mvs
+device		pci
+
+# Pseudo devices
+device		md
+device		loop
+device		pty
+device		random
+
+# Serial ports
+device		uart
+
+# Networking
+device		ether
+device		mge			# Marvell Gigabit Ethernet controller
+device		mii
+device		e1000phy
+device		bpf
+options 	HZ=1000
+
+# USB
+device		usb
+device		ehci
+device		umass
+device		scbus
+device		pass
+device		da
+
+# SATA
+device		ata
+options 	ATA_CAM
+
+# Flattened Device Tree
+options 	FDT
+options		FDT_DTB_STATIC
+makeoptions	FDT_DTS_FILE=ts7800.dts
+

Modified: projects/altix/sys/arm/econa/ehci_ebus.c
==============================================================================
--- projects/altix/sys/arm/econa/ehci_ebus.c	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/arm/econa/ehci_ebus.c	Tue Apr 26 00:20:04 2011	(r221045)
@@ -238,10 +238,10 @@ ehci_ebus_detach(device_t self)
 	device_delete_all_children(self);
 
 	/*
-	 * disable interrupts that might have been switched on in ehci_init
+	 * disable interrupts that might have been switched on in
+	 * ehci_ebus_attach()
 	 */
 	if (sc->sc_io_res) {
-		EOWRITE4(sc, EHCI_USBINTR, 0);
 		EWRITE4(sc, USB_BRIDGE_INTR_MASK, 0);
 	}
 	if (sc->sc_irq_res && sc->sc_intr_hdl) {

Copied: projects/altix/sys/arm/mv/orion/files.ts7800 (from r221044, head/sys/arm/mv/orion/files.ts7800)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/altix/sys/arm/mv/orion/files.ts7800	Tue Apr 26 00:20:04 2011	(r221045, copy of r221044, head/sys/arm/mv/orion/files.ts7800)
@@ -0,0 +1,4 @@
+# $FreeBSD$
+
+arm/mv/orion/orion.c	standard
+

Copied: projects/altix/sys/arm/mv/orion/std.ts7800 (from r221044, head/sys/arm/mv/orion/std.ts7800)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/altix/sys/arm/mv/orion/std.ts7800	Tue Apr 26 00:20:04 2011	(r221045, copy of r221044, head/sys/arm/mv/orion/std.ts7800)
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+include	"../mv/std.mv"
+files	"../mv/orion/files.ts7800"
+
+makeoptions	KERNPHYSADDR=0x00900000
+makeoptions	KERNVIRTADDR=0xc0900000
+
+options		KERNPHYSADDR=0x00900000
+options 	KERNVIRTADDR=0xc0900000
+options		PHYSADDR=0x00000000
+options		STARTUP_PAGETABLE_ADDR=0x00100000
+options   LOADERRAMADDR=0x00000000
+options   FLASHADDR=0x00008000
+

Modified: projects/altix/sys/arm/xscale/i8134x/crb_machdep.c
==============================================================================
--- projects/altix/sys/arm/xscale/i8134x/crb_machdep.c	Tue Apr 26 00:08:50 2011	(r221044)
+++ projects/altix/sys/arm/xscale/i8134x/crb_machdep.c	Tue Apr 26 00:20:04 2011	(r221045)
@@ -196,6 +196,9 @@ initarm(void *arg, void *arg2)
 	pcpu_init(pcpup, 0, sizeof(struct pcpu));
 	PCPU_SET(curthread, &thread0);
 
+	/* Do basic tuning, hz etc */
+	init_param1();
+
 	freemempos = 0x00200000;
 	/* Define a macro to simplify memory allocation */
 #define	valloc_pages(var, np)			\
@@ -389,8 +392,6 @@ initarm(void *arg, void *arg2)
 	phys_avail[i++] = 0;
 	phys_avail[i] = 0;
 	
-	/* Do basic tuning, hz etc */
-	init_param1();
 	init_param2(physmem);
 	kdb_init();
 	return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP -

Copied: projects/altix/sys/boot/fdt/dts/ts7800.dts (from r221044, head/sys/boot/fdt/dts/ts7800.dts)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/altix/sys/boot/fdt/dts/ts7800.dts	Tue Apr 26 00:20:04 2011	(r221045, copy of r221044, head/sys/boot/fdt/dts/ts7800.dts)
@@ -0,0 +1,161 @@
+/*
+ * Copyright (c) 2010 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Technologic Systems TS-7800 Device Tree Source.
+ *
+ * $FreeBSD$
+ */
+
+/dts-v1/;
+
+/ {
+	model = "mrvl,TS-7800";
+	compatible = "DB-88F5182-BP", "DB-88F5182-BP-A";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	aliases {
+		ethernet0 = &mge0;
+		serial0 = &serial0;
+		serial1 = &serial1;
+		mpp = &MPP;
+	};
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu@0 {
+			device_type = "cpu";
+			compatible = "ARM,88FR531";
+			reg = <0x0>;
+			d-cache-line-size = <32>;	// 32 bytes
+			i-cache-line-size = <32>;	// 32 bytes
+			d-cache-size = <0x8000>;	// L1, 32K
+			i-cache-size = <0x8000>;	// L1, 32K
+			timebase-frequency = <0>;
+			bus-frequency = <0>;
+			clock-frequency = <0>;
+		};
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0x0 0x08000000>;		// 128M at 0x0
+	};
+
+	localbus@f1000000 {
+		#address-cells = <2>;
+		#size-cells = <1>;
+		compatible = "mrvl,lbc";
+
+		/* This reflects CPU decode windows setup. */
+		ranges = <0x0 0x0f 0xf9300000 0x00100000
+			  0x1 0x1e 0xfa000000 0x00100000
+			  0x2 0x1d 0xfa100000 0x02000000>;
+	};
+
+	soc88f5182@f1000000 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "simple-bus";
+		ranges = <0x0 0xf1000000 0x00100000>;
+		bus-frequency = <0>;
+
+		PIC: pic@20200 {
+			interrupt-controller;
+			#address-cells = <0>;
+			#interrupt-cells = <1>;
+			reg = <0x20200 0x3c>;
+			compatible = "mrvl,pic";
+		};
+
+		timer@20300 {
+			compatible = "mrvl,timer";
+			reg = <0x20300 0x30>;
+			interrupts = <0>;
+			interrupt-parent = <&PIC>;
+			mrvl,has-wdt;
+		};
+
+		MPP: mpp@10000 {
+			#pin-cells = <2>;
+			compatible = "mrvl,mpp";
+			reg = <0x10000 0x54>;

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

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 02:58:40 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 54DB8106566B;
	Tue, 26 Apr 2011 02:58:40 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 443BC8FC26;
	Tue, 26 Apr 2011 02:58:40 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3Q2weTr003753;
	Tue, 26 Apr 2011 02:58:40 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3Q2weFB003751;
	Tue, 26 Apr 2011 02:58:40 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104260258.p3Q2weFB003751@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Tue, 26 Apr 2011 02:58:40 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221050 - projects/altix/sys/ia64/include
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 02:58:40 -0000

Author: marcel
Date: Tue Apr 26 02:58:39 2011
New Revision: 221050
URL: http://svn.freebsd.org/changeset/base/221050

Log:
  Remove field dev_xxx.

Modified:
  projects/altix/sys/ia64/include/sgisn.h

Modified: projects/altix/sys/ia64/include/sgisn.h
==============================================================================
--- projects/altix/sys/ia64/include/sgisn.h	Tue Apr 26 02:06:31 2011	(r221049)
+++ projects/altix/sys/ia64/include/sgisn.h	Tue Apr 26 02:58:39 2011	(r221050)
@@ -172,7 +172,6 @@ struct sgisn_fwdev {
 	struct sgisn_fwbus	*dev_parent;
 	uint64_t		dev_os_private[2];
 	struct sgisn_fwirq	*dev_irq;
-	uint64_t		dev_xxx[4];
 };
 
 /*

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 04:52:35 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 9AEEE1065670;
	Tue, 26 Apr 2011 04:52:35 +0000 (UTC)
	(envelope-from linimon@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 886ED8FC0C;
	Tue, 26 Apr 2011 04:52:35 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3Q4qZr7007610;
	Tue, 26 Apr 2011 04:52:35 GMT (envelope-from linimon@svn.freebsd.org)
Received: (from linimon@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3Q4qZlP007608;
	Tue, 26 Apr 2011 04:52:35 GMT (envelope-from linimon@svn.freebsd.org)
Message-Id: <201104260452.p3Q4qZlP007608@svn.freebsd.org>
From: Mark Linimon <linimon@FreeBSD.org>
Date: Tue, 26 Apr 2011 04:52:35 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221054 - projects/portbuild/errorlogs
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 04:52:35 -0000

Author: linimon (doc,ports committer)
Date: Tue Apr 26 04:52:35 2011
New Revision: 221054
URL: http://svn.freebsd.org/changeset/base/221054

Log:
  Sync with production on pointyhat-west.  The 'full' usage was a historical
  artifact.  Make it 'previous' which corresponds with what the scripts use.

Modified:
  projects/portbuild/errorlogs/index.shtml

Modified: projects/portbuild/errorlogs/index.shtml
==============================================================================
--- projects/portbuild/errorlogs/index.shtml	Tue Apr 26 04:09:20 2011	(r221053)
+++ projects/portbuild/errorlogs/index.shtml	Tue Apr 26 04:52:35 2011	(r221054)
@@ -99,10 +99,10 @@ Error logs
 <dd>
 <img alt="*" src="/errorlogs/images/yellow-ball.gif"> Previous run
 on 7.x-stable:
-<a href="amd64-7-full/">amd64</a>
-<a href="i386-7-full/">i386</a>
-<a href="ia64-7-full/">ia64</a>
-<a href="sparc64-7-full/">sparc64</a>
+<a href="amd64-7-previous/">amd64</a>
+<a href="i386-7-previous/">i386</a>
+<a href="ia64-7-previous/">ia64</a>
+<a href="sparc64-7-previous/">sparc64</a>
 <br>
 <img alt="*" src="/errorlogs/images/yellow-ball.gif"> Current run
 on 7.x-stable:
@@ -113,11 +113,11 @@ on 7.x-stable:
 <br>
 <img alt="*" src="/errorlogs/images/yellow-ball.gif"> Previous run
 on 8.x-stable:
-<a href="amd64-8-full/">amd64</a>
-<a href="i386-8-full/">i386</a>
-<a href="ia64-8-full/">ia64</a>
-<a href="powerpc-8-full/">powerpc</a>
-<a href="sparc64-8-full/">sparc64</a>
+<a href="amd64-8-previous/">amd64</a>
+<a href="i386-8-previous/">i386</a>
+<a href="ia64-8-previous/">ia64</a>
+<a href="powerpc-8-previous/">powerpc</a>
+<a href="sparc64-8-previous/">sparc64</a>
 <br>
 <img alt="*" src="/errorlogs/images/yellow-ball.gif"> Current run
 on 8.x-stable:
@@ -129,11 +129,11 @@ on 8.x-stable:
 <br>
 <img alt="*" src="/errorlogs/images/yellow-ball.gif"> Previous run
 on 9.x-current:
-<a href="amd64-9-full/">amd64</a>
-<a href="i386-9-full/">i386</a>
-<a href="ia64-9-full/">ia64</a>
-<a href="powerpc-9-full/">powerpc</a>
-<a href="sparc64-9-full/">sparc64</a>
+<a href="amd64-9-previous/">amd64</a>
+<a href="i386-9-previous/">i386</a>
+<a href="ia64-9-previous/">ia64</a>
+<a href="powerpc-9-previous/">powerpc</a>
+<a href="sparc64-9-previous/">sparc64</a>
 <br>
 <img alt="*" src="/errorlogs/images/yellow-ball.gif"> Current run
 on 9.x-current:
@@ -146,8 +146,8 @@ on 9.x-current:
 <br>
 <img alt="*" src="/errorlogs/images/yellow-ball.gif"> Previous run
 on 7.x-stable with experimental port patches:
-<a href="amd64-7-exp-full/">amd64</a>
-<a href="i386-7-exp-full/">i386</a>
+<a href="amd64-7-exp-previous/">amd64</a>
+<a href="i386-7-exp-previous/">i386</a>
 <br>
 <img alt="*" src="/errorlogs/images/yellow-ball.gif"> Current run
 on 7.x-stable with experimental port patches:
@@ -156,8 +156,8 @@ on 7.x-stable with experimental port pat
 <br>
 <img alt="*" src="/errorlogs/images/yellow-ball.gif"> Previous run
 on 8.x-stable with experimental port patches:
-<a href="amd64-8-exp-full/">amd64</a>
-<a href="i386-8-exp-full/">i386</a>
+<a href="amd64-8-exp-previous/">amd64</a>
+<a href="i386-8-exp-previous/">i386</a>
 <br>
 <img alt="*" src="/errorlogs/images/yellow-ball.gif"> Current run
 on 8.x-stable with experimental port patches:
@@ -166,8 +166,8 @@ on 8.x-stable with experimental port pat
 <br>
 <img alt="*" src="/errorlogs/images/yellow-ball.gif"> Previous run
 on 9.x-current with experimental port patches:
-<a href="amd64-9-exp-full/">amd64</a>
-<a href="i386-9-exp-full/">i386</a>
+<a href="amd64-9-exp-previous/">amd64</a>
+<a href="i386-9-exp-previous/">i386</a>
 <br>
 <img alt="*" src="/errorlogs/images/yellow-ball.gif"> Current run
 on 9.x-current with experimental port patches:
@@ -184,10 +184,10 @@ Build logs (errors and otherwise)
 <dd>
 <img alt="*" src="/errorlogs/images/orange-ball.gif">Previous run
 on 7.x-stable:
-<a href="amd64-7-full-logs">amd64</a>
-<a href="i386-7-full-logs">i386</a>
-<a href="ia64-7-full-logs">ia64</a>
-<a href="sparc64-7-full-logs">sparc64</a>
+<a href="amd64-7-previous-logs">amd64</a>
+<a href="i386-7-previous-logs">i386</a>
+<a href="ia64-7-previous-logs">ia64</a>
+<a href="sparc64-7-previous-logs">sparc64</a>
 <br>
 <img alt="*" src="/errorlogs/images/orange-ball.gif">Current run on
 7.x-stable:
@@ -198,11 +198,11 @@ on 7.x-stable:
 <br>
 <img alt="*" src="/errorlogs/images/orange-ball.gif">Previous run
 on 8.x-stable:
-<a href="amd64-8-full-logs">amd64</a>
-<a href="i386-8-full-logs">i386</a>
-<a href="ia64-8-full-logs">ia64</a>
-<a href="powerpc-8-full-logs">powerpc</a>
-<a href="sparc64-8-full-logs">sparc64</a>
+<a href="amd64-8-previous-logs">amd64</a>
+<a href="i386-8-previous-logs">i386</a>
+<a href="ia64-8-previous-logs">ia64</a>
+<a href="powerpc-8-previous-logs">powerpc</a>
+<a href="sparc64-8-previous-logs">sparc64</a>
 <br>
 <img alt="*" src="/errorlogs/images/orange-ball.gif">Current run on
 8.x-stable:
@@ -214,11 +214,11 @@ on 8.x-stable:
 <br>
 <img alt="*" src="/errorlogs/images/orange-ball.gif">Previous run
 on 9.x-current:
-<a href="amd64-9-full-logs">amd64</a>
-<a href="i386-9-full-logs">i386</a>
-<a href="ia64-9-full-logs">ia64</a>
-<a href="powerpc-9-full-logs">powerpc</a>
-<a href="sparc64-9-full-logs">sparc64</a>
+<a href="amd64-9-previous-logs">amd64</a>
+<a href="i386-9-previous-logs">i386</a>
+<a href="ia64-9-previous-logs">ia64</a>
+<a href="powerpc-9-previous-logs">powerpc</a>
+<a href="sparc64-9-previous-logs">sparc64</a>
 <br>
 <img alt="*" src="/errorlogs/images/orange-ball.gif">Current run on
 9.x-current:
@@ -231,8 +231,8 @@ on 9.x-current:
 <br>
 <img alt="*" src="/errorlogs/images/orange-ball.gif">Previous run
 on 7.x-stable with experimental port patches:
-<a href="amd64-7-exp-full-logs">amd64</a>
-<a href="i386-7-exp-full-logs">i386</a>
+<a href="amd64-7-exp-previous-logs">amd64</a>
+<a href="i386-7-exp-previous-logs">i386</a>
 <br>
 <img alt="*" src="/errorlogs/images/orange-ball.gif">Current run on
 7.x-stable with experimental port patches:
@@ -241,8 +241,8 @@ on 7.x-stable with experimental port pat
 <br>
 <img alt="*" src="/errorlogs/images/orange-ball.gif">Previous run
 on 8.x-stable with experimental port patches:
-<a href="amd64-8-exp-full-logs">amd64</a>
-<a href="i386-8-exp-full-logs">i386</a>
+<a href="amd64-8-exp-previous-logs">amd64</a>
+<a href="i386-8-exp-previous-logs">i386</a>
 <br>
 <img alt="*" src="/errorlogs/images/orange-ball.gif">Current run on
 8.x-stable with experimental port patches:
@@ -251,8 +251,8 @@ on 8.x-stable with experimental port pat
 <br>
 <img alt="*" src="/errorlogs/images/orange-ball.gif">Previous run
 on 9.x-current with experimental port patches:
-<a href="amd64-9-exp-full-logs">amd64</a>
-<a href="i386-9-exp-full-logs">i386</a>
+<a href="amd64-9-exp-previous-logs">amd64</a>
+<a href="i386-9-exp-previous-logs">i386</a>
 <br>
 <img alt="*" src="/errorlogs/images/orange-ball.gif">Current run on
 9.x-current with experimental port patches:

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 08:18:00 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 888E5106566B;
	Tue, 26 Apr 2011 08:18:00 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 6C6A78FC18;
	Tue, 26 Apr 2011 08:18:00 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3Q8I0JF013703;
	Tue, 26 Apr 2011 08:18:00 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3Q8I0TF013696;
	Tue, 26 Apr 2011 08:18:00 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104260818.p3Q8I0TF013696@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Tue, 26 Apr 2011 08:18:00 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221056 - in projects/portbuild: conf scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 08:18:00 -0000

Author: flz
Date: Tue Apr 26 08:18:00 2011
New Revision: 221056
URL: http://svn.freebsd.org/changeset/base/221056

Log:
  Don't hardcode CVS all over the place.

Modified:
  projects/portbuild/conf/server.conf
  projects/portbuild/scripts/dopackages
  projects/portbuild/scripts/makeworld
  projects/portbuild/scripts/processfail
  projects/portbuild/scripts/processlogs
  projects/portbuild/scripts/processlogs2

Modified: projects/portbuild/conf/server.conf
==============================================================================
--- projects/portbuild/conf/server.conf	Tue Apr 26 07:30:52 2011	(r221055)
+++ projects/portbuild/conf/server.conf	Tue Apr 26 08:18:00 2011	(r221056)
@@ -100,6 +100,18 @@ UPLOAD_USER="portmgr"
 MASTER_URL="pointyhat.FreeBSD.org"
 
 #
+# vcs-specific definitions
+#
+
+VCS="cvs"
+
+VCS_UPDATE_DATE="-Rq update -PdA -D"
+VCS_UPDATE_TAG="-Rq update -PdA -r"
+
+VCSWEB="http://cvsweb.freebsd.org"
+
+#
 # www definitions (see processfail)
 #
+
 WWW_DIRECTORY=/usr/local/www/data/

Modified: projects/portbuild/scripts/dopackages
==============================================================================
--- projects/portbuild/scripts/dopackages	Tue Apr 26 07:30:52 2011	(r221055)
+++ projects/portbuild/scripts/dopackages	Tue Apr 26 08:18:00 2011	(r221056)
@@ -14,7 +14,7 @@ umask 002
 journalname="journal"
 
 usage () {
-    echo "usage: arch branch buildid datestamp [-incremental] [-continue] [-restart] [-nofinish] [-finish] [-nocleanup] [-keep] [-nobuild] [-noindex] [-noduds] [-norestr] [-nochecksubdirs] [-nosrc] [-srccvs] [-noports] [-portscvs] [-noplistcheck] [-nodistfiles] [-fetch-original] [-cdrom] [-trybroken]"
+    echo "usage: arch branch buildid datestamp [-incremental] [-continue] [-restart] [-nofinish] [-finish] [-nocleanup] [-keep] [-nobuild] [-noindex] [-noduds] [-norestr] [-nochecksubdirs] [-nosrc] [-srcvcs] [-noports] [-portsvcs] [-noplistcheck] [-nodistfiles] [-fetch-original] [-cdrom] [-trybroken]"
 # XXX MCL I think it's going to be too hard to move the create in here, now.
     echo "       -incremental     : Start a new incremental build"
     echo "       -continue        : Restart an interrupted build, skipping failed ports"
@@ -29,9 +29,9 @@ usage () {
     echo "       -nochecksubdirs  : Do not check the SUBDIRS"
     echo "       -norestr         : Do not build the restricted.sh file"
     echo "       -nosrc           : Do not update the src tree"
-    echo "       -srccvs          : Update the src tree via CVS, don't use a pre-existing snapshot"
+    echo "       -srcvcs          : Update the src tree via CVS, don't use a pre-existing snapshot"
     echo "       -noports         : Do not update the ports tree"
-    echo "       -portscvs        : Update the ports tree via CVS, don't use a pre-existing snapshot"
+    echo "       -portsvcs        : Update the ports tree via CVS, don't use a pre-existing snapshot"
     echo "       -noplistcheck    : Don't check the plist during the build"
     echo "       -nodistfiles     : Don't collect distfiles"
     echo "       -fetch-original  : Fetch from original MASTER_SITE"
@@ -272,9 +272,9 @@ nobuild=0
 noindex=0
 noduds=0
 nosrc=0
-srccvs=0
+srcvcs=0
 noports=0
-portscvs=0
+portsvcs=0
 norestr=0
 nochecksubdirs=0
 noplistcheck=0
@@ -308,14 +308,14 @@ while [ $# -gt 0 ]; do
 	x-nosrc)
 	    nosrc=1
 	    ;;
-	x-srccvs)
-	    srccvs=1
+	x-srccvs|x-srcvcs)
+	    srcvcs=1
 	    ;;
 	x-noports)
 	    noports=1
 	    ;;
-	x-portscvs)
-	    portscvs=1
+	x-portscvs|x-portsvcs)
+	    portsvcs=1
 	    ;;
 	x-norestr)
 	    norestr=1
@@ -370,7 +370,7 @@ else
     skipstart=0
 fi
 
-# XXX check for conflict between -noports and -portscvs etc
+# XXX check for conflict between -noports and -portsvcs etc
 
 # We have valid options, start the build
 
@@ -447,14 +447,14 @@ if [ "$skipstart" = 0 ]; then
     fi
 
     if [ ${noports} -eq 0 ]; then
-	if [ -L ${builddir}/ports -o ${portscvs} -eq 1 ]; then
+	if [ -L ${builddir}/ports -o ${portsvcs} -eq 1 ]; then
 	    echo "================================================"
-	    echo "running cvs update -PAd on ${PORTSDIR}"
+	    echo "updating ${PORTSDIR} from ${VCS}"
 	    echo "================================================"
 	    cd ${PORTSDIR}
-	    updated=$(date)
+	    updated=$(date '+%Y/%m/%d %H:%M')
 	    echo ${updated} > ${builddir}/.updated
-	    cvs -Rq update -PdA -D "${updated}"
+	    ${VCS} ${VCS_UPDATE_DATE} "${updated}"
 	    # XXX Check for conflicts
 	else
 	    # echo "XXX at build portsupdate portsupdate ${arch} ${branch} ${buildid} $@ "
@@ -474,13 +474,13 @@ if [ "$skipstart" = 0 ]; then
     # Create tarballs for distributing to clients.  Should not cause
     # much extra delay because we will do this in conjunction with
     # recursing over the ports tree anyway just below, and might have
-    # just finished cvs updating, so it is likely to be in cache.
+    # just finished vcs updating, so it is likely to be in cache.
     portstar &
 
     if [ ${nosrc} -eq 0 ]; then
-	if [ -L ${builddir}/src -o ${srccvs} -eq 1 ]; then
+	if [ -L ${builddir}/src -o ${srcvcs} -eq 1 ]; then
 	    echo "================================================"
-	    echo "running cvs update -PAd on ${SRC_BASE}"
+	    echo "updating ${SRC_BASE} from ${VCS}"
 	    echo "================================================"
 	    cd ${SRC_BASE}
 	    if [ -z "${updated}" ]; then
@@ -488,7 +488,7 @@ if [ "$skipstart" = 0 ]; then
 		# with the ports update
 		updated=$(date)
 	    fi
-	    cvs -Rq update -PdA -D "${updated}"
+	    ${VCS} ${VCS_UPDATE_ARGS} "${updated}"
 	    # XXX Check for conflicts
 	else
 	    build srcupdate ${arch} ${branch} ${buildid} $@ 

Modified: projects/portbuild/scripts/makeworld
==============================================================================
--- projects/portbuild/scripts/makeworld	Tue Apr 26 07:30:52 2011	(r221055)
+++ projects/portbuild/scripts/makeworld	Tue Apr 26 08:18:00 2011	(r221056)
@@ -29,7 +29,7 @@ export TARGET_ARCH=${arch}
 export NO_FSCHG=1
 
 client=0
-nocvs=0
+novcs=0
 
 # optional arguments
 while [ $# -gt 0 ]; do
@@ -37,8 +37,8 @@ while [ $# -gt 0 ]; do
     -client)
       client=1
       ;;
-    -nocvs)
-      nocvs=1
+    -nocvs|-novcs)
+      novcs=1
       ;;
     *)
       args="$1 ${args}"
@@ -57,10 +57,10 @@ else
 fi
 cd ${SRC_BASE}
 
-if [ "$nocvs" = "0" ]; then
+if [ "$novcs" = "0" ]; then
 	echo "==> Updating source tree"
 	eval tag=\$SRC_BRANCH_${branch}_TAG
-  	cvs -Rq update -PdA -r ${tag} || exit $?
+  	${VCS} ${VCS_UPDATE_TAG} ${tag} || exit $?
 fi
 
 echo "==> Starting make buildworld"

Modified: projects/portbuild/scripts/processfail
==============================================================================
--- projects/portbuild/scripts/processfail	Tue Apr 26 07:30:52 2011	(r221055)
+++ projects/portbuild/scripts/processfail	Tue Apr 26 08:18:00 2011	(r221056)
@@ -58,7 +58,7 @@ sort -r -n -k 4 -t \| failure > newfailu
 IFS='|'
 while read dir name ver date last count; do
     echo "<tr>" >> $of
-    echo "<td><a href=\"http://cvsweb.freebsd.org/ports/$dir\">$dir</a></td>" >> $of
+    echo "<td><a href=\"${VCSWEB}/ports/$dir\">$dir</a></td>" >> $of
     if [ -L ${pb}/${arch}/${branch}/latest/${dir} ]; then
       err=$(readlink ${pb}/${arch}/${branch}/latest/${dir})
       echo "<td><a href=\"${arch}-errorlogs/$(basename $(dirname ${err}))/$(basename ${err})\">$ver</a></td>" >> $of
@@ -67,7 +67,7 @@ while read dir name ver date last count;
     fi
 
 #    echo "<td align=\"right\">$affby</td><td align=\"right\">$4 Kb</td>" >> $of
-#    echo "<td><a href=\"http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/$5\">$5</a></td>" >> $of
+#    echo "<td><a href=\"${VCSWEB}/ports/$5\">$5</a></td>" >> $of
 #    echo "<td><a href=\"mailto:$6\">$6</a></td>" >> $of
 #    echo "<td>" >> $of
 

Modified: projects/portbuild/scripts/processlogs
==============================================================================
--- projects/portbuild/scripts/processlogs	Tue Apr 26 07:30:52 2011	(r221055)
+++ projects/portbuild/scripts/processlogs	Tue Apr 26 08:18:00 2011	(r221056)
@@ -175,7 +175,7 @@ sort .logs/.all | while read line; do
     affby="$3"
     test "${affby}" = "0" -o "${affby}" = "-1" && affby="&nbsp;"
     echo "<td align=\"right\">${affby}</td><td align=\"right\">$4 Kb</td>" >> $of
-    echo "<td><a href=\"http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/$5\">$5</a></td>" >> $of
+    echo "<td><a href=\"${VCSWEB}/ports/$5\">$5</a></td>" >> $of
     echo "<td>$mailto</td>" >> $of
     echo "<td>" >> $of
 
@@ -211,7 +211,7 @@ sort -t \| +4 .logs/.all | while read li
 
     echo "<tr>" >> $of
 
-    echo "<td><a href=\"http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/$5\">$5</a></td>" >> $of
+    echo "<td><a href=\"${VCSWEB}/ports/$5\">$5</a></td>" >> $of
 
     affby="$3"
     test "${affby}" = "0" -o "${affby}" = "-1" && affby="&nbsp;"
@@ -258,7 +258,7 @@ sort -t \| +5 .logs/.all | while read li
     affby="$3"
     test "${affby}" = "0" -o "${affby}" = "-1" && affby="&nbsp;"
     echo "<td align=\"right\">${affby}</td><td align=\"right\">$4 Kb</td>" >> $of
-    echo "<td><a href=\"http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/$5\">$5</a></td>" >> $of
+    echo "<td><a href=\"${VCSWEB}/ports/$5\">$5</a></td>" >> $of
 
     echo "<td>" >> $of
     test "$9" = "broken" && echo "<font color=\"red\">[B]</font>" >> $of
@@ -304,7 +304,7 @@ sort -t \| +7 .logs/.all | while read li
     affby="$3"
     test "${affby}" = "0" -o "${affby}" = "-1" && affby="&nbsp;"
     echo "<td align=\"right\">${affby}</td><td align=\"right\">$4 Kb</td>" >> $of
-    echo "<td><a href=\"http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/$5\">$5</a></td>" >> $of
+    echo "<td><a href=\"${VCSWEB}/ports/$5\">$5</a></td>" >> $of
     echo "<td>$mailto</td>" >> $of
 
     date=`echo ${10} | sed -e "s/_/ /g"`
@@ -343,7 +343,7 @@ sort -t \| +9 .logs/.all | while read li
     affby="$3"
     test "${affby}" = "0" -o "${affby}" = "-1" && affby="&nbsp;"
     echo "<td align=\"right\">${affby}</td><td align=\"right\">$4 Kb</td>" >> $of
-    echo "<td><a href=\"http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/$5\">$5</a></td>" >> $of
+    echo "<td><a href=\"${VCSWEB}/ports/$5\">$5</a></td>" >> $of
     echo "<td>$mailto</td>" >> $of
 
     echo "<td>" >> $of

Modified: projects/portbuild/scripts/processlogs2
==============================================================================
--- projects/portbuild/scripts/processlogs2	Tue Apr 26 07:30:52 2011	(r221055)
+++ projects/portbuild/scripts/processlogs2	Tue Apr 26 08:18:00 2011	(r221056)
@@ -38,7 +38,7 @@ else
     echo -n "$size KB" >>$of
     echo -n "</td><td valign=\"top\">" >>$of
     dir=$(sed -n -e '5p' $log.log | awk '{print $3}' | sed -e 's,^/[^/]*/[^/]*/,,')
-    echo -n "<a href=\"http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/$dir\">$dir</a>" >>$of
+    echo -n "<a href=\"${VCSWEB}/ports/$dir\">$dir</a>" >>$of
     echo -n "</td><td valign=\"top\">" >>$of
     maint=$(sed -n -e '4p' $log.log | awk '{print $3}')
     maints="$maints $maint"

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 08:18:01 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id DA66A1065670;
	Tue, 26 Apr 2011 08:18:01 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id C96B28FC19;
	Tue, 26 Apr 2011 08:18:01 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3Q8I1QS013741;
	Tue, 26 Apr 2011 08:18:01 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3Q8I1Vf013736;
	Tue, 26 Apr 2011 08:18:01 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104260818.p3Q8I1Vf013736@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Tue, 26 Apr 2011 08:18:01 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221057 - projects/portbuild/scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 08:18:01 -0000

Author: flz
Date: Tue Apr 26 08:18:01 2011
New Revision: 221057
URL: http://svn.freebsd.org/changeset/base/221057

Log:
  Add support for dopackages -target <file>, to only build a defined set of ports.

Modified:
  projects/portbuild/scripts/dopackages
  projects/portbuild/scripts/makeduds
  projects/portbuild/scripts/makeindex
  projects/portbuild/scripts/makerestr

Modified: projects/portbuild/scripts/dopackages
==============================================================================
--- projects/portbuild/scripts/dopackages	Tue Apr 26 08:18:00 2011	(r221056)
+++ projects/portbuild/scripts/dopackages	Tue Apr 26 08:18:01 2011	(r221057)
@@ -14,7 +14,7 @@ umask 002
 journalname="journal"
 
 usage () {
-    echo "usage: arch branch buildid datestamp [-incremental] [-continue] [-restart] [-nofinish] [-finish] [-nocleanup] [-keep] [-nobuild] [-noindex] [-noduds] [-norestr] [-nochecksubdirs] [-nosrc] [-srcvcs] [-noports] [-portsvcs] [-noplistcheck] [-nodistfiles] [-fetch-original] [-cdrom] [-trybroken]"
+    echo "usage: arch branch buildid datestamp [-incremental] [-continue] [-restart] [-nofinish] [-finish] [-nocleanup] [-keep] [-nobuild] [-noindex] [-noduds] [-norestr] [-nochecksubdirs] [-nosrc] [-srcvcs] [-noports] [-portsvcs] [-noplistcheck] [-nodistfiles] [-fetch-original] [-cdrom] [-trybroken] [-target <file>]"
 # XXX MCL I think it's going to be too hard to move the create in here, now.
     echo "       -incremental     : Start a new incremental build"
     echo "       -continue        : Restart an interrupted build, skipping failed ports"
@@ -37,6 +37,7 @@ usage () {
     echo "       -fetch-original  : Fetch from original MASTER_SITE"
     echo "       -cdrom           : Prepare a build for distribution on CDROM "
     echo "       -trybroken       : Try to build BROKEN ports"
+    echo "       -target <file>   : Build ports listed in file, rather than the whole ports tree"
 
     exit 1
 }
@@ -93,7 +94,7 @@ portstar() {
     md5 ${builddir}/ports-${buildid}.tbz > ${builddir}/ports-${buildid}.tbz.md5
 }
 
-# usage: makeindex pb arch branch builddir
+# usage: makeindex pb arch branch builddir [target]
 # note: can take ~24 minutes!
 makeindex () {
     pb=$1
@@ -101,13 +102,14 @@ makeindex () {
     branch=$3
     buildid=$4
     builddir=$5
+    target=$6
 
     cd ${builddir}/ports
     echo "================================================"
     echo "generating index"
     echo "================================================"
     echo "index generation started at $(date)"
-    ${pb}/scripts/makeindex ${arch} ${branch} ${buildid} || return 1
+    ${pb}/scripts/makeindex ${arch} ${branch} ${buildid} ${target} || return 1
     echo "index generation ended at $(date)"
     echo $(wc -l ${INDEXFILE} | awk '{print $1}') "lines in INDEX"
 
@@ -137,7 +139,7 @@ checkindex () {
     fi
 }
 
-# usage: makeduds pb arch branch builddir
+# usage: makeduds pb arch branch builddir [target]
 # note: can take ~21 minutes!
 makeduds () {
     pb=$1
@@ -145,6 +147,7 @@ makeduds () {
     branch=$3
     buildid=$4
     builddir=$5
+    target=$6
 
     cd ${builddir}/ports
     echo "================================================"
@@ -154,7 +157,7 @@ makeduds () {
     if [ -e ${builddir}/duds ]; then
 	cp -p ${builddir}/duds ${builddir}/duds.old
     fi
-    if ! ${pb}/scripts/makeduds ${arch} ${branch} ${buildid}; then
+    if ! ${pb}/scripts/makeduds ${arch} ${branch} ${buildid} ${target}; then
 	echo "error(s) detected, exiting script at $(date).  Failed duds list was:"
 	cat ${builddir}/duds
 	mailexit 1
@@ -170,7 +173,7 @@ makeduds () {
     cp -p ${builddir}/duds ${builddir}/duds.orig
 }
 
-# usage: restrictedlist pb arch branch builddir
+# usage: restrictedlist pb arch branch builddir [target]
 # note: can take ~25 minutes!
 restrictedlist () {
     pb=$1
@@ -178,13 +181,14 @@ restrictedlist () {
     branch=$3
     buildid=$4
     builddir=$5
+    target=$6
     
     cd ${builddir}/ports
     echo "================================================"
     echo "creating restricted list"
     echo "================================================"
     echo "restricted list generation started at $(date)"
-    ${pb}/scripts/makerestr ${arch} ${branch} ${buildid} || return 1
+    ${pb}/scripts/makerestr ${arch} ${branch} ${buildid} ${target} || return 1
     echo "restricted list generation ended at $(date)"
     echo $(grep -c '^#' ${builddir}/restricted.sh) "ports in ${builddir}/restricted.sh"
 }
@@ -357,6 +361,10 @@ while [ $# -gt 0 ]; do
 	x-nocleanup)
 	    nocleanup=1
 	    ;;
+        x-target)
+            shift
+            target=$(realpath $1)
+            ;;
 	*)
 	    usage
 	    ;;
@@ -510,11 +518,11 @@ if [ "$skipstart" = 0 ]; then
     # XXX MCL could background these?
     # not run in background to check return status
     if [ "$noindex" = 0 ]; then
-	makeindex ${pb} ${arch} ${branch} ${buildid} ${builddir} || mailexit 1
+	makeindex ${pb} ${arch} ${branch} ${buildid} ${builddir} ${target} || mailexit 1
     fi
     checkindex ${builddir} || mailexit 1
     if [ "$noduds" = 0 ]; then
-	makeduds ${pb} ${arch} ${branch} ${buildid} ${builddir} || mailexit 1
+	makeduds ${pb} ${arch} ${branch} ${buildid} ${builddir} ${target} || mailexit 1
     fi
 
     wait # for tar creation
@@ -539,7 +547,7 @@ if [ "$skipstart" = 0 ]; then
 
     # XXX These can happen after build start
     if [ "$norestr" = 0 ]; then
-	restrictedlist ${pb} ${arch} ${branch} ${buildid} ${builddir} &
+	restrictedlist ${pb} ${arch} ${branch} ${buildid} ${builddir} ${target} &
 	job_restrictedlist=$!
     fi
     

Modified: projects/portbuild/scripts/makeduds
==============================================================================
--- projects/portbuild/scripts/makeduds	Tue Apr 26 08:18:00 2011	(r221056)
+++ projects/portbuild/scripts/makeduds	Tue Apr 26 08:18:01 2011	(r221057)
@@ -1,11 +1,11 @@
 #!/bin/sh
 
 usage () {
-  echo "usage: makeduds arch branch buildid"
+  echo "usage: makeduds arch branch buildid [target]"
   exit 1
 }
 
-if [ $# -ne 3 ]; then
+if [ $# -lt 3 ]; then
   usage
 fi
 
@@ -14,7 +14,7 @@ pb=/var/portbuild
 arch=$1
 branch=$2
 buildid=$3
-shift 3
+target=$4
 
 builddir=${pb}/${arch}/${branch}/builds/${buildid}
 
@@ -39,8 +39,21 @@ export LINUXBASE=/nonexistentlinux
 export PKG_DBDIR=/nonexistentpkg
 export PORT_DBDIR=/nonexistentport
 
+DUDS_PORTS=.
+if [ -n "$target" ]; then
+  if [ -f "$target" ]; then
+    DUDS_PORTS=$(cat $target | tr '\n' ' ')
+  else
+    echo "File $target doesn't exist. Exiting."
+    exit 1
+  fi
+fi
+
 cd ${PORTSDIR}
-make -j${DUDSJOBS} ignorelist-verbose ECHO_MSG=true > ${duds}.verbose 2> /dev/null || exit 1
+(for i in ${DUDS_PORTS}; do
+    cd ${PORTSDIR}/$i
+    make -j${DUDSJOBS} ignorelist-verbose ECHO_MSG=true 
+done) > ${duds}.verbose 2> /dev/null || exit 1
 sort ${duds}.verbose > ${duds}.verbose.tmp
 mv -f ${duds}.verbose.tmp ${duds}.verbose
 cut -f 1 -d \| ${duds}.verbose > ${duds}

Modified: projects/portbuild/scripts/makeindex
==============================================================================
--- projects/portbuild/scripts/makeindex	Tue Apr 26 08:18:00 2011	(r221056)
+++ projects/portbuild/scripts/makeindex	Tue Apr 26 08:18:01 2011	(r221057)
@@ -16,18 +16,18 @@ export INDEX_JOBS=6
 pb=/var/portbuild
 
 usage () {
-  echo "usage: makeindex arch branch buildid"
+  echo "usage: makeindex arch branch buildid [target]"
   exit 1
 }
 
-if [ $# -ne 3 ]; then
+if [ $# -lt 3 ]; then
   usage
 fi
 
 arch=$1
 branch=$2
 buildid=$3
-shift 3
+target=$4
 
 builddir=${pb}/${arch}/${branch}/builds/${buildid}
 
@@ -44,8 +44,17 @@ unset DISPLAY
 # Don't pick up installed packages from the host
 export LOCALBASE=/nonexistentlocal
 
+if [ -n "$target" ]; then
+  if [ -f "$target" ]; then
+    INDEX_PORTS=$(cat $target | tr '\n' ' ')
+  else
+    echo "File $target doesn't exist. Exiting."
+    exit 1
+  fi
+fi
+
 cd ${PORTSDIR}
-make index
+make index INDEX_PORTS="${INDEX_PORTS}"
 if [ ! -e ${INDEXFILE} ]; then
   echo "makeindex: failed to make ${INDEXFILE}"
   exit 1

Modified: projects/portbuild/scripts/makerestr
==============================================================================
--- projects/portbuild/scripts/makerestr	Tue Apr 26 08:18:00 2011	(r221056)
+++ projects/portbuild/scripts/makerestr	Tue Apr 26 08:18:01 2011	(r221057)
@@ -1,10 +1,10 @@
 #!/bin/sh
 
 usage () {
-  echo "usage: makerestr arch branch buildid"
+  echo "usage: makerestr arch branch buildid [target]"
   exit 1
 }
-if [ $# -ne 3 ]; then
+if [ $# -lt 3 ]; then
   usage
 fi
 
@@ -13,7 +13,7 @@ pb=/var/portbuild
 arch=$1
 branch=$2
 buildid=$3
-shift
+target=$4
 
 . ${pb}/conf/server.conf
 . ${pb}/conf/common.conf
@@ -32,8 +32,20 @@ export LINUXBASE=/nonexistentlinux
 export PKG_DBDIR=/nonexistentpkg
 export PORT_DBDIR=/nonexistentport
 
+RESTR_PORTS=.
+if [ -n "$target" ]; then
+  if [ -f "$target" ]; then
+    RESTR_PORTS=$(cat $target | tr '\n' ' ')
+  else
+    echo "File $target doesn't exist. Exiting."
+    exit 1
+  fi
+fi
+
 cd ${PORTSDIR}
-make -j4 ECHO_MSG=true clean-restricted-list \
-  | sed -e "s!/usr/ports/packages/!${builddir}/packages/!g" \
-  -e "s!/usr/ports/!${builddir}/ports/!g" \
-  > ${builddir}/restricted.sh 2> /dev/null
+(for i in ${RESTR_PORTS}; do
+    cd ${PORTSDIR}/$i
+    make -j4 ECHO_MSG=true clean-restricted-list \
+      | sed -e "s!/usr/ports/packages/!${builddir}/packages/!g" \
+      -e "s!/usr/ports/!${builddir}/ports/!g"
+done) > ${builddir}/restricted.sh 2> /dev/null

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 12:50:26 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id C99AA106567C;
	Tue, 26 Apr 2011 12:50:26 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id A104B8FC0C;
	Tue, 26 Apr 2011 12:50:26 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QCoQm5023106;
	Tue, 26 Apr 2011 12:50:26 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QCoQxe023104;
	Tue, 26 Apr 2011 12:50:26 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104261250.p3QCoQxe023104@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Tue, 26 Apr 2011 12:50:26 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221063 - in projects/portbuild: scripts tools
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 12:50:26 -0000

Author: flz
Date: Tue Apr 26 12:50:26 2011
New Revision: 221063
URL: http://svn.freebsd.org/changeset/base/221063

Log:
  Rename straslivy.py to showrunning.py and move to tools/.

Added:
  projects/portbuild/tools/
  projects/portbuild/tools/showrunning.py
     - copied, changed from r221057, projects/portbuild/scripts/straslivy.py
Deleted:
  projects/portbuild/scripts/straslivy.py

Copied and modified: projects/portbuild/tools/showrunning.py (from r221057, projects/portbuild/scripts/straslivy.py)
==============================================================================

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 15:11:12 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id AA719106564A;
	Tue, 26 Apr 2011 15:11:12 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 98FBF8FC16;
	Tue, 26 Apr 2011 15:11:12 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QFBC3Y027452;
	Tue, 26 Apr 2011 15:11:12 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QFBCgR027449;
	Tue, 26 Apr 2011 15:11:12 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104261511.p3QFBCgR027449@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Tue, 26 Apr 2011 15:11:12 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221067 - projects/portbuild/sources
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 15:11:12 -0000

Author: flz
Date: Tue Apr 26 15:11:12 2011
New Revision: 221067
URL: http://svn.freebsd.org/changeset/base/221067

Log:
  portbuild: cleanup ptimeout.c/pnohang.c.
  
  - Make the two scripts compile without warning (fix possible bug as well).
  - Replace commented printf's with DPRINTF macro.

Modified:
  projects/portbuild/sources/pnohang.c
  projects/portbuild/sources/ptimeout.c

Modified: projects/portbuild/sources/pnohang.c
==============================================================================
--- projects/portbuild/sources/pnohang.c	Tue Apr 26 13:50:11 2011	(r221066)
+++ projects/portbuild/sources/pnohang.c	Tue Apr 26 15:11:12 2011	(r221067)
@@ -1,5 +1,5 @@
-/* pnohang: executes command ($4-) with output in file ($3)
- * kills command if no output with $1 seconds with message in $2
+/* pnohang: executes command ($4-) with output in file ($2)
+ * kills command if no output with $1 seconds with message in $3
  * usage: pnohang timeout file command args ...
  */
 
@@ -11,17 +11,23 @@
 #include <unistd.h>
 #include <time.h>
 #include <errno.h>
+#include <err.h>
 #include <fcntl.h>
 #include <string.h>
 #include <stdlib.h>
 #include <stdio.h>
 
+#if defined(DEBUG)
+# define DPRINTF(fmt, ...) printf(fmt, __VA_ARGS__)
+#else
+# define DPRINTF(fmt, ...)
+#endif
+
 int
 main(int argc, char *argv[])
 {
     	int timeout, status, i, result, ofd;
 	char *command, *outfile, *message, args[MAXPATHLEN + 1];
-	char logstr[BUFSIZ + 1];
 	pid_t pid, pid1, pid2, child;
 	time_t now;
 	struct stat st;
@@ -46,10 +52,10 @@ main(int argc, char *argv[])
 
 	pid = getpid();
 
-	/*printf("timeout is %d\n", timeout);
-	printf("outfile is %s\n", outfile);
-	printf("message is %s\n", message);
-	printf("arguments are %s", args);*/
+	DPRINTF("timeout is %d\n", timeout);
+	DPRINTF("outfile is %s\n", outfile);
+	DPRINTF("message is %s\n", message);
+	DPRINTF("command is %s\n", args);
 
 	if ((ofd = open(outfile, O_CREAT|O_TRUNC|O_WRONLY, 0600)) == -1)
 		err(1, "open");
@@ -68,13 +74,13 @@ main(int argc, char *argv[])
 
 		    /* parent */
 		    child = wait(&status);
-		    /*printf("exited child is %d, status is %d\n", child, status);*/
+		    DPRINTF("exited child is %d, status is %d\n", child, status);
 
-		    if (pid1 = child) {
-			/*printf("killing process %d (second child)\n", pid2);*/
+		    if (pid1 == child) {
+			DPRINTF("killing process %d (second child)\n", pid2);
 			kill(pid2, SIGTERM);
 		    } else {
-			/*printf("killing process %d (first child)\n", pid1);*/
+			DPRINTF("killing process %d (first child)\n", pid1);
 			kill(pid1, SIGTERM);
 		    }
 		    /* exit status in upper 8 bits, killed signal (if any) in
@@ -88,8 +94,6 @@ main(int argc, char *argv[])
 			now = time(NULL);
 			stat(outfile, &st);
 			if ((now - st.st_mtime) > timeout) {
-			    /*snprintf(logstr, BUFSIZ, "logger -t %s killing %s %s, pid %d since no output in %d seconds", argv[0], args, message, pid, timeout);
-			    system(logstr);*/
 			    printf("%s: killing %s (%s, pid %d and %d) since no output in %d seconds since %s", argv[0], args, message, pid1, pid, timeout, ctime(&now));
 			    printf("ps jgx before the signal\n");
 			    system("ps jgxww");
@@ -105,7 +109,7 @@ main(int argc, char *argv[])
 		}
 	} else {
 	    	/* first child */
-		/*printf("executing %s\n", args);*/
+		DPRINTF("executing %s\n", args);
 		result = execvp(command, argv + 4);
 		if (result < 0) {
 		    printf("Failed to exec %s: %s\n", args, strerror(errno));

Modified: projects/portbuild/sources/ptimeout.c
==============================================================================
--- projects/portbuild/sources/ptimeout.c	Tue Apr 26 13:50:11 2011	(r221066)
+++ projects/portbuild/sources/ptimeout.c	Tue Apr 26 15:11:12 2011	(r221067)
@@ -14,6 +14,12 @@
 #include <stdlib.h>
 #include <stdio.h>
 
+#if defined(DEBUG)
+# define DPRINTF(fmt, ...) printf(fmt, __VA_ARGS__)
+#else
+# define DPRINTF(fmt, ...)
+#endif
+
 int
 main(int argc, char *argv[])
 {
@@ -36,20 +42,20 @@ main(int argc, char *argv[])
 		strlcat(args, " ", MAXPATHLEN - strlen(args));
 	}
 
-	/*printf("timeout is %d\n", timeout);
-	printf("arguments are %s\n", args);*/
+	DPRINTF("timeout is %d\n", timeout);
+	DPRINTF("arguments are %s\n", args);
 
 	if ((pid1 = fork()) > 0) {
 	    	if ((pid2 = fork()) > 0) {
 		    /* parent */
-		    /*printf("child pids are %d %d\n", pid1, pid2);*/
+		    DPRINTF("child pids are %d %d\n", pid1, pid2);
 		    child = wait(&status);
-		    /*printf("exited child is %d, status is %d\n", child, status);*/
-		    if (pid1 = child) {
-			/*printf("killing process %d\n", pid2);*/
+		    DPRINTF("exited child is %d, status is %d\n", child, status);
+		    if (pid1 == child) {
+			DPRINTF("killing process %d\n", pid2);
 			kill(pid2, SIGKILL);
 		    } else {
-			/*printf("killing process %d\n", pid1);*/
+			DPRINTF("killing process %d\n", pid1);
 			kill(pid1, SIGTERM);
 		    }
 		    /* exit status in upper 8 bits, killed signal (if any)
@@ -66,7 +72,7 @@ main(int argc, char *argv[])
 		}
 	} else {
 	    	/* first child */
-		/*printf("executing %s\n", args);*/
+		DPRINTF("executing %s\n", args);
 		execvp(command, argv + 2);
 	}
 

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 15:11:14 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 442051065670;
	Tue, 26 Apr 2011 15:11:14 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 193888FC18;
	Tue, 26 Apr 2011 15:11:14 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QFBDMX027486;
	Tue, 26 Apr 2011 15:11:13 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QFBD77027483;
	Tue, 26 Apr 2011 15:11:13 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104261511.p3QFBD77027483@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Tue, 26 Apr 2011 15:11:13 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221068 - projects/portbuild/sources
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 15:11:14 -0000

Author: flz
Date: Tue Apr 26 15:11:13 2011
New Revision: 221068
URL: http://svn.freebsd.org/changeset/base/221068

Log:
  portbuild: use SIGKILL for ptimeout/pnohang.
  
  As requested by Pav.

Modified:
  projects/portbuild/sources/pnohang.c
  projects/portbuild/sources/ptimeout.c

Modified: projects/portbuild/sources/pnohang.c
==============================================================================
--- projects/portbuild/sources/pnohang.c	Tue Apr 26 15:11:12 2011	(r221067)
+++ projects/portbuild/sources/pnohang.c	Tue Apr 26 15:11:13 2011	(r221068)
@@ -70,7 +70,7 @@ main(int argc, char *argv[])
 		    sv.sa_handler = SIG_IGN;
 		    sigemptyset(&sv.sa_mask);
 		    sv.sa_flags = 0;
-		    sigaction(SIGTERM, &sv, 0);
+		    sigaction(SIGKILL, &sv, 0);
 
 		    /* parent */
 		    child = wait(&status);
@@ -78,10 +78,10 @@ main(int argc, char *argv[])
 
 		    if (pid1 == child) {
 			DPRINTF("killing process %d (second child)\n", pid2);
-			kill(pid2, SIGTERM);
+			kill(pid2, SIGKILL);
 		    } else {
 			DPRINTF("killing process %d (first child)\n", pid1);
-			kill(pid1, SIGTERM);
+			kill(pid1, SIGKILL);
 		    }
 		    /* exit status in upper 8 bits, killed signal (if any) in
 		     * lower 8 bits
@@ -98,9 +98,9 @@ main(int argc, char *argv[])
 			    printf("ps jgx before the signal\n");
 			    system("ps jgxww");
 			    sleep(1); /* give it a chance to output the message */
-			    kill(pid1, SIGTERM);
+			    kill(pid1, SIGKILL);
 			    sleep(1);
-			    kill(pid, SIGTERM);
+			    kill(pid, SIGKILL);
 			    sleep(1);
 			    system("ps jgxww");
 			    exit(1);

Modified: projects/portbuild/sources/ptimeout.c
==============================================================================
--- projects/portbuild/sources/ptimeout.c	Tue Apr 26 15:11:12 2011	(r221067)
+++ projects/portbuild/sources/ptimeout.c	Tue Apr 26 15:11:13 2011	(r221068)
@@ -56,7 +56,7 @@ main(int argc, char *argv[])
 			kill(pid2, SIGKILL);
 		    } else {
 			DPRINTF("killing process %d\n", pid1);
-			kill(pid1, SIGTERM);
+			kill(pid1, SIGKILL);
 		    }
 		    /* exit status in upper 8 bits, killed signal (if any)
 		     * in lower 8 bits
@@ -67,7 +67,7 @@ main(int argc, char *argv[])
 		    sleep(timeout);
 		    t = time(NULL);
 		    printf("ptimeout: killing %s (pid %d) since timeout of %d expired at %s", args, pid1, timeout, ctime(&t));
-		    kill(pid1, SIGTERM);
+		    kill(pid1, SIGKILL);
 		    exit(1);
 		}
 	} else {

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 15:53:24 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 213BA1065672;
	Tue, 26 Apr 2011 15:53:24 +0000 (UTC)
	(envelope-from kostikbel@gmail.com)
Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200])
	by mx1.freebsd.org (Postfix) with ESMTP id 960F98FC13;
	Tue, 26 Apr 2011 15:53:23 +0000 (UTC)
Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua
	[10.1.1.148])
	by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id p3QFFuc5063853
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 26 Apr 2011 18:15:57 +0300 (EEST)
	(envelope-from kostikbel@gmail.com)
Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1])
	by deviant.kiev.zoral.com.ua (8.14.4/8.14.4) with ESMTP id
	p3QFFu5Z045176; Tue, 26 Apr 2011 18:15:56 +0300 (EEST)
	(envelope-from kostikbel@gmail.com)
Received: (from kostik@localhost)
	by deviant.kiev.zoral.com.ua (8.14.4/8.14.4/Submit) id p3QFFucc045175; 
	Tue, 26 Apr 2011 18:15:56 +0300 (EEST)
	(envelope-from kostikbel@gmail.com)
X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to
	kostikbel@gmail.com using -f
Date: Tue, 26 Apr 2011 18:15:56 +0300
From: Kostik Belousov <kostikbel@gmail.com>
To: Florent Thoumie <flz@freebsd.org>
Message-ID: <20110426151555.GT48734@deviant.kiev.zoral.com.ua>
References: <201104261511.p3QFBD77027483@svn.freebsd.org>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="w1WLgcEPVIWvtHEy"
Content-Disposition: inline
In-Reply-To: <201104261511.p3QFBD77027483@svn.freebsd.org>
User-Agent: Mutt/1.4.2.3i
X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua
X-Virus-Status: Clean
Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org
Subject: Re: svn commit: r221068 - projects/portbuild/sources
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 15:53:24 -0000


--w1WLgcEPVIWvtHEy
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 26, 2011 at 03:11:13PM +0000, Florent Thoumie wrote:
> Author: flz
> Date: Tue Apr 26 15:11:13 2011
> New Revision: 221068
> URL: http://svn.freebsd.org/changeset/base/221068
>=20
> Log:
>   portbuild: use SIGKILL for ptimeout/pnohang.
>  =20
>   As requested by Pav.
>=20
> Modified:
>   projects/portbuild/sources/pnohang.c
>   projects/portbuild/sources/ptimeout.c
>=20
> Modified: projects/portbuild/sources/pnohang.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/portbuild/sources/pnohang.c	Tue Apr 26 15:11:12 2011	(r22106=
7)
> +++ projects/portbuild/sources/pnohang.c	Tue Apr 26 15:11:13 2011	(r22106=
8)
> @@ -70,7 +70,7 @@ main(int argc, char *argv[])
>  		    sv.sa_handler =3D SIG_IGN;
>  		    sigemptyset(&sv.sa_mask);
>  		    sv.sa_flags =3D 0;
> -		    sigaction(SIGTERM, &sv, 0);
> +		    sigaction(SIGKILL, &sv, 0);
sigaction(SIGKILL) does not make any sense, you cannot ignore SIGKILL.

> =20
>  		    /* parent */
>  		    child =3D wait(&status);
> @@ -78,10 +78,10 @@ main(int argc, char *argv[])
> =20
>  		    if (pid1 =3D=3D child) {
>  			DPRINTF("killing process %d (second child)\n", pid2);
> -			kill(pid2, SIGTERM);
> +			kill(pid2, SIGKILL);
>  		    } else {
>  			DPRINTF("killing process %d (first child)\n", pid1);
> -			kill(pid1, SIGTERM);
> +			kill(pid1, SIGKILL);
>  		    }
>  		    /* exit status in upper 8 bits, killed signal (if any) in
>  		     * lower 8 bits
> @@ -98,9 +98,9 @@ main(int argc, char *argv[])
>  			    printf("ps jgx before the signal\n");
>  			    system("ps jgxww");
>  			    sleep(1); /* give it a chance to output the message */
> -			    kill(pid1, SIGTERM);
> +			    kill(pid1, SIGKILL);
>  			    sleep(1);
> -			    kill(pid, SIGTERM);
> +			    kill(pid, SIGKILL);
>  			    sleep(1);
>  			    system("ps jgxww");
>  			    exit(1);
>=20
> Modified: projects/portbuild/sources/ptimeout.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/portbuild/sources/ptimeout.c	Tue Apr 26 15:11:12 2011	(r2210=
67)
> +++ projects/portbuild/sources/ptimeout.c	Tue Apr 26 15:11:13 2011	(r2210=
68)
> @@ -56,7 +56,7 @@ main(int argc, char *argv[])
>  			kill(pid2, SIGKILL);
>  		    } else {
>  			DPRINTF("killing process %d\n", pid1);
> -			kill(pid1, SIGTERM);
> +			kill(pid1, SIGKILL);
>  		    }
>  		    /* exit status in upper 8 bits, killed signal (if any)
>  		     * in lower 8 bits
> @@ -67,7 +67,7 @@ main(int argc, char *argv[])
>  		    sleep(timeout);
>  		    t =3D time(NULL);
>  		    printf("ptimeout: killing %s (pid %d) since timeout of %d expired =
at %s", args, pid1, timeout, ctime(&t));
> -		    kill(pid1, SIGTERM);
> +		    kill(pid1, SIGKILL);
>  		    exit(1);
>  		}
>  	} else {

--w1WLgcEPVIWvtHEy
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (FreeBSD)

iEYEARECAAYFAk224asACgkQC3+MBN1Mb4jUDACfWjbI2kmrWf0wRy5t9DZj9r5B
cMcAoOc7otKD9zFuVDic/haz/QEuUO6p
=/VS2
-----END PGP SIGNATURE-----

--w1WLgcEPVIWvtHEy--

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 20:25:17 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 513341065676;
	Tue, 26 Apr 2011 20:25:17 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 413B78FC1A;
	Tue, 26 Apr 2011 20:25:17 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QKPHlT037295;
	Tue, 26 Apr 2011 20:25:17 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QKPHnn037284;
	Tue, 26 Apr 2011 20:25:17 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104262025.p3QKPHnn037284@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Tue, 26 Apr 2011 20:25:17 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221080 - in projects/portbuild: lib lib/python
	qmanager scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 20:25:17 -0000

Author: flz
Date: Tue Apr 26 20:25:16 2011
New Revision: 221080
URL: http://svn.freebsd.org/changeset/base/221080

Log:
  portbuild: add homemade python modules.
  
  And adjust sys.path so we look into /var/portbuild before site-packages.

Added:
  projects/portbuild/lib/
  projects/portbuild/lib/python/
  projects/portbuild/lib/python/freebsd.py
  projects/portbuild/lib/python/freebsd_config.py
  projects/portbuild/lib/python/zfs.py
Modified:
  projects/portbuild/qmanager/dumpdb.py
  projects/portbuild/qmanager/packagebuild
  projects/portbuild/qmanager/qmanager
  projects/portbuild/qmanager/qmanager.py
  projects/portbuild/scripts/buildproxy
  projects/portbuild/scripts/buildproxy-client
  projects/portbuild/scripts/zbackup
  projects/portbuild/scripts/zexpire

Added: projects/portbuild/lib/python/freebsd.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/portbuild/lib/python/freebsd.py	Tue Apr 26 20:25:16 2011	(r221080)
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+
+# FreeBSD support modules
+
+import struct, pwd, grp
+
+def getpeerid(sock):
+    """ Get peer credentials on a UNIX domain socket.
+
+        Returns a nested tuple: (uid, (gids)) """
+
+    LOCAL_PEERCRED = 0x001
+    NGROUPS = 16
+
+#struct xucred {
+#        u_int   cr_version;             /* structure layout version */
+#        uid_t   cr_uid;                 /* effective user id */
+#        short   cr_ngroups;             /* number of groups */
+#        gid_t   cr_groups[NGROUPS];     /* groups */
+#        void    *_cr_unused1;           /* compatibility with old ucred */
+#};
+
+    xucred_fmt = '2ih16iP'
+    res = tuple(struct.unpack(xucred_fmt, sock.getsockopt(0, LOCAL_PEERCRED, struct.calcsize(xucred_fmt))))
+    
+    # Check this is the above version of the structure
+    if res[0] != 0:
+        raise OSError
+
+    return (res[1], res[3:3+res[2]])
+
+def getuidbyname(username):
+    if str(username).isdigit():
+        return int(username)
+    return pwd.getpwnam(username)[2]
+
+def getgidbyname(grname):
+    if str(grname).isdigit():
+        return int(grname)
+    return grp.getgrnam(grname)[2]
+
+if __name__ == "__main__":
+
+    MYSOCK='/tmp/mysock'
+    import os, socket
+
+    if os.path.exists(MYSOCK):
+        os.unlink(MYSOCK)
+    s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+    s.bind(MYSOCK)
+    os.chmod(MYSOCK, 0666)
+    s.listen(10)
+    (conn, addr) = s.accept()
+
+    print getpeerid(conn)
+
+    for i in conn.makefile():
+        print i.rstrip()
+    conn.close()
+

Added: projects/portbuild/lib/python/freebsd_config.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/portbuild/lib/python/freebsd_config.py	Tue Apr 26 20:25:16 2011	(r221080)
@@ -0,0 +1,29 @@
+#!/usr/bin/env python
+
+# utility to read a config file and return a dict.  Author: linimon.
+
+# note that the config file is shared between /bin/sh scripts and
+# Python programs.  If we ever wanted to deal with the {} expansions,
+# we would have to include that here.  Note that this is NOT currently
+# implemented.
+
+from configobj import ConfigObj
+import os
+
+def getConfig( configDir, configSubdir, configFilename ):
+
+    return getConfigFromFile( \
+        os.path.join( \
+            os.path.join( configDir, configSubdir ),  \
+            configFilename ) )
+
+
+def getConfigFromFile( configFile ):
+
+    config = None
+    try:
+        config = ConfigObj( configFile )
+        return config
+    except Exception, e:
+        printf( "getConfig: could not read config file %s", configFile )
+        return None

Added: projects/portbuild/lib/python/zfs.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/portbuild/lib/python/zfs.py	Tue Apr 26 20:25:16 2011	(r221080)
@@ -0,0 +1,120 @@
+import commands, os
+
+class NoSuchFS(Exception):
+    pass
+
+class NoSuchSnap(Exception):
+    pass
+
+def getallfs():
+    """ Get list of all filesystems """
+
+    (err, out) = commands.getstatusoutput("zfs list -Ht filesystem")
+    if err:
+        raise (OSError, err)
+
+    res=[]
+    for i in out.split('\n'):
+        (fs, used, avail, refer, mountpt) = i.split()
+        res.append((fs, used, avail, refer, mountpt))
+
+    return tuple(res)
+
+def getfs(fs):
+    """ Return status of a specific filesystem """
+
+    (err, out) = commands.getstatusoutput("zfs list -Ht filesystem '%s'" % fs)
+    if err:
+        if "dataset does not exist" in out:
+            raise NoSuchFS
+        print "err = %s, out = %s" % (err, out)
+        raise (OSError, err)
+
+    (fs, used, avail, refer, mountpt) = out.split()
+    return (fs, used, avail, refer, mountpt)
+
+def getallsnaps(fs):
+
+    """
+    Return list of all snapshots for a specific filesystem
+
+    Entries are: (snap, used, avail, refer, mountpoint)
+    where snap is the snapshot name (i.e. after "@")
+    """
+
+    if len(getfs(fs)) == 0:
+        raise NoSuchFS
+
+    (err, out) = commands.getstatusoutput("zfs list -Ht snapshot")
+    if err:
+        print "err = %s, out = %s" % (err, out)
+        raise (OSError, err)
+
+    res = []
+    for i in out.split('\n'):
+        (name, used, avail, refer, mountpoint) = i.split()
+        if name.startswith("%s@" % fs):
+            snap=name.partition("@")[2]
+            res.append((snap, used, avail, refer, mountpoint))
+
+    return tuple(res)
+
+def getsnap(fs, snap):
+    """ Return a specific snapshot on a specific filesystem """
+
+    snaps = getallsnaps(fs)
+
+    for i in snaps:
+        if i[0] == snap:
+            return i
+
+    raise NoSuchSnap
+
+def createsnap(fs, name):
+    (err, out) = commands.getstatusoutput("zfs snapshot %s@%s" % (fs, name))
+    if err:
+        print "err = %s, out = %s" % (err, out)
+        raise (OSError, err)
+
+def send(fs, old, new = None):
+
+#    if new:
+#        return os.popen("echo %s@%s %s@%s" % (fs, old, fs, new))
+#    else:
+#        return os.popen("echo %s@%s" % (fs, old))
+
+    if new:
+        return os.popen("zfs send -i %s %s@%s" % (old, fs, new))
+    else:
+        return os.popen("zfs send %s@%s" % (fs, old))
+
+if __name__ == "__main__":
+    print getallfs()
+    
+    print getfs("a")
+
+
+    print getallsnaps("a")
+    
+    print getsnap("a", "20080531")
+
+    try:
+        getsnap("b", "20080531")
+    except NoSuchFS:
+        pass
+
+    try:
+        getfs("b")
+    except NoSuchFS:
+        pass
+
+    try:
+        getallsnaps("b")
+    except NoSuchFS:
+        pass
+
+    try:
+        getsnap("a", "foo")
+    except NoSuchSnap:
+        pass
+

Modified: projects/portbuild/qmanager/dumpdb.py
==============================================================================
--- projects/portbuild/qmanager/dumpdb.py	Tue Apr 26 20:14:29 2011	(r221079)
+++ projects/portbuild/qmanager/dumpdb.py	Tue Apr 26 20:25:16 2011	(r221080)
@@ -1,14 +1,17 @@
 #
 # try doing some SQL reads as a test
 #
-from freebsd_config import *
 
-import os, threading, socket, Queue
+import sys, os, threading, socket, Queue 
 
 from signal import *
 from sys import exc_info
 from itertools import chain
 
+sys.path.insert(0, '/var/portbuild/lib/python')
+
+from freebsd_config import *
+
 from qmanagerobj import *
 
 CONFIG_DIR="/var/portbuild"

Modified: projects/portbuild/qmanager/packagebuild
==============================================================================
--- projects/portbuild/qmanager/packagebuild	Tue Apr 26 20:14:29 2011	(r221079)
+++ projects/portbuild/qmanager/packagebuild	Tue Apr 26 20:25:16 2011	(r221080)
@@ -32,11 +32,15 @@
 # * check mtime for package staleness (cf make)
 # * option to skip phase 2
 
+import sys
+
+sys.path.insert(0, '/var/portbuild/lib/python')
+
 from qmanagerclient import *
 
 from freebsd_config import *
 
-import os, string, sys, threading, time, subprocess
+import os, string, threading, time, subprocess
 #import random
 from itertools import chain
 #import gc

Modified: projects/portbuild/qmanager/qmanager
==============================================================================
--- projects/portbuild/qmanager/qmanager	Tue Apr 26 20:14:29 2011	(r221079)
+++ projects/portbuild/qmanager/qmanager	Tue Apr 26 20:25:16 2011	(r221080)
@@ -49,12 +49,15 @@
 #     - OR, NOT job description entries
 #     - query jobs.machine properties
 
+import sys
+
+sys.path.insert(0, '/var/portbuild/lib/python')
+
 from freebsd_config import *
 
 import os, threading, socket, Queue
 
 from signal import *
-from sys import exc_info
 from itertools import chain
 
 from qmanagerobj import *
@@ -99,7 +102,7 @@ class Worker(object):
                 cmddict[conn.cmd](conn)
             except OSError, error:
                 if error.errno != 32:
-                    print exc_info()
+                    print sys.exc_info()
 
             self.workq.task_done()
             

Modified: projects/portbuild/qmanager/qmanager.py
==============================================================================
--- projects/portbuild/qmanager/qmanager.py	Tue Apr 26 20:14:29 2011	(r221079)
+++ projects/portbuild/qmanager/qmanager.py	Tue Apr 26 20:25:16 2011	(r221080)
@@ -49,9 +49,13 @@
 #     - OR, NOT job description entries
 #     - query jobs.machine properties
 
+import sys
+
+sys.path.insert(0, '/var/portbuild/lib/python')
+
 from freebsd_config import *
 
-import os, socket, sys, threading, time, Queue
+import os, socket, threading, time, Queue
 
 from signal import *
 from itertools import chain
@@ -109,7 +113,7 @@ class Worker(object):
                 # ignore EPIPE
                 # XXX MCL why?
                 if error.errno != 32:
-                    print exc_info()
+                    print sys.exc_info()
                 else:
                     print "EPIPE"
 

Modified: projects/portbuild/scripts/buildproxy
==============================================================================
--- projects/portbuild/scripts/buildproxy	Tue Apr 26 20:14:29 2011	(r221079)
+++ projects/portbuild/scripts/buildproxy	Tue Apr 26 20:25:16 2011	(r221080)
@@ -6,6 +6,8 @@
 
 import sys, socket, os, commands
 
+sys.path.insert(0, '/var/portbuild/lib/python')
+
 from freebsd import *
 from freebsd_config import *
 

Modified: projects/portbuild/scripts/buildproxy-client
==============================================================================
--- projects/portbuild/scripts/buildproxy-client	Tue Apr 26 20:14:29 2011	(r221079)
+++ projects/portbuild/scripts/buildproxy-client	Tue Apr 26 20:25:16 2011	(r221080)
@@ -5,6 +5,8 @@
 
 import sys, socket, os, commands
 
+sys.path.insert(0, '/var/portbuild/lib/python')
+
 from freebsd import *
 from freebsd_config import *
 

Modified: projects/portbuild/scripts/zbackup
==============================================================================
--- projects/portbuild/scripts/zbackup	Tue Apr 26 20:14:29 2011	(r221079)
+++ projects/portbuild/scripts/zbackup	Tue Apr 26 20:25:16 2011	(r221080)
@@ -3,10 +3,13 @@
 # Back up a list of ZFS filesystems, doing a full backup periodically
 # and using incremental diffs in between
 
-import zfs, commands, datetime, sys, os, bz2
-
+import commands, datetime, sys, os, bz2
 from signal import *
 
+sys.path.insert(0, '/var/portbuild/lib/python')
+
+import zfs
+
 # List of filesystems to backup
 # XXX MCL
 backuplist=["a", "a/nfs", "a/local", "a/portbuild",

Modified: projects/portbuild/scripts/zexpire
==============================================================================
--- projects/portbuild/scripts/zexpire	Tue Apr 26 20:14:29 2011	(r221079)
+++ projects/portbuild/scripts/zexpire	Tue Apr 26 20:25:16 2011	(r221080)
@@ -2,7 +2,11 @@
 #
 # Expire old snapshots
 
-import zfs, commands, datetime, os
+import sys, commands, datetime, os
+
+sys.path.insert(0, '/var/portbuild/lib/python')
+
+import zfs
 
 # List of filesystems to expire
 expirelist=(("a", 14), 

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 21:02:04 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 4FCF81065674;
	Tue, 26 Apr 2011 21:02:04 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 416968FC24;
	Tue, 26 Apr 2011 21:02:04 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QL24J7038402;
	Tue, 26 Apr 2011 21:02:04 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QL24jE038400;
	Tue, 26 Apr 2011 21:02:04 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104262102.p3QL24jE038400@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Tue, 26 Apr 2011 21:02:04 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221082 - projects/portbuild/docs
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 21:02:04 -0000

Author: flz
Date: Tue Apr 26 21:02:03 2011
New Revision: 221082
URL: http://svn.freebsd.org/changeset/base/221082

Log:
  portbuild: add some documentation.
  
  Mark wrote detailed info on how to setup a new pointyhat head node.

Added:
  projects/portbuild/docs/
  projects/portbuild/docs/mk2
  projects/portbuild/docs/mkpointyhat   (contents, props changed)

Added: projects/portbuild/docs/mk2
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/portbuild/docs/mk2	Tue Apr 26 21:02:03 2011	(r221082)
@@ -0,0 +1,9 @@
+there are other notes, lost, somewhere.
+
+for ganglia web display, have to install:
+
+$ pwd
+/home/pcvs/ports/sysutils/ganglia-webfrontend
+$ make -D WITHOUT_X11 install
+
+bring over changes to /usr/local/www/ganglia/conf.php

Added: projects/portbuild/docs/mkpointyhat
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/portbuild/docs/mkpointyhat	Tue Apr 26 21:02:03 2011	(r221082)
@@ -0,0 +1,181 @@
+#!/bin/sh
+#
+# how to set up a new pointyhat.
+#
+# NOTE: wasn't done exactly this way, but should work.
+#
+# copy /etc/make.conf from pointyhat, modify to taste
+# but add SENDMAIL_MC=/etc/mail/<hostname>.mc
+#
+# create /etc/mail/<hostname>.mc, with the following additions just before
+# the MAILER lines:
+#
+# define(`SMART_HOST', `hub.FreeBSD.org')
+# MASQUERADE_AS(`FreeBSD.org')
+# FEATURE(`masquerade_envelope')
+#
+# in /etc/mail: make all;make install
+#
+# install the following packages, or their successors:
+#
+#    apache-2.2.15_9
+#        with EXT_FILTER
+#        with THREADS
+#    bonnie++-1.96
+#    ccache-2.4_9
+#    ganglia-monitor-core-3.1.1_6
+#        without GMETAD (otherwise you get all of x11!)
+#    nc-1.0.1_1
+#    pkg_cutleaves-20090810
+#    pkg_tree-1.1_2
+#    portaudit-0.5.15
+#    py26-pysqlite-2.3.5
+#    py26-setuptools-0.6c11
+#    py26-sqlalchemy-0.5.7
+#    rsync-3.0.7
+#    screen-4.0.3_7
+#    smartmontools-5.39.1
+#    subversion-freebsd-1.6.11_2
+#    sudo-1.7.2.6
+#    unzip-6.0
+#
+# the following will probably come over with them:
+#
+#    libtool-2.2.6b
+#    perl-5.10.1_1
+#    pkg-config-0.23_1
+#    python26-2.6.5
+#    sqlite3-3.6.23.1_1
+#
+# mkdir -p /a/pointyhat
+#
+# mkdir /a/pointyhat/amd64
+# mkdir /a/pointyhat/i386
+# mkdir /a/pointyhat/ia64
+# mkdir /a/pointyhat/powerpc
+# mkdir /a/pointyhat/sparc64
+# mkdir /a/pointyhat/sun4v
+#
+# cd /a/pointyhat
+#
+# chmod 775 .
+#
+# chown ports-amd64:portmgr amd64
+# chown ports-i386:portmgr i386
+# chown ports-ia64:portmgr ia64
+# chown ports-powerpc:portmgr powerpc
+# chown ports-sparc64:portmgr sparc64
+# chown ports-sun4v:portmgr sun4v
+#
+# chmod 775 *
+#
+# create an amd64/.profile that is just
+#    export PATH=${PATH}:/var/portbuild/scripts:/var/portbuild/evil/qmanager
+# copy it to all the other <arch> dirs, chown ports-<arch>:portmgr, chmod g+w
+#
+# zfs create -o mountpoint=/a/portbuild a/portbuild
+# zfs create -o mountpoint=/a/portbuild/amd64 a/portbuild/amd64
+# zfs create -o mountpoint=/a/portbuild/i386 a/portbuild/i386
+# zfs create -o mountpoint=/a/portbuild/ia64 a/portbuild/ia64
+# zfs create -o mountpoint=/a/portbuild/powerpc a/portbuild/powerpc
+# zfs create -o mountpoint=/a/portbuild/sparc64 a/portbuild/sparc64
+# zfs create -o mountpoint=/a/portbuild/sun4v a/portbuild/sun4v
+#
+# at this point you want to bring over conf/, ecvs/, clinet.conf, <arch>/.ssh,
+#     <arch>mlist, and <arch>/portbuild.*
+#
+. /a/portbuild/conf/server.conf
+#
+#pb=/var/portbuild
+#cd ${pb}
+#
+#for arch in $SUPPORTED_ARCHS sun4v; do
+#  echo $arch
+#  cd ${pb}/${arch}
+#  mkdir -p clients
+#  mkdir -p loads
+#  mkdir -p lockfiles
+#  if [ ! -e make.conf ]; then
+#    ln -s ../conf/make.conf make.conf
+#  fi
+#  ln -s ../conf/client.conf client.conf
+#  chown ports-$arch:portmgr *
+#done
+#
+# compiled pnohang.* copied over manually to save time XXX
+#
+# mkdir -p /var/portbuild/evil
+# chown -R portmgr:portmgr /var/portbuild/evil
+# chmod -R g+w /var/portbuild/evil
+# cd /var/portbuild
+# cvs -d /var/portbuild/ecvs co evil/qmanager
+# rm evil/qmanager/qmgr
+#
+# XXX MCL QMANAGER ITSELF IS NOT CHECKED IN!!!!!!!!!!
+#
+# copy stupid freebsd.py over manually to save time; put it in site-packages
+# copy stupid freebsd_config.py over manually to save time; put it in site-packages
+# copy stupid zfs.py over manually to save time; put it in site-packages
+#
+# for arch in $SUPPORTED_ARCHS sun4v; do
+#   python /var/portbuild/evil/qmanager/qclient add_acl name=ports-$arch uidlist=ports-$arch gidlist=portmgr sense=1
+# done
+#
+# zfs create ${ZFS_VOLUME}/${SNAP_DIRECTORY}
+# zfs create ${ZFS_VOLUME}/${SNAP_PORTS_DIRECTORY}
+# zfs create ${ZFS_VOLUME}/${SNAP_PORTS_DIRECTORY}/ports
+# for branch in $SRC_BRANCHES; do
+#   zfs create ${ZFS_VOLUME}/${SNAP_SRC_DIRECTORY_PREFIX}$branch
+#   zfs create ${ZFS_VOLUME}/${SNAP_SRC_DIRECTORY_PREFIX}$branch/src
+# done
+# chown -R portmgr:portmgr ${ZFS_VOLUME}/${SNAP_DIRECTORY}
+# chmod -R g+w ${ZFS_VOLUME}/${SNAP_DIRECTORY}
+#
+## XXX MCL this does not work.
+## XXX MCL convert to svn!
+##
+##echo ${SRC_BRANCH_$branch_TAG}
+##cvs -Rq -d $NCVS_DIRECTORY co -r RELENG-$branch
+##
+##branch=8
+##fake_releng_tag=RELENG_8_0
+##cvs -Rq -d $NCVS_DIRECTORY co -r $fake_releng_tag
+#
+# XXX MCL TODO /a/obj?
+#
+# python /var/portbuild/scripts/pollmachine -daemon amd64 i386 ia64 powerpc sparc64 &
+# python /var/portbuild/scripts/buildproxy &
+# python /var/portbuild/evil/qmanager/qmanager &
+#
+# now start initializing the database
+#
+# python /var/portbuild/evil/qmanager/qclient add_acl name=deny_all uidlist= gidlist= sense=0
+# for arch in amd64 ia64 i386 powerpc sparc64 sun4v; do
+#   python /var/portbuild/evil/qmanager/qclient add_acl name=ports-${arch} uidlist=ports-${arch} gidlist=portmgr sense=1
+# done
+#
+# now add machines, e.g.:
+#
+# python /var/portbuild/evil/qmanager/qclient add name=poweredge6650_1.lonesome.com arch=i386 osversion=800073 numcpus=4 haszfs=0 online=0 domain=lonesome.com primarypool=package pools="package all" maxjobs=1 acl="ports-i386,deny_all"
+#
+# ~linimon/bin/online poweredge6650_1.lonesome.com
+#
+# modify httpd.conf XXX MCL to document
+# cd /usr/local/www
+# ln -s apache22/data data
+# cd apache22/data
+# ln -s /var/portbuild/errorlogs errorlogs
+# bring over robots.txt and favicon.ico
+# mkdir /var/portbuild/errorlogs
+# cd /var/portbuild/errorlogs
+# chown portmgr:portmgr .
+# chmod 775 .
+# bring over index.shtml images/
+# chown portmgr:portmgr *
+# chmod 775 *
+# make the appropriate links:
+# ~linimon/bin/mklinks
+#
+# bring over linimon crontab from pointyhat and install it
+# install root crontab and uncomment things if necessary
+# XXX MCL except zbackup and zexpire because they aren't done yet.

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 21:03:08 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 3B2FB1065678;
	Tue, 26 Apr 2011 21:03:08 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 134748FC1A;
	Tue, 26 Apr 2011 21:03:08 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QL37xn038475;
	Tue, 26 Apr 2011 21:03:07 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QL37QW038474;
	Tue, 26 Apr 2011 21:03:07 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104262103.p3QL37QW038474@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Tue, 26 Apr 2011 21:03:07 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221083 - in projects/portbuild: . conf errorlogs
	scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 21:03:08 -0000

Author: flz
Date: Tue Apr 26 21:03:07 2011
New Revision: 221083
URL: http://svn.freebsd.org/changeset/base/221083

Log:
  portbuild: set svn:ignore property to ignore local data.

Modified:
Directory Properties:
  projects/portbuild/   (props changed)
  projects/portbuild/conf/   (props changed)
  projects/portbuild/errorlogs/   (props changed)
  projects/portbuild/scripts/   (props changed)

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 21:06:05 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id B909C106566B;
	Tue, 26 Apr 2011 21:06:05 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id AB6478FC19;
	Tue, 26 Apr 2011 21:06:05 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QL65VD038589;
	Tue, 26 Apr 2011 21:06:05 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QL655Q038587;
	Tue, 26 Apr 2011 21:06:05 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104262106.p3QL655Q038587@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Tue, 26 Apr 2011 21:06:05 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221084 - projects/portbuild/conf
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 21:06:05 -0000

Author: flz
Date: Tue Apr 26 21:06:05 2011
New Revision: 221084
URL: http://svn.freebsd.org/changeset/base/221084

Log:
  portbuild: the evil directory is gone.
  
  I got rid of the extra evil directory, adjust QMANAGER_PATH accordingly.

Modified:
  projects/portbuild/conf/server.conf

Modified: projects/portbuild/conf/server.conf
==============================================================================
--- projects/portbuild/conf/server.conf	Tue Apr 26 21:03:07 2011	(r221083)
+++ projects/portbuild/conf/server.conf	Tue Apr 26 21:06:05 2011	(r221084)
@@ -72,7 +72,7 @@ PDISPATCH_TIMEOUT=360000
 # qmanager definitions (note: Python script, so avoid {})
 #
 
-QMANAGER_PATH=/var/portbuild/evil/qmanager
+QMANAGER_PATH=/var/portbuild/qmanager
 QMANAGER_DATABASE_FILE=qdb.sl3
 QMANAGER_SOCKET_FILE=/tmp/.qmgr
 

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 21:06:57 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 14B58106566C;
	Tue, 26 Apr 2011 21:06:57 +0000 (UTC) (envelope-from eri@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 051D58FC16;
	Tue, 26 Apr 2011 21:06:57 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QL6vVf038648;
	Tue, 26 Apr 2011 21:06:57 GMT (envelope-from eri@svn.freebsd.org)
Received: (from eri@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QL6uwi038643;
	Tue, 26 Apr 2011 21:06:56 GMT (envelope-from eri@svn.freebsd.org)
Message-Id: <201104262106.p3QL6uwi038643@svn.freebsd.org>
From: Ermal Luçi <eri@FreeBSD.org>
Date: Tue, 26 Apr 2011 21:06:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221085 - projects/pf/pf45/contrib/pf/ftp-proxy
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 21:06:57 -0000

Author: eri
Date: Tue Apr 26 21:06:56 2011
New Revision: 221085
URL: http://svn.freebsd.org/changeset/base/221085

Log:
  Bring ftp-proxy up to date with OpenBSD 4.5.
  Also make it compile with WARNS= 6

Modified:
  projects/pf/pf45/contrib/pf/ftp-proxy/filter.c
  projects/pf/pf45/contrib/pf/ftp-proxy/filter.h
  projects/pf/pf45/contrib/pf/ftp-proxy/ftp-proxy.8
  projects/pf/pf45/contrib/pf/ftp-proxy/ftp-proxy.c

Modified: projects/pf/pf45/contrib/pf/ftp-proxy/filter.c
==============================================================================
--- projects/pf/pf45/contrib/pf/ftp-proxy/filter.c	Tue Apr 26 21:06:05 2011	(r221084)
+++ projects/pf/pf45/contrib/pf/ftp-proxy/filter.c	Tue Apr 26 21:06:56 2011	(r221085)
@@ -1,4 +1,4 @@
-/*	$OpenBSD: filter.c,v 1.5 2006/12/01 07:31:21 camield Exp $ */
+/*	$OpenBSD: filter.c,v 1.8 2008/06/13 07:25:26 claudio Exp $ */
 
 /*
  * Copyright (c) 2004, 2005 Camiel Dobbelaar, <cd@sentia.nl>
@@ -53,7 +53,7 @@ static struct pfioc_rule	pfr;
 static struct pfioc_trans	pft;
 static struct pfioc_trans_e	pfte[TRANS_SIZE];
 static int dev, rule_log;
-static char *qname;
+static const char *qname, *tagname;
 
 int
 add_filter(u_int32_t id, u_int8_t dir, struct sockaddr *src,
@@ -159,11 +159,12 @@ do_rollback(void)
 }
 
 void
-init_filter(char *opt_qname, int opt_verbose)
+init_filter(const char *opt_qname, const char *opt_tagname, int opt_verbose)
 {
 	struct pf_status status;
 
 	qname = opt_qname;
+	tagname = opt_tagname;
 
 	if (opt_verbose == 1)
 		rule_log = PF_LOG;
@@ -172,7 +173,7 @@ init_filter(char *opt_qname, int opt_ver
 
 	dev = open("/dev/pf", O_RDWR);	
 	if (dev == -1)
-		err(1, "/dev/pf");
+		err(1, "open /dev/pf");
 	if (ioctl(dev, DIOCGETSTATUS, &status) == -1)
 		err(1, "DIOCGETSTATUS");
 	if (!status.running)
@@ -280,9 +281,9 @@ prepare_rule(u_int32_t id, int rs_num, s
 	switch (rs_num) {
 	case PF_RULESET_FILTER:
 		/*
-		 * pass quick [log] inet[6] proto tcp \
+		 * pass [quick] [log] inet[6] proto tcp \
 		 *     from $src to $dst port = $d_port flags S/SA keep state
-		 *     (max 1) [queue qname]
+		 *     (max 1) [queue qname] [tag tagname]
 		 */
 		pfr.rule.action = PF_PASS;
 		pfr.rule.quick = 1;
@@ -293,6 +294,11 @@ prepare_rule(u_int32_t id, int rs_num, s
 		pfr.rule.max_states = 1;
 		if (qname != NULL)
 			strlcpy(pfr.rule.qname, qname, sizeof pfr.rule.qname);
+		if (tagname != NULL) {
+			pfr.rule.quick = 0;
+			strlcpy(pfr.rule.tagname, tagname,
+                                sizeof pfr.rule.tagname);
+		}
 		break;
 	case PF_RULESET_NAT:
 		/*

Modified: projects/pf/pf45/contrib/pf/ftp-proxy/filter.h
==============================================================================
--- projects/pf/pf45/contrib/pf/ftp-proxy/filter.h	Tue Apr 26 21:06:05 2011	(r221084)
+++ projects/pf/pf45/contrib/pf/ftp-proxy/filter.h	Tue Apr 26 21:06:56 2011	(r221085)
@@ -1,4 +1,4 @@
-/*	$OpenBSD: filter.h,v 1.3 2005/06/07 14:12:07 camield Exp $ */
+/*	$OpenBSD: filter.h,v 1.4 2007/08/01 09:31:41 henning Exp $ */
 
 /*
  * Copyright (c) 2004, 2005 Camiel Dobbelaar, <cd@sentia.nl>
@@ -26,6 +26,6 @@ int add_rdr(u_int32_t, struct sockaddr *
     struct sockaddr *, u_int16_t);
 int do_commit(void);
 int do_rollback(void);
-void init_filter(char *, int);
+void init_filter(const char *, const char *, int);
 int prepare_commit(u_int32_t);
 int server_lookup(struct sockaddr *, struct sockaddr *, struct sockaddr *);

Modified: projects/pf/pf45/contrib/pf/ftp-proxy/ftp-proxy.8
==============================================================================
--- projects/pf/pf45/contrib/pf/ftp-proxy/ftp-proxy.8	Tue Apr 26 21:06:05 2011	(r221084)
+++ projects/pf/pf45/contrib/pf/ftp-proxy/ftp-proxy.8	Tue Apr 26 21:06:56 2011	(r221085)
@@ -1,4 +1,4 @@
-.\"	$OpenBSD: ftp-proxy.8,v 1.7 2006/12/30 13:01:54 camield Exp $
+.\"	$OpenBSD: ftp-proxy.8,v 1.11 2008/02/26 18:52:53 henning Exp $
 .\"
 .\" Copyright (c) 2004, 2005 Camiel Dobbelaar, <cd@sentia.nl>
 .\"
@@ -14,16 +14,15 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.\" $FreeBSD$
-.\"
-.Dd November 28, 2004
+.Dd $Mdocdate: February 26 2008 $
 .Dt FTP-PROXY 8
 .Os
 .Sh NAME
 .Nm ftp-proxy
 .Nd Internet File Transfer Protocol proxy daemon
 .Sh SYNOPSIS
-.Nm ftp-proxy
+.Nm
+.Bk -words
 .Op Fl 6Adrv
 .Op Fl a Ar address
 .Op Fl b Ar address
@@ -33,7 +32,9 @@
 .Op Fl p Ar port
 .Op Fl q Ar queue
 .Op Fl R Ar address
+.Op Fl T Ar tag
 .Op Fl t Ar timeout
+.Ek
 .Sh DESCRIPTION
 .Nm
 is a proxy for the Internet File Transfer Protocol.
@@ -58,7 +59,7 @@ facility for this.
 Assuming the FTP control connection is from $client to $server, the
 proxy connected to the server using the $proxy source address, and
 $port is negotiated, then
-.Nm ftp-proxy
+.Nm
 adds the following rules to the various anchors.
 (These example rules use inet, but the proxy also supports inet6.)
 .Pp
@@ -130,6 +131,20 @@ connections to another proxy.
 .It Fl r
 Rewrite sourceport to 20 in active mode to suit ancient clients that insist
 on this RFC property.
+.It Fl T Ar tag
+The filter rules will add tag
+.Ar tag
+to data connections, and not match quick.
+This way alternative rules that use the
+.Ar tagged
+keyword can be implemented following the
+.Nm
+anchor.
+These rules can use special
+.Xr pf 4
+features like route-to, reply-to, label, rtable, overload, etc. that
+.Nm
+does not implement itself.
 .It Fl t Ar timeout
 Number of seconds that the control connection can be idle, before the
 proxy will disconnect.
@@ -172,7 +187,7 @@ does not allow the ruleset to be modifie
 .Xr securelevel 7
 higher than 1.
 At that level
-.Nm ftp-proxy
+.Nm
 cannot add rules to the anchors and FTP data connections may get blocked.
 .Pp
 Negotiated data connection ports below 1024 are not allowed.
@@ -181,5 +196,5 @@ The negotiated IP address for active mod
 reasons.
 This makes third party file transfers impossible.
 .Pp
-.Nm ftp-proxy
+.Nm
 chroots to "/var/empty" and changes to user "proxy" to drop privileges.

Modified: projects/pf/pf45/contrib/pf/ftp-proxy/ftp-proxy.c
==============================================================================
--- projects/pf/pf45/contrib/pf/ftp-proxy/ftp-proxy.c	Tue Apr 26 21:06:05 2011	(r221084)
+++ projects/pf/pf45/contrib/pf/ftp-proxy/ftp-proxy.c	Tue Apr 26 21:06:56 2011	(r221085)
@@ -1,4 +1,4 @@
-/*	$OpenBSD: ftp-proxy.c,v 1.13 2006/12/30 13:24:00 camield Exp $ */
+/*	$OpenBSD: ftp-proxy.c,v 1.19 2008/06/13 07:25:26 claudio Exp $ */
 
 /*
  * Copyright (c) 2004, 2005 Camiel Dobbelaar, <cd@sentia.nl>
@@ -16,9 +16,6 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <sys/queue.h>
 #include <sys/types.h>
 #include <sys/time.h>
@@ -61,6 +58,14 @@ __FBSDID("$FreeBSD$");
 #define PF_NAT_PROXY_PORT_LOW	50001
 #define PF_NAT_PROXY_PORT_HIGH	65535
 
+#ifndef LIST_END
+#define LIST_END(a)     NULL
+#endif
+
+#ifndef getrtable
+#define getrtable(a)    0
+#endif
+
 #define	sstosa(ss)	((struct sockaddr *)(ss))
 
 enum { CMD_NONE = 0, CMD_PORT, CMD_EPRT, CMD_PASV, CMD_EPSV };
@@ -94,7 +99,7 @@ int	client_parse_cmd(struct session *s);
 void	client_read(struct bufferevent *, void *);
 int	drop_privs(void);
 void	end_session(struct session *);
-int	exit_daemon(void);
+void	exit_daemon(void);
 int	getline(char *, size_t *);
 void	handle_connection(const int, short, void *);
 void	handle_signal(int, short, void *);
@@ -105,6 +110,7 @@ u_int16_t pick_proxy_port(void);
 void	proxy_reply(int, struct sockaddr *, u_int16_t);
 void	server_error(struct bufferevent *, short, void *);
 int	server_parse(struct session *s);
+int	allow_data_connection(struct session *s);
 void	server_read(struct bufferevent *, void *);
 const char *sock_ntop(struct sockaddr *);
 void	usage(void);
@@ -115,14 +121,14 @@ size_t linelen;
 char ntop_buf[NTOP_BUFS][INET6_ADDRSTRLEN];
 
 struct sockaddr_storage fixed_server_ss, fixed_proxy_ss;
-char *fixed_server, *fixed_server_port, *fixed_proxy, *listen_ip, *listen_port,
-    *qname;
+const char *fixed_server, *fixed_server_port, *fixed_proxy, *listen_ip, *listen_port,
+    *qname, *tagname;
 int anonymous_only, daemonize, id_count, ipv6_mode, loglevel, max_sessions,
     rfc_mode, session_count, timeout, verbose;
 extern char *__progname;
 
 void
-client_error(struct bufferevent *bufev, short what, void *arg)
+client_error(struct bufferevent *bufev __unused, short what, void *arg)
 {
 	struct session *s = arg;
 
@@ -152,8 +158,19 @@ client_parse(struct session *s)
 		return (1);
 
 	if (linebuf[0] == 'P' || linebuf[0] == 'p' ||
-	    linebuf[0] == 'E' || linebuf[0] == 'e')
-		return (client_parse_cmd(s));
+	    linebuf[0] == 'E' || linebuf[0] == 'e') {
+		if (!client_parse_cmd(s))
+			return (0);
+
+		/*
+		 * Allow active mode connections immediately, instead of
+		 * waiting for a positive reply from the server.  Some
+		 * rare servers/proxies try to probe or setup the data
+		 * connection before an actual transfer request.
+		 */
+		if (s->cmd == CMD_PORT || s->cmd == CMD_EPRT)
+			return (allow_data_connection(s));
+	}
 	
 	if (anonymous_only && (linebuf[0] == 'U' || linebuf[0] == 'u'))
 		return (client_parse_anon(s));
@@ -220,14 +237,14 @@ void
 client_read(struct bufferevent *bufev, void *arg)
 {
 	struct session	*s = arg;
-	size_t		 buf_avail, read;
+	size_t		 buf_avail, clientread;
 	int		 n;
 
 	do {
 		buf_avail = sizeof s->cbuf - s->cbuf_valid;
-		read = bufferevent_read(bufev, s->cbuf + s->cbuf_valid,
+		clientread = bufferevent_read(bufev, s->cbuf + s->cbuf_valid,
 		    buf_avail);
-		s->cbuf_valid += read;
+		s->cbuf_valid += clientread;
 
 		while ((n = getline(s->cbuf, &s->cbuf_valid)) > 0) {
 			logmsg(LOG_DEBUG, "#%d client: %s", s->id, linebuf);
@@ -244,7 +261,7 @@ client_read(struct bufferevent *bufev, v
 			end_session(s);
 			return;
 		}
-	} while (read == buf_avail);
+	} while (clientread == buf_avail);
 }
 
 int
@@ -269,10 +286,16 @@ drop_privs(void)
 void
 end_session(struct session *s)
 {
-	int err;
+	int serr;
 
 	logmsg(LOG_INFO, "#%d ending session", s->id);
 
+	/* Flush output buffers. */
+	if (s->client_bufev && s->client_fd != -1)
+		evbuffer_write(s->client_bufev->output, s->client_fd);
+	if (s->server_bufev && s->server_fd != -1)
+		evbuffer_write(s->server_bufev->output, s->server_fd);
+
 	if (s->client_fd != -1)
 		close(s->client_fd);
 	if (s->server_fd != -1)
@@ -284,33 +307,29 @@ end_session(struct session *s)
 		bufferevent_free(s->server_bufev);
 
 	/* Remove rulesets by commiting empty ones. */
-	err = 0;
+	serr = 0;
 	if (prepare_commit(s->id) == -1)
-		err = errno;
+		serr = errno;
 	else if (do_commit() == -1) {
-		err = errno;
+		serr = errno;
 		do_rollback();
 	}
-	if (err)
+	if (serr)
 		logmsg(LOG_ERR, "#%d pf rule removal failed: %s", s->id,
-		    strerror(err));
+		    strerror(serr));
 
 	LIST_REMOVE(s, entry);
 	free(s);
 	session_count--;
 }
 
-int
+void
 exit_daemon(void)
 {
 	struct session *s, *next;
 
-#ifdef __FreeBSD__
-	LIST_FOREACH_SAFE(s, &sessions, entry, next) {
-#else
 	for (s = LIST_FIRST(&sessions); s != LIST_END(&sessions); s = next) {
 		next = LIST_NEXT(s, entry);
-#endif
 		end_session(s);
 	}
 
@@ -318,9 +337,6 @@ exit_daemon(void)
 		closelog();
 
 	exit(0);
-
-	/* NOTREACHED */
-	return (-1);
 }
 
 int
@@ -361,7 +377,7 @@ getline(char *buf, size_t *valid)
 }
 
 void
-handle_connection(const int listen_fd, short event, void *ev)
+handle_connection(const int listen_fd, short event __unused, void *ev __unused)
 {
 	struct sockaddr_storage tmp_ss;
 	struct sockaddr *client_sa, *server_sa, *fixed_server_sa;
@@ -508,13 +524,13 @@ handle_connection(const int listen_fd, s
 }
 
 void
-handle_signal(int sig, short event, void *arg)
+handle_signal(int sig, short event __unused, void *arg __unused)
 {
 	/*
 	 * Signal handler rules don't apply, libevent decouples for us.
 	 */
 
-	logmsg(LOG_ERR, "%s exiting on signal %d", __progname, sig);
+	logmsg(LOG_ERR, "exiting on signal %d", sig);
 
 	exit_daemon();
 }
@@ -567,10 +583,7 @@ logmsg(int pri, const char *message, ...
 		/* We don't care about truncation. */
 		vsnprintf(buf, sizeof buf, message, ap);
 #ifdef __FreeBSD__
-		/* XXX: strnvis might be nice to have */
-		strvisx(visbuf, buf,
-		    MIN((sizeof(visbuf) / 4) - 1, strlen(buf)),
-		    VIS_CSTYLE | VIS_NL);
+		strvis(visbuf, buf, VIS_CSTYLE | VIS_NL);
 #else
 		strnvis(visbuf, buf, sizeof visbuf, VIS_CSTYLE | VIS_NL);
 #endif
@@ -602,6 +615,7 @@ main(int argc, char *argv[])
 	max_sessions	= 100;
 	qname		= NULL;
 	rfc_mode	= 0;
+	tagname		= NULL;
 	timeout		= 24 * 3600;
 	verbose		= 0;
 
@@ -609,7 +623,7 @@ main(int argc, char *argv[])
 	id_count	= 1;
 	session_count	= 0;
 
-	while ((ch = getopt(argc, argv, "6Aa:b:D:dm:P:p:q:R:rt:v")) != -1) {
+	while ((ch = getopt(argc, argv, "6Aa:b:D:dm:P:p:q:R:rT:t:v")) != -1) {
 		switch (ch) {
 		case '6':
 			ipv6_mode = 1;
@@ -654,6 +668,11 @@ main(int argc, char *argv[])
 		case 'r':
 			rfc_mode = 1;
 			break;
+		case 'T':
+			if (strlen(optarg) >= PF_TAG_NAME_SIZE)
+				errx(1, "tagname too long");
+			tagname = optarg;
+			break;
 		case 't':
 			timeout = strtonum(optarg, 0, 86400, &errstr);
 			if (errstr)
@@ -734,7 +753,7 @@ main(int argc, char *argv[])
 	freeaddrinfo(res);
 
 	/* Initialize pf. */
-	init_filter(qname, verbose);
+	init_filter(qname, tagname, verbose);
 
 	if (daemonize) {
 		if (daemon(0, 0) == -1)
@@ -830,14 +849,15 @@ u_int16_t
 pick_proxy_port(void)
 {
 	/* Random should be good enough for avoiding port collisions. */
-	return (IPPORT_HIFIRSTAUTO + (arc4random() %
-	    (IPPORT_HILASTAUTO - IPPORT_HIFIRSTAUTO)));
+	return (IPPORT_HIFIRSTAUTO +
+	    arc4random_uniform(IPPORT_HILASTAUTO - IPPORT_HIFIRSTAUTO));
 }
 
 void
 proxy_reply(int cmd, struct sockaddr *sa, u_int16_t port)
 {
-	int i, r;
+	u_int i;
+	int r = 0;
 
 	switch (cmd) {
 	case CMD_PORT:
@@ -864,7 +884,7 @@ proxy_reply(int cmd, struct sockaddr *sa
 		break;
 	}
 
-	if (r < 0 || r >= sizeof linebuf) {
+	if (r < 0 || ((u_int)r) >= sizeof linebuf) {
 		logmsg(LOG_ERR, "proxy_reply failed: %d", r);
 		linebuf[0] = '\0';
 		linelen = 0;
@@ -881,7 +901,7 @@ proxy_reply(int cmd, struct sockaddr *sa
 }
 
 void
-server_error(struct bufferevent *bufev, short what, void *arg)
+server_error(struct bufferevent *bufev __unused, short what, void *arg)
 {
 	struct session *s = arg;
 
@@ -902,12 +922,26 @@ server_error(struct bufferevent *bufev, 
 int
 server_parse(struct session *s)
 {
-	struct sockaddr *client_sa, *orig_sa, *proxy_sa, *server_sa;
-	int prepared = 0;
-
 	if (s->cmd == CMD_NONE || linelen < 4 || linebuf[0] != '2')
 		goto out;
 
+	if ((s->cmd == CMD_PASV && strncmp("227 ", linebuf, 4) == 0) ||
+	    (s->cmd == CMD_EPSV && strncmp("229 ", linebuf, 4) == 0))
+		return (allow_data_connection(s));
+
+ out:
+	s->cmd = CMD_NONE;
+	s->port = 0;
+
+	return (1);
+}
+
+int
+allow_data_connection(struct session *s)
+{
+	struct sockaddr *client_sa, *orig_sa, *proxy_sa, *server_sa;
+	int prepared = 0;
+
 	/*
 	 * The pf rules below do quite some NAT rewriting, to keep up
 	 * appearances.  Points to keep in mind:
@@ -932,8 +966,7 @@ server_parse(struct session *s)
 		orig_sa = sstosa(&s->server_ss);
 
 	/* Passive modes. */
-	if ((s->cmd == CMD_PASV && strncmp("227 ", linebuf, 4) == 0) ||
-	    (s->cmd == CMD_EPSV && strncmp("229 ", linebuf, 4) == 0)) {
+	if (s->cmd == CMD_PASV || s->cmd == CMD_EPSV) {
 		s->port = parse_port(s->cmd);
 		if (s->port < MIN_PORT) {
 			logmsg(LOG_CRIT, "#%d bad port in '%s'", s->id,
@@ -974,8 +1007,7 @@ server_parse(struct session *s)
 	}
 
 	/* Active modes. */
-	if ((s->cmd == CMD_PORT || s->cmd == CMD_EPRT) &&
-	    strncmp("200 ", linebuf, 4) == 0) {
+	if (s->cmd == CMD_PORT || s->cmd == CMD_EPRT) {
 		logmsg(LOG_INFO, "#%d active: server to client port %d"
 		    " via port %d", s->id, s->port, s->proxy_port);
 
@@ -1025,7 +1057,6 @@ server_parse(struct session *s)
 			goto fail;
 	}
 
- out:
 	s->cmd = CMD_NONE;
 	s->port = 0;
 
@@ -1042,16 +1073,16 @@ void
 server_read(struct bufferevent *bufev, void *arg)
 {
 	struct session	*s = arg;
-	size_t		 buf_avail, read;
+	size_t		 buf_avail, srvread;
 	int		 n;
 
 	bufferevent_settimeout(bufev, timeout, 0);
 
 	do {
 		buf_avail = sizeof s->sbuf - s->sbuf_valid;
-		read = bufferevent_read(bufev, s->sbuf + s->sbuf_valid,
+		srvread = bufferevent_read(bufev, s->sbuf + s->sbuf_valid,
 		    buf_avail);
-		s->sbuf_valid += read;
+		s->sbuf_valid += srvread;
 
 		while ((n = getline(s->sbuf, &s->sbuf_valid)) > 0) {
 			logmsg(LOG_DEBUG, "#%d server: %s", s->id, linebuf);
@@ -1068,7 +1099,7 @@ server_read(struct bufferevent *bufev, v
 			end_session(s);
 			return;
 		}
-	} while (read == buf_avail);
+	} while (srvread == buf_avail);
 }
 
 const char *
@@ -1102,6 +1133,7 @@ usage(void)
 {
 	fprintf(stderr, "usage: %s [-6Adrv] [-a address] [-b address]"
 	    " [-D level] [-m maxsessions]\n                 [-P port]"
-	    " [-p port] [-q queue] [-R address] [-t timeout]\n", __progname);
+	    " [-p port] [-q queue] [-R address] [-T tag]\n"
+            "                 [-t timeout]\n", __progname);
 	exit(1);
 }

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 21:08:12 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 2EC7C106564A;
	Tue, 26 Apr 2011 21:08:12 +0000 (UTC) (envelope-from eri@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 20D368FC08;
	Tue, 26 Apr 2011 21:08:12 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QL8CJ4038733;
	Tue, 26 Apr 2011 21:08:12 GMT (envelope-from eri@svn.freebsd.org)
Received: (from eri@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QL8COv038731;
	Tue, 26 Apr 2011 21:08:12 GMT (envelope-from eri@svn.freebsd.org)
Message-Id: <201104262108.p3QL8COv038731@svn.freebsd.org>
From: Ermal Luçi <eri@FreeBSD.org>
Date: Tue, 26 Apr 2011 21:08:12 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221086 - projects/pf/pf45/usr.sbin/ftp-proxy/ftp-proxy
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 21:08:12 -0000

Author: eri
Date: Tue Apr 26 21:08:11 2011
New Revision: 221086
URL: http://svn.freebsd.org/changeset/base/221086

Log:
  Make WARNS= 7 for ftp-proxy.

Modified:
  projects/pf/pf45/usr.sbin/ftp-proxy/ftp-proxy/Makefile

Modified: projects/pf/pf45/usr.sbin/ftp-proxy/ftp-proxy/Makefile
==============================================================================
--- projects/pf/pf45/usr.sbin/ftp-proxy/ftp-proxy/Makefile	Tue Apr 26 21:06:56 2011	(r221085)
+++ projects/pf/pf45/usr.sbin/ftp-proxy/ftp-proxy/Makefile	Tue Apr 26 21:08:11 2011	(r221086)
@@ -5,14 +5,14 @@
 PROG=	ftp-proxy
 MAN=	ftp-proxy.8
 
-SRCS=   ftp-proxy.c filter.c
+SRCS=	ftp-proxy.c filter.c
 
 CFLAGS+= -I${.CURDIR}/../../../contrib/pf/libevent
 CFLAGS+= -I${.CURDIR}/../../../sys/contrib/pf
 
-DPADD=	${LIBEVENT}
-LDADD=	${LIBEVENT}
+LDADD+= ${LIBEVENT}
+DPADD+= ${LIBEVENT}
 
-WARNS?=	2
+WARNS?=	7
 
 .include <bsd.prog.mk>

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 21:47:38 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id F25E7106564A;
	Tue, 26 Apr 2011 21:47:38 +0000 (UTC) (envelope-from eri@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id E2C2F8FC17;
	Tue, 26 Apr 2011 21:47:38 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QLlcvf039917;
	Tue, 26 Apr 2011 21:47:38 GMT (envelope-from eri@svn.freebsd.org)
Received: (from eri@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QLlctv039913;
	Tue, 26 Apr 2011 21:47:38 GMT (envelope-from eri@svn.freebsd.org)
Message-Id: <201104262147.p3QLlctv039913@svn.freebsd.org>
From: Ermal Luçi <eri@FreeBSD.org>
Date: Tue, 26 Apr 2011 21:47:38 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221087 - projects/pf/pf45/contrib/pf/authpf
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 21:47:39 -0000

Author: eri
Date: Tue Apr 26 21:47:38 2011
New Revision: 221087
URL: http://svn.freebsd.org/changeset/base/221087

Log:
  Bring authpf up to date with OpenBSD 4.5.
  Also make it almost ready for WARNS= 6

Modified:
  projects/pf/pf45/contrib/pf/authpf/authpf.8
  projects/pf/pf45/contrib/pf/authpf/authpf.c
  projects/pf/pf45/contrib/pf/authpf/pathnames.h

Modified: projects/pf/pf45/contrib/pf/authpf/authpf.8
==============================================================================
--- projects/pf/pf45/contrib/pf/authpf/authpf.8	Tue Apr 26 21:08:11 2011	(r221086)
+++ projects/pf/pf45/contrib/pf/authpf/authpf.8	Tue Apr 26 21:47:38 2011	(r221087)
@@ -1,5 +1,5 @@
 .\" $FreeBSD$
-.\" $OpenBSD: authpf.8,v 1.43 2007/02/24 17:21:04 beck Exp $
+.\" $OpenBSD: authpf.8,v 1.47 2009/01/06 03:11:50 mcbride Exp $
 .\"
 .\" Copyright (c) 1998-2007 Bob Beck (beck@openbsd.org>.  All rights reserved.
 .\"
@@ -15,14 +15,16 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd March 28, 2006
+.Dd January 6 2009
 .Dt AUTHPF 8
 .Os
 .Sh NAME
-.Nm authpf
+.Nm authpf ,
+.Nm authpf-noip
 .Nd authenticating gateway user shell
 .Sh SYNOPSIS
 .Nm authpf
+.Nm authpf-noip
 .Sh DESCRIPTION
 .Nm
 is a user shell for authenticating gateways.
@@ -31,47 +33,63 @@ It is used to change
 rules when a user authenticates and starts a session with
 .Xr sshd 8
 and to undo these changes when the user's session exits.
-It is designed for changing filter and translation rules for an individual
-source IP address as long as a user maintains an active
-.Xr ssh 1
-session.
 Typical use would be for a gateway that authenticates users before
 allowing them Internet use, or a gateway that allows different users into
 different places.
+Combined with properly set up filter rules and secure switches,
 .Nm
-logs the successful start and end of a session to
-.Xr syslogd 8 .
-This, combined with properly set up filter rules and secure switches,
 can be used to ensure users are held accountable for their network traffic.
-.Pp
-.Nm
-can add filter and translation rules using the syntax described in
-.Xr pf.conf 5 .
-.Nm
-requires that the
+It is meant to be used with users who can connect via
+.Xr ssh 1
+only, and requires the
 .Xr pf 4
-system be enabled and a 
-.Xr fdescfs 5
-file system be mounted at
-.Pa /dev/fd
-before use.
+subsystem to be enabled.
+.Pp
+.Nm authpf-noip
+is a user shell
+which allows multiple connections to take
+place from the same IP address.
+It is useful primarily in cases where connections are tunneled via
+the gateway system, and can be directly associated with the user name.
+It cannot ensure accountability when
+classifying connections by IP address;
+in this case the client's IP address
+is not provided to the packet filter via the
+.Ar client_ip
+macro or the
+.Ar authpf_users
+table.
+Additionally, states associated with the client IP address
+are not purged when the session is ended.
+.Pp
+To use either
 .Nm
-can also maintain the list of IP address of connected users
-in the "authpf_users"
-.Pa table .
+or
+.Nm authpf-noip ,
+the user's shell needs to be set to
+.Pa /usr/sbin/authpf
+or
+.Pa /usr/sbin/authpf-noip .
 .Pp
 .Nm
-is meant to be used with users who can connect via
+uses the
+.Xr pf.conf 5
+syntax to change filter and translation rules for an individual
+user or client IP address as long as a user maintains an active
 .Xr ssh 1
-only.
-On startup,
+session, and logs the successful start and end of a session to
+.Xr syslogd 8 .
 .Nm
 retrieves the client's connecting IP address via the
 .Ev SSH_CLIENT
 environment variable and, after performing additional access checks,
 reads a template file to determine what filter and translation rules
-(if any) to add.
-On session exit the same rules that were added at startup are removed.
+(if any) to add, and
+maintains the list of IP addresses of connected users in the
+.Ar authpf_users
+table.
+On session exit the same rules and table entries that were added at startup
+are removed, and all states associated with the client's IP address are purged.
 .Pp
 Each
 .Nm
@@ -185,6 +203,9 @@ It is also possible to configure
 to only allow specific users access.
 This is done by listing their login names, one per line, in
 .Pa /etc/authpf/authpf.allow .
+A group of users can also be indicated by prepending "%" to the group name,
+and all members of a login class can be indicated by prepending "@" to the
+login class name.
 If "*" is found on a line, then all usernames match.
 If
 .Nm
@@ -297,7 +318,8 @@ They have a
 wireless network which they would like to protect from unauthorized use.
 To accomplish this, they create the file
 .Pa /etc/authpf/authpf.allow
-which lists their login ids, one per line.
+which lists their login ids, group prepended with "%", or login class
+prepended with "@", one per line.
 At this point, even if eve could authenticate to
 .Xr sshd 8 ,
 she would not be allowed to use the gateway.
@@ -501,6 +523,31 @@ table <authpf_users> persist
 anchor "authpf/*" from <authpf_users>
 rdr-anchor "authpf/*" from <authpf_users>
 .Ed
+.Pp
+.Sy Tunneled users
+\- normally
+.Nm
+allows only one session per client IP address.
+However in some cases, such as when connections are tunneled via
+.Xr ssh 1
+or
+.Xr ipsec 4 ,
+the connections can be authorized based on the userid of the user instead of
+the client IP address.
+In this case it is appropriate to use
+.Nm authpf-noip
+to allow multiple users behind a NAT gateway to connect.
+In the
+.Pa /etc/authpf/authpf.rules
+example below, the remote user could tunnel a remote desktop session to their
+workstation:
+.Bd -literal
+internal_if="bge0"
+workstation_ip="10.2.3.4"
+
+pass out on $internal_if from (self) to $workstation_ip port 3389 \e
+       user $user_id
+.Ed
 .Sh FILES
 .Bl -tag -width "/etc/authpf/authpf.conf" -compact
 .It Pa /etc/authpf/authpf.conf
@@ -512,7 +559,6 @@ rdr-anchor "authpf/*" from <authpf_users
 .Sh SEE ALSO
 .Xr pf 4 ,
 .Xr pf.conf 5 ,
-.Xr fdescfs 5 ,
 .Xr securelevel 7 ,
 .Xr ftp-proxy 8
 .Sh HISTORY

Modified: projects/pf/pf45/contrib/pf/authpf/authpf.c
==============================================================================
--- projects/pf/pf45/contrib/pf/authpf/authpf.c	Tue Apr 26 21:08:11 2011	(r221086)
+++ projects/pf/pf45/contrib/pf/authpf/authpf.c	Tue Apr 26 21:47:38 2011	(r221087)
@@ -1,4 +1,4 @@
-/*	$OpenBSD: authpf.c,v 1.104 2007/02/24 17:35:08 beck Exp $	*/
+/*	$OpenBSD: authpf.c,v 1.112 2009/01/10 19:08:53 miod Exp $	*/
 
 /*
  * Copyright (C) 1998 - 2007 Bob Beck (beck@openbsd.org).
@@ -19,7 +19,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <sys/param.h>
+#include <sys/types.h>
 #include <sys/file.h>
 #include <sys/ioctl.h>
 #include <sys/socket.h>
@@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$");
 #endif
 #include <login_cap.h>
 #include <pwd.h>
+#include <grp.h>
 #include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -48,10 +49,11 @@ __FBSDID("$FreeBSD$");
 #include "pathnames.h"
 
 static int	read_config(FILE *);
-static void	print_message(char *);
-static int	allowed_luser(char *);
-static int	check_luser(char *, char *);
+static void	print_message(const char *);
+static int	allowed_luser(struct passwd *);
+static int	check_luser(const char *, char *);
 static int	remove_stale_rulesets(void);
+static int	recursive_ruleset_purge(char *, char *);
 static int	change_filter(int, const char *, const char *);
 static int	change_table(int, const char *);
 static void	authpf_kill_states(void);
@@ -60,8 +62,10 @@ int	dev;			/* pf device */
 char	anchorname[PF_ANCHOR_NAME_SIZE] = "authpf";
 char	rulesetname[MAXPATHLEN - PF_ANCHOR_NAME_SIZE - 2];
 char	tablename[PF_TABLE_NAME_SIZE] = "authpf_users";
+int	user_ip = 1;	/* controls whether $user_ip is set */
 
 FILE	*pidfp;
+int	pidfd = -1;
 char	 luser[MAXLOGNAME];	/* username */
 char	 ipsrc[256];		/* ip as a string */
 char	 pidfile[MAXPATHLEN];	/* we save pid in this file. */
@@ -75,6 +79,7 @@ static __dead2 void	do_death(int);
 #else
 static __dead void	do_death(int);
 #endif
+extern char *__progname;	/* program name */
 
 /*
  * User shell for authenticating gateways. Sole purpose is to allow
@@ -83,21 +88,24 @@ static __dead void	do_death(int);
  * up. Meant to be used only from ssh(1) connections.
  */
 int
-main(int argc, char *argv[])
+main(void)
 {
-	int		 lockcnt = 0, n, pidfd;
+	int		 lockcnt = 0, n;
 	FILE		*config;
 	struct in6_addr	 ina;
 	struct passwd	*pw;
 	char		*cp;
 	gid_t		 gid;
 	uid_t		 uid;
-	char		*shell;
+	const char	*shell;
 	login_cap_t	*lc;
 
+	if (strcmp(__progname, "-authpf-noip") == 0)
+                user_ip = 0;
+
 	config = fopen(PATH_CONFFILE, "r");
 	if (config == NULL) {
-		syslog(LOG_ERR, "can not open %s (%m)", PATH_CONFFILE);
+		syslog(LOG_ERR, "cannot open %s (%m)", PATH_CONFFILE);
 		exit(1);
 	}
 
@@ -142,23 +150,34 @@ main(int argc, char *argv[])
 	}
 
 	if ((lc = login_getclass(pw->pw_class)) != NULL)
-		shell = (char *)login_getcapstr(lc, "shell", pw->pw_shell,
+		shell = login_getcapstr(lc, "shell", pw->pw_shell,
 		    pw->pw_shell);
 	else
 		shell = pw->pw_shell;
 
+#ifndef __FreeBSD__
 	login_close(lc);
+#endif
 
-	if (strcmp(shell, PATH_AUTHPF_SHELL)) {
+	if (strcmp(shell, PATH_AUTHPF_SHELL) && 
+	    strcmp(shell, PATH_AUTHPF_SHELL_NOIP)) {
 		syslog(LOG_ERR, "wrong shell for user %s, uid %u",
 		    pw->pw_name, pw->pw_uid);
+#ifdef __FreeBSD__
+	login_close(lc);
+#else
 		if (shell != pw->pw_shell)
 			free(shell);
+#endif
 		goto die;
 	}
 
+#ifdef __FreeBSD__
+	login_close(lc);
+#else
 	if (shell != pw->pw_shell)
 		free(shell);
+#endif
 
 	/*
 	 * Paranoia, but this data _does_ come from outside authpf, and
@@ -181,13 +200,22 @@ main(int argc, char *argv[])
 	}
 
 
-	/* Make our entry in /var/authpf as /var/authpf/ipaddr */
-	n = snprintf(pidfile, sizeof(pidfile), "%s/%s", PATH_PIDFILE, ipsrc);
+	/* Make our entry in /var/authpf as ipaddr or username */
+	n = snprintf(pidfile, sizeof(pidfile), "%s/%s",
+	    PATH_PIDFILE, user_ip ? ipsrc : luser);
 	if (n < 0 || (u_int)n >= sizeof(pidfile)) {
 		syslog(LOG_ERR, "path to pidfile too long");
 		goto die;
 	}
 
+	signal(SIGTERM, need_death);
+	signal(SIGINT, need_death);
+	signal(SIGALRM, need_death);
+	signal(SIGPIPE, need_death);
+	signal(SIGHUP, need_death);
+	signal(SIGQUIT, need_death);
+	signal(SIGTSTP, need_death);
+
 	/*
 	 * If someone else is already using this ip, then this person
 	 * wants to switch users - so kill the old process and exit
@@ -241,15 +269,17 @@ main(int argc, char *argv[])
 		}
 
 		/*
-		 * we try to kill the previous process and acquire the lock
+		 * We try to kill the previous process and acquire the lock
 		 * for 10 seconds, trying once a second. if we can't after
-		 * 10 attempts we log an error and give up
+		 * 10 attempts we log an error and give up.
 		 */
-		if (++lockcnt > 10) {
-			syslog(LOG_ERR, "cannot kill previous authpf (pid %d)",
-			    otherpid);
+		if (want_death || ++lockcnt > 10) {
+			if (!want_death)
+				syslog(LOG_ERR, "cannot kill previous authpf (pid %d)",
+				    otherpid);
 			fclose(pidfp);
 			pidfp = NULL;
+			pidfd = -1;
 			goto dogdeath;
 		}
 		sleep(1);
@@ -260,6 +290,7 @@ main(int argc, char *argv[])
 		 */
 		fclose(pidfp);
 		pidfp = NULL;
+		pidfd = -1;
 	} while (1);
 	
 	/* whack the group list */
@@ -277,7 +308,7 @@ main(int argc, char *argv[])
 	}
 	openlog("authpf", LOG_PID | LOG_NDELAY, LOG_DAEMON);
 
-	if (!check_luser(PATH_BAN_DIR, luser) || !allowed_luser(luser)) {
+	if (!check_luser(PATH_BAN_DIR, luser) || !allowed_luser(pw)) {
 		syslog(LOG_INFO, "user %s prohibited", luser);
 		do_death(0);
 	}
@@ -302,19 +333,12 @@ main(int argc, char *argv[])
 		printf("Unable to modify filters\r\n");
 		do_death(0);
 	}
-	if (change_table(1, ipsrc) == -1) {
+	if (user_ip && change_table(1, ipsrc) == -1) {
 		printf("Unable to modify table\r\n");
 		change_filter(0, luser, ipsrc);
 		do_death(0);
 	}
 
-	signal(SIGTERM, need_death);
-	signal(SIGINT, need_death);
-	signal(SIGALRM, need_death);
-	signal(SIGPIPE, need_death);
-	signal(SIGHUP, need_death);
-	signal(SIGQUIT, need_death);
-	signal(SIGTSTP, need_death);
 	while (1) {
 		printf("\r\nHello %s. ", luser);
 		printf("You are authenticated from host \"%s\"\r\n", ipsrc);
@@ -337,8 +361,6 @@ dogdeath:
 	sleep(180); /* them lusers read reaaaaal slow */
 die:
 	do_death(0);
-
-	/* NOTREACHED */
 }
 
 /*
@@ -361,6 +383,8 @@ read_config(FILE *f)
 		}
 		i++;
 		len = strlen(buf);
+		if (len == 0)
+			continue;
 		if (buf[len - 1] != '\n' && !feof(f)) {
 			syslog(LOG_ERR, "line %d too long in %s", i,
 			    PATH_CONFFILE);
@@ -413,7 +437,7 @@ parse_error:
  * they've been bad or we're unavailable.
  */
 static void
-print_message(char *filename)
+print_message(const char *filename)
 {
 	char	 buf[1024];
 	FILE	*f;
@@ -436,6 +460,7 @@ print_message(char *filename)
  * allowed_luser checks to see if user "luser" is allowed to
  * use this gateway by virtue of being listed in an allowed
  * users file, namely /etc/authpf/authpf.allow .
+ * Users may be listed by <username>, %<group>, or @<login_class>.
  *
  * If /etc/authpf/authpf.allow does not exist, then we assume that
  * all users who are allowed in by sshd(8) are permitted to
@@ -444,9 +469,9 @@ print_message(char *filename)
  * the session terminates in the same manner as being banned.
  */
 static int
-allowed_luser(char *luser)
+allowed_luser(struct passwd *pw)
 {
-	char	*buf, *lbuf;
+	char *buf,*lbuf;
 	int	 matched;
 	size_t	 len;
 	FILE	*f;
@@ -476,8 +501,14 @@ allowed_luser(char *luser)
 		 * "public" gateway, such as it is, so let
 		 * everyone use it.
 		 */
+		int gl_init = 0, ngroups = NGROUPS + 1;
+		gid_t groups[NGROUPS + 1];
+
 		lbuf = NULL;
+		matched = 0;
+
 		while ((buf = fgetln(f, &len))) {
+			
 			if (buf[len - 1] == '\n')
 				buf[len - 1] = '\0';
 			else {
@@ -488,7 +519,40 @@ allowed_luser(char *luser)
 				buf = lbuf;
 			}
 
-			matched = strcmp(luser, buf) == 0 || strcmp("*", buf) == 0;
+			if (buf[0] == '@') {
+				/* check login class */
+				if (strcmp(pw->pw_class, buf + 1) == 0)
+					matched++;
+			} else if (buf[0] == '%') {
+				/* check group membership */
+				int cnt; 
+				struct group *group;
+
+				if ((group = getgrnam(buf + 1)) == NULL) {
+					syslog(LOG_ERR,
+					    "invalid group '%s' in %s (%s)",
+					    buf + 1, PATH_ALLOWFILE,
+				 	    strerror(errno));
+					return (0);
+				}
+
+				if (!gl_init) {
+					(void) getgrouplist(pw->pw_name,
+					    pw->pw_gid, groups, &ngroups);
+					gl_init++;
+				}
+			
+				for ( cnt = 0; cnt < ngroups; cnt++) {
+					if (group->gr_gid == groups[cnt]) {
+						matched++;
+						break;
+					}
+				}
+			} else {
+				/* check username and wildcard */
+				matched = strcmp(pw->pw_name, buf) == 0 ||
+				    strcmp("*", buf) == 0;
+			}
 
 			if (lbuf != NULL) {
 				free(lbuf);
@@ -496,13 +560,13 @@ allowed_luser(char *luser)
 			}
 
 			if (matched)
-				return (1); /* matched an allowed username */
+				return (1); /* matched an allowed user/group */
 		}
 		syslog(LOG_INFO, "denied access to %s: not listed in %s",
-		    luser, PATH_ALLOWFILE);
+		    pw->pw_name, PATH_ALLOWFILE);
 
 		/* reuse buf */
-		buf = "\n\nSorry, you are not allowed to use this facility!\n";
+		sprintf(buf, "%s", "\n\nSorry, you are not allowed to use this facility!\n");
 		fputs(buf, stdout);
 	}
 	fflush(stdout);
@@ -520,13 +584,13 @@ allowed_luser(char *luser)
  * going to be un-banned.)
  */
 static int
-check_luser(char *luserdir, char *luser)
+check_luser(const char *luserdir, char *l_user)
 {
 	FILE	*f;
 	int	 n;
 	char	 tmp[MAXPATHLEN];
 
-	n = snprintf(tmp, sizeof(tmp), "%s/%s", luserdir, luser);
+	n = snprintf(tmp, sizeof(tmp), "%s/%s", luserdir, l_user);
 	if (n < 0 || (u_int)n >= sizeof(tmp)) {
 		syslog(LOG_ERR, "provided banned directory line too long (%s)",
 		    luserdir);
@@ -555,7 +619,7 @@ check_luser(char *luserdir, char *luser)
 		 * tell what they can do and where they can go.
 		 */
 		syslog(LOG_INFO, "denied access to %s: %s exists",
-		    luser, tmp);
+		    l_user, tmp);
 
 		/* reuse tmp */
 		strlcpy(tmp, "\n\n-**- Sorry, you have been banned! -**-\n\n",
@@ -581,7 +645,7 @@ static int
 remove_stale_rulesets(void)
 {
 	struct pfioc_ruleset	 prs;
-	u_int32_t		 nr, mnr;
+	u_int32_t		 nr;
 
 	memset(&prs, 0, sizeof(prs));
 	strlcpy(prs.path, anchorname, sizeof(prs.path));
@@ -592,13 +656,12 @@ remove_stale_rulesets(void)
 			return (1);
 	}
 
-	mnr = prs.nr;
-	nr = 0;
-	while (nr < mnr) {
+	nr = prs.nr;
+	while (nr) {
 		char	*s, *t;
 		pid_t	 pid;
 
-		prs.nr = nr;
+		prs.nr = nr - 1;
 		if (ioctl(dev, DIOCGETRULESET, &prs))
 			return (1);
 		errno = 0;
@@ -610,119 +673,159 @@ remove_stale_rulesets(void)
 		if (!prs.name[0] || errno ||
 		    (*s && (t == prs.name || *s != ')')))
 			return (1);
-		if (kill(pid, 0) && errno != EPERM) {
-			int			i;
-			struct pfioc_trans_e	t_e[PF_RULESET_MAX+1];
-			struct pfioc_trans	t;
-
-			bzero(&t, sizeof(t));
-			bzero(t_e, sizeof(t_e));
-			t.size = PF_RULESET_MAX+1;
-			t.esize = sizeof(t_e[0]);
-			t.array = t_e;
-			for (i = 0; i < PF_RULESET_MAX+1; ++i) {
-				t_e[i].rs_num = i;
-				snprintf(t_e[i].anchor, sizeof(t_e[i].anchor),
-				    "%s/%s", anchorname, prs.name);
-			}
-			t_e[PF_RULESET_MAX].rs_num = PF_RULESET_TABLE;
-			if ((ioctl(dev, DIOCXBEGIN, &t) ||
-			    ioctl(dev, DIOCXCOMMIT, &t)) &&
-			    errno != EINVAL)
+		if ((kill(pid, 0) && errno != EPERM) || pid == getpid()) {
+			if (recursive_ruleset_purge(anchorname, prs.name))
 				return (1);
-			mnr--;
-		} else
-			nr++;
+		}
+		nr--;
 	}
 	return (0);
 }
 
+static int
+recursive_ruleset_purge(char *an, char *rs)
+{
+	struct pfioc_trans_e     *t_e = NULL;
+	struct pfioc_trans	 *t = NULL;
+	struct pfioc_ruleset	 *prs = NULL;
+	int			  i;
+
+
+	/* purge rules */
+	errno = 0;
+	if ((t = calloc(1, sizeof(struct pfioc_trans))) == NULL)
+		goto no_mem;
+	if ((t_e = calloc(PF_RULESET_MAX+1,
+	    sizeof(struct pfioc_trans_e))) == NULL)
+		goto no_mem;
+	t->size = PF_RULESET_MAX+1;
+	t->esize = sizeof(struct pfioc_trans_e);
+	t->array = t_e;
+	for (i = 0; i < PF_RULESET_MAX+1; ++i) {
+		t_e[i].rs_num = i;
+		snprintf(t_e[i].anchor, sizeof(t_e[i].anchor), "%s/%s", an, rs);
+	}
+	t_e[PF_RULESET_MAX].rs_num = PF_RULESET_TABLE;
+	if ((ioctl(dev, DIOCXBEGIN, t) ||
+	    ioctl(dev, DIOCXCOMMIT, t)) &&
+	    errno != EINVAL)
+		goto cleanup;
+
+	/* purge any children */
+	if ((prs = calloc(1, sizeof(struct pfioc_ruleset))) == NULL)
+		goto no_mem;
+	snprintf(prs->path, sizeof(prs->path), "%s/%s", an, rs);
+	if (ioctl(dev, DIOCGETRULESETS, prs)) {
+		if (errno != EINVAL)
+			goto cleanup;
+		errno = 0;
+	} else {
+		int nr = prs->nr;
+
+		while (nr) {
+			prs->nr = 0;
+			if (ioctl(dev, DIOCGETRULESET, prs))
+				goto cleanup;
+
+			if (recursive_ruleset_purge(prs->path, prs->name))
+				goto cleanup;
+			nr--;
+		}
+	}
+
+no_mem:
+	if (errno == ENOMEM)
+		syslog(LOG_ERR, "calloc failed");
+
+cleanup:
+	free(t);
+	free(t_e);
+	free(prs);
+	return (errno);
+}
+
 /*
  * Add/remove filter entries for user "luser" from ip "ipsrc"
  */
 static int
-change_filter(int add, const char *luser, const char *ipsrc)
+change_filter(int add, const char *l_user, const char *ip_src)
 {
-	char	*pargv[13] = {
-		"pfctl", "-p", "/dev/pf", "-q", "-a", "anchor/ruleset",
-		"-D", "user_ip=X", "-D", "user_id=X", "-f",
-		"file", NULL
-	};
 	char	*fdpath = NULL, *userstr = NULL, *ipstr = NULL;
 	char	*rsn = NULL, *fn = NULL;
 	pid_t	pid;
 	gid_t   gid;
 	int	s;
 
-	if (luser == NULL || !luser[0] || ipsrc == NULL || !ipsrc[0]) {
-		syslog(LOG_ERR, "invalid luser/ipsrc");
-		goto error;
-	}
-
-	if (asprintf(&rsn, "%s/%s", anchorname, rulesetname) == -1)
-		goto no_mem;
-	if (asprintf(&fdpath, "/dev/fd/%d", dev) == -1)
-		goto no_mem;
-	if (asprintf(&ipstr, "user_ip=%s", ipsrc) == -1)
-		goto no_mem;
-	if (asprintf(&userstr, "user_id=%s", luser) == -1)
-		goto no_mem;
-
 	if (add) {
 		struct stat sb;
+		char *pargv[13] = {
+			"pfctl", "-p", "/dev/pf", "-q", "-a", "anchor/ruleset",
+			"-D", "user_id=X", "-D", "user_ip=X", "-f", "file", NULL
+		};
 
-		if (asprintf(&fn, "%s/%s/authpf.rules", PATH_USER_DIR, luser)
-		    == -1)
+		if (l_user == NULL || !l_user[0] || ip_src == NULL || !ip_src[0]) {
+			syslog(LOG_ERR, "invalid luser/ipsrc");
+			goto error;
+		}
+
+		if (asprintf(&rsn, "%s/%s", anchorname, rulesetname) == -1)
+			goto no_mem;
+		if (asprintf(&fdpath, "/dev/fd/%d", dev) == -1)
+			goto no_mem;
+		if (asprintf(&ipstr, "user_ip=%s", ip_src) == -1)
+			goto no_mem;
+		if (asprintf(&userstr, "user_id=%s", l_user) == -1)
+			goto no_mem;
+		if (asprintf(&fn, "%s/%s/authpf.rules",
+		    PATH_USER_DIR, l_user) == -1)
 			goto no_mem;
 		if (stat(fn, &sb) == -1) {
 			free(fn);
 			if ((fn = strdup(PATH_PFRULES)) == NULL)
 				goto no_mem;
 		}
-	}
-	pargv[2] = fdpath;
-	pargv[5] = rsn;
-	pargv[7] = userstr;
-	pargv[9] = ipstr;
-	if (!add)
-		pargv[11] = "/dev/null";
-	else
-		pargv[11] = fn;
+		pargv[2] = fdpath;
+		pargv[5] = rsn;
+		pargv[7] = userstr;
+		if (user_ip) {
+			pargv[9] = ipstr;
+			pargv[11] = fn;
+		} else {
+			pargv[8] = "-f";
+			pargv[9] = fn;
+			pargv[10] = NULL;
+		}
 
-	switch (pid = fork()) {
-	case -1:
-		syslog(LOG_ERR, "fork failed");
-		goto error;
-	case 0:
-		/* revoke group privs before exec */
-		gid = getgid();
-		if (setregid(gid, gid) == -1) {
-			err(1, "setregid");
-		}
-		execvp(PATH_PFCTL, pargv);
-		warn("exec of %s failed", PATH_PFCTL);
-		_exit(1);
-	}
-
-	/* parent */
-	waitpid(pid, &s, 0);
-	if (s != 0) {
-		syslog(LOG_ERR, "pfctl exited abnormally");
-		goto error;
-	}
+		switch (pid = fork()) {
+		case -1:
+			syslog(LOG_ERR, "fork failed");
+			goto error;
+		case 0:
+			/* revoke group privs before exec */
+			gid = getgid();
+			if (setregid(gid, gid) == -1) {
+				err(1, "setregid");
+			}
+			execvp(PATH_PFCTL, pargv);
+			warn("exec of %s failed", PATH_PFCTL);
+			_exit(1);
+		}
+
+		/* parent */
+		waitpid(pid, &s, 0);
+		if (s != 0) {
+			syslog(LOG_ERR, "pfctl exited abnormally");
+			goto error;
+		}
 
-	if (add) {
 		gettimeofday(&Tstart, NULL);
-		syslog(LOG_INFO, "allowing %s, user %s", ipsrc, luser);
+		syslog(LOG_INFO, "allowing %s, user %s", ip_src, l_user);
 	} else {
+		remove_stale_rulesets();
+
 		gettimeofday(&Tend, NULL);
-#ifdef __FreeBSD__
-		syslog(LOG_INFO, "removed %s, user %s - duration %jd seconds",
-		    ipsrc, luser, (intmax_t)(Tend.tv_sec - Tstart.tv_sec));
-#else
-		syslog(LOG_INFO, "removed %s, user %s - duration %ld seconds",
-		    ipsrc, luser, Tend.tv_sec - Tstart.tv_sec);
-#endif
+		syslog(LOG_INFO, "removed %s, user %s - duration %zu seconds",
+		    ip_src, l_user, Tend.tv_sec - Tstart.tv_sec);
 	}
 	return (0);
 no_mem:
@@ -740,7 +843,7 @@ error:
  * Add/remove this IP from the "authpf_users" table.
  */
 static int
-change_table(int add, const char *ipsrc)
+change_table(int add, const char *ip_src)
 {
 	struct pfioc_table	io;
 	struct pfr_addr		addr;
@@ -753,12 +856,12 @@ change_table(int add, const char *ipsrc)
 	io.pfrio_size = 1;
 
 	bzero(&addr, sizeof(addr));
-	if (ipsrc == NULL || !ipsrc[0])
+	if (ip_src == NULL || !ip_src[0])
 		return (-1);
-	if (inet_pton(AF_INET, ipsrc, &addr.pfra_ip4addr) == 1) {
+	if (inet_pton(AF_INET, ip_src, &addr.pfra_ip4addr) == 1) {
 		addr.pfra_af = AF_INET;
 		addr.pfra_net = 32;
-	} else if (inet_pton(AF_INET6, ipsrc, &addr.pfra_ip6addr) == 1) {
+	} else if (inet_pton(AF_INET6, ip_src, &addr.pfra_ip6addr) == 1) {
 		addr.pfra_af = AF_INET6;
 		addr.pfra_net = 128;
 	} else {
@@ -769,7 +872,7 @@ change_table(int add, const char *ipsrc)
 	if (ioctl(dev, add ? DIOCRADDADDRS : DIOCRDELADDRS, &io) &&
 	    errno != ESRCH) {
 		syslog(LOG_ERR, "cannot %s %s from table %s: %s",
-		    add ? "add" : "remove", ipsrc, tablename,
+		    add ? "add" : "remove", ip_src, tablename,
 		    strerror(errno));
 		return (-1);
 	}
@@ -821,7 +924,7 @@ authpf_kill_states(void)
 
 /* signal handler that makes us go away properly */
 static void
-need_death(int signo)
+need_death(int signo __unused)
 {
 	want_death = 1;
 }
@@ -840,11 +943,12 @@ do_death(int active)
 
 	if (active) {
 		change_filter(0, luser, ipsrc);
-		change_table(0, ipsrc);
-		authpf_kill_states();
-		remove_stale_rulesets();
+		if (user_ip) {
+			change_table(0, ipsrc);
+			authpf_kill_states();
+		}
 	}
-	if (pidfile[0] && (pidfp != NULL))
+	if (pidfile[0] && pidfd != -1)
 		if (unlink(pidfile) == -1)
 			syslog(LOG_ERR, "cannot unlink %s (%m)", pidfile);
 	exit(ret);

Modified: projects/pf/pf45/contrib/pf/authpf/pathnames.h
==============================================================================
--- projects/pf/pf45/contrib/pf/authpf/pathnames.h	Tue Apr 26 21:08:11 2011	(r221086)
+++ projects/pf/pf45/contrib/pf/authpf/pathnames.h	Tue Apr 26 21:47:38 2011	(r221087)
@@ -1,4 +1,4 @@
-/*	$OpenBSD: pathnames.h,v 1.7 2004/04/25 18:40:42 beck Exp $	*/
+/*	$OpenBSD: pathnames.h,v 1.8 2008/02/14 01:49:17 mcbride Exp $	*/
 
 /*
  * Copyright (C) 2002 Chris Kuethe (ckuethe@ualberta.ca)
@@ -35,4 +35,5 @@
 #define PATH_DEVFILE		"/dev/pf"
 #define PATH_PIDFILE		"/var/authpf"
 #define PATH_AUTHPF_SHELL	"/usr/sbin/authpf"
+#define PATH_AUTHPF_SHELL_NOIP	"/usr/sbin/authpf-noip"
 #define PATH_PFCTL		"/sbin/pfctl"

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 22:13:58 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id CF959106566C;
	Tue, 26 Apr 2011 22:13:58 +0000 (UTC) (envelope-from eri@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id A92418FC0C;
	Tue, 26 Apr 2011 22:13:58 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QMDwLV040898;
	Tue, 26 Apr 2011 22:13:58 GMT (envelope-from eri@svn.freebsd.org)
Received: (from eri@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QMDwnC040892;
	Tue, 26 Apr 2011 22:13:58 GMT (envelope-from eri@svn.freebsd.org)
Message-Id: <201104262213.p3QMDwnC040892@svn.freebsd.org>
From: Ermal Luçi <eri@FreeBSD.org>
Date: Tue, 26 Apr 2011 22:13:58 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221091 - projects/pf/pf45/contrib/pf/man
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 22:13:58 -0000

Author: eri
Date: Tue Apr 26 22:13:58 2011
New Revision: 221091
URL: http://svn.freebsd.org/changeset/base/221091

Log:
  Update man pages also to match the OpenBSD 4.5 content.

Modified:
  projects/pf/pf45/contrib/pf/man/pf.4
  projects/pf/pf45/contrib/pf/man/pf.conf.5
  projects/pf/pf45/contrib/pf/man/pf.os.5
  projects/pf/pf45/contrib/pf/man/pflog.4
  projects/pf/pf45/contrib/pf/man/pfsync.4

Modified: projects/pf/pf45/contrib/pf/man/pf.4
==============================================================================
--- projects/pf/pf45/contrib/pf/man/pf.4	Tue Apr 26 22:11:40 2011	(r221090)
+++ projects/pf/pf45/contrib/pf/man/pf.4	Tue Apr 26 22:13:58 2011	(r221091)
@@ -1,4 +1,4 @@
-.\"	$OpenBSD: pf.4,v 1.58 2007/02/09 11:39:06 henning Exp $
+.\"	$OpenBSD: pf.4,v 1.62 2008/09/10 14:57:37 jmc Exp $
 .\"
 .\" Copyright (C) 2001, Kjell Wooding.  All rights reserved.
 .\"
@@ -28,7 +28,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd February 7, 2005
+.Dd September 10 2008
 .Dt PF 4
 .Os
 .Sh NAME
@@ -294,14 +294,17 @@ if another process is concurrently updat
 Add a state entry.
 .Bd -literal
 struct pfioc_state {
-	u_int32_t	 nr;
-	struct pf_state	 state;
+	struct pfsync_state	state;
 };
 .Ed
 .It Dv DIOCGETSTATE Fa "struct pfioc_state *ps"
-Extract the entry with the specified number
-.Va nr
-from the state table.
+Extract the entry identified by the
+.Va id
+and
+.Va creatorid
+fields of the
+.Va state
+structure from the state table.
 .It Dv DIOCKILLSTATES Fa "struct pfioc_state_kill *psk"
 Remove matching entries from the state table.
 This ioctl returns the number of killed states in
@@ -1049,12 +1052,14 @@ internal interface description.
 The filtering process is the same as for
 .Dv DIOCIGETIFACES .
 .Bd -literal
-#define PFI_IFLAG_SKIP		0x0100	/* skip filtering on interface */
+#define PFI_IFLAG_SKIP	0x0100	/* skip filtering on interface */
 .Ed
 .It Dv DIOCCLRIFFLAG Fa "struct pfioc_iface *io"
 Works as
 .Dv DIOCSETIFFLAG
 above but clears the flags.
+.It Dv DIOCKILLSRCNODES Fa "struct pfioc_iface *io"
+Explicitly remove source tracking nodes.
 .El
 .Sh FILES
 .Bl -tag -width /dev/pf -compact
@@ -1133,6 +1138,7 @@ main(int argc, char *argv[])
 .Xr altq 4 ,
 .Xr if_bridge 4 ,
 .Xr pflog 4 ,
+.Xr pflow 4 ,
 .Xr pfsync 4 ,
 .Xr pfctl 8 ,
 .Xr altq 9

Modified: projects/pf/pf45/contrib/pf/man/pf.conf.5
==============================================================================
--- projects/pf/pf45/contrib/pf/man/pf.conf.5	Tue Apr 26 22:11:40 2011	(r221090)
+++ projects/pf/pf45/contrib/pf/man/pf.conf.5	Tue Apr 26 22:13:58 2011	(r221091)
@@ -1,5 +1,5 @@
-.\"	$FreeBSD$
-.\"	$OpenBSD: pf.conf.5,v 1.393 2008/02/11 07:46:32 jmc Exp $
+.\"    $FreeBSD$
+.\"	$OpenBSD: pf.conf.5,v 1.406 2009/01/31 19:37:12 sobrado Exp $
 .\"
 .\" Copyright (c) 2002, Daniel Hartmeier
 .\" All rights reserved.
@@ -28,7 +28,7 @@
 .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd June 10, 2008
+.Dd January 31 2009
 .Dt PF.CONF 5
 .Os
 .Sh NAME
@@ -79,6 +79,17 @@ By default
 enforces this order (see
 .Ar set require-order
 below).
+.Pp
+Comments can be put anywhere in the file using a hash mark
+.Pq Sq # ,
+and extend to the end of the current line.
+.Pp
+Additional configuration files can be included with the
+.Ic include
+keyword, for example:
+.Bd -literal -offset indent
+include "/etc/pf/sub.filter.conf"
+.Ed
 .Sh MACROS
 Macros can be defined that will later be expanded in context.
 Macro names must start with a letter, and may contain letters, digits
@@ -154,7 +165,7 @@ A table initialized with the empty list,
 will be cleared on load.
 .El
 .Pp
-Tables may be defined with the following two attributes:
+Tables may be defined with the following attributes:
 .Bl -tag -width persist
 .It Ar persist
 The
@@ -173,6 +184,11 @@ can be used to add or remove addresses f
 when running with
 .Xr securelevel 7
 = 2.
+.It Ar counters
+The
+.Ar counters
+flag enables per-address packet and byte counters which can be displayed with
+.Xr pfctl 8 .
 .El
 .Pp
 For example,
@@ -328,7 +344,8 @@ With 9000 state table entries, the timeo
 (tcp.first 60, tcp.established 43200).
 .Pp
 .It Ar set loginterface
-Enable collection of packet and byte count statistics for the given interface.
+Enable collection of packet and byte count statistics for the given
+interface or interface group.
 These statistics can be viewed using
 .Bd -literal -offset indent
 # pfctl -s info
@@ -403,9 +420,10 @@ set limit { states 20000, frags 20000, s
 .Bl -tag -width xxxxxxxx -compact
 .It Ar none
 Disable the ruleset optimizer.
-This is the default behaviour.
 .It Ar basic
-Enable basic ruleset optimization, which does four things to improve the
+Enable basic ruleset optimization.
+This is the default behaviour.
+Basic ruleset optimization does four things to improve the
 performance of ruleset evaluations:
 .Pp
 .Bl -enum -compact
@@ -500,6 +518,16 @@ For example:
 .Bd -literal -offset indent
 set state-policy if-bound
 .Ed
+.It Ar set state-defaults
+The
+.Ar state-defaults
+option sets the state options for states created from rules
+without an explicit
+.Ar keep state .
+For example:
+.Bd -literal -offset indent
+set state-defaults pflow, no-sync
+.Ed
 .It Ar set hostid
 The 32-bit
 .Ar hostid
@@ -617,6 +645,19 @@ modifier to ensure unique IP identifiers
 Enforces a minimum TTL for matching IP packets.
 .It Ar max-mss Aq Ar number
 Enforces a maximum MSS for matching TCP packets.
+.It Xo Ar set-tos Aq Ar string
+.No \*(Ba Aq Ar number
+.Xc
+Enforces a
+.Em TOS
+for matching IP packets.
+.Em TOS
+may be
+given as one of
+.Ar lowdelay ,
+.Ar throughput ,
+.Ar reliability ,
+or as either hex or decimal.
 .It Ar random-id
 Replaces the IP identification field with random values to compensate
 for predictable values generated by many hosts.
@@ -725,7 +766,7 @@ much in the same way as
 works in the packet filter (see below).
 This mechanism should be used when it is necessary to exclude specific packets
 from broader scrub rules.
-.Sh QUEUEING/ALTQ
+.Sh QUEUEING
 The ALTQ system is currently not available in the GENERIC kernel nor as
 loadable modules.
 In order to use the herein after called queueing options one has to use a
@@ -816,7 +857,7 @@ assigned.
 .Ar Priority
 mainly controls the time packets take to get sent out, while
 .Ar bandwidth
-has primarily effects on throughput.
+primarily affects throughput.
 .Ar hfsc
 supports both link-sharing and guaranteed real-time services.
 It employs a service curve based QoS model,
@@ -879,7 +920,7 @@ Defines a list of subqueues to create on
 .El
 .Pp
 In the following example, the interface dc0
-should queue up to 5 Mbit/s in four second-level queues using
+should queue up to 5Mbps in four second-level queues using
 Class Based Queueing.
 Those four queues will be shown in a later example.
 .Bd -literal -offset indent
@@ -1171,7 +1212,7 @@ or to the firewall itself.
 Note that redirecting external incoming connections to the loopback
 address, as in
 .Bd -literal -offset indent
-rdr on ne3 inet proto tcp to port spamd -\*(Gt 127.0.0.1 port smtp
+rdr on ne3 inet proto tcp to port smtp -\*(Gt 127.0.0.1 port spamd
 .Ed
 .Pp
 will effectively allow an external host to connect to daemons
@@ -1256,7 +1297,7 @@ block all
 .Ed
 .It Ar pass
 The packet is passed;
-state is created state unless the
+state is created unless the
 .Ar no state
 option is specified.
 .El
@@ -1432,7 +1473,8 @@ This rule applies only to packets with t
 addresses and ports.
 .Pp
 Addresses can be specified in CIDR notation (matching netblocks), as
-symbolic host names or interface names, or as any of the following keywords:
+symbolic host names, interface names or interface group names, or as any
+of the following keywords:
 .Pp
 .Bl -tag -width xxxxxxxxxxxxxx -compact
 .It Ar any
@@ -1454,7 +1496,15 @@ the route back to the packet's source ad
 Any address that matches the given table.
 .El
 .Pp
-Interface names can have modifiers appended:
+Ranges of addresses are specified by using the
+.Sq -
+operator.
+For instance:
+.Dq 10.1.1.10 - 10.1.1.12
+means all addresses from 10.1.1.10 to 10.1.1.12,
+hence addresses 10.1.1.10, 10.1.1.11, and 10.1.1.12.
+.Pp
+Interface names and interface group names can have modifiers appended:
 .Pp
 .Bl -tag -width xxxxxxxxxxxx -compact
 .It Ar :network
@@ -1462,7 +1512,7 @@ Translates to the network(s) attached to
 .It Ar :broadcast
 Translates to the interface's broadcast address(es).
 .It Ar :peer
-Translates to the point to point interface's peer address(es).
+Translates to the point-to-point interface's peer address(es).
 .It Ar :0
 Do not include interface aliases.
 .El
@@ -1552,17 +1602,6 @@ This is equivalent to "from any to any".
 Similar to
 .Ar user ,
 this rule only applies to packets of sockets owned by the specified group.
-.Pp
-The use of
-.Ar group
-or
-.Ar user
-in
-.Va debug.mpsafenet Ns = Ns 1
-environments may result in a deadlock.
-Please see the
-.Sx BUGS
-section for details.
 .It Ar user Aq Ar user
 This rule only applies to packets of sockets owned by the specified user.
 For outgoing connections initiated from the firewall, this is the user
@@ -1628,7 +1667,7 @@ Flags not specified in
 are ignored.
 For stateful connections, the default is
 .Ar flags S/SA .
-To indicate that flags should not be checkd at all, specify
+To indicate that flags should not be checked at all, specify
 .Ar flags any .
 The flags are: (F)IN, (S)YN, (R)ST, (P)USH, (A)CK, (U)RG, (E)CE, and C(W)R.
 .Bl -tag -width Fl
@@ -1780,7 +1819,7 @@ of
 .Em lowdelay
 and TCP ACKs with no data payload will be assigned to the second one.
 See
-.Sx QUEUEING/ALTQ
+.Sx QUEUEING
 for setup details.
 .Pp
 For example:
@@ -1811,7 +1850,8 @@ or
 rules in addition to filter rules.
 Tags take the same macros as labels (see above).
 .It Ar tagged Aq Ar string
-Used with filter or translation rules to specify that packets must already
+Used with filter, translation or scrub rules
+to specify that packets must already
 be tagged with the given tag in order to match the rule.
 Inverse tag matching can also be done
 by specifying the
@@ -1822,6 +1862,22 @@ keyword.
 .It Ar rtable Aq Ar number
 Used to select an alternate routing table for the routing lookup.
 Only effective before the route lookup happened, i.e. when filtering inbound.
+.It Xo Ar divert-to Aq Ar host
+.Ar port Aq Ar port
+.Xc
+Used to redirect packets to a local socket bound to
+.Ar host
+and
+.Ar port .
+The packets will not be modified, so
+.Xr getsockname 2
+on the socket will return the original destination address of the packet.
+.It Ar divert-reply
+Used to receive replies for sockets that are bound to addresses
+which are not local to the machine.
+See
+.Xr setsockopt 2
+for information on how to bind these sockets.
 .It Ar probability Aq Ar number
 A probability attribute can be attached to a rule, with a value set between
 0 and 1, bounds not included.
@@ -1940,7 +1996,7 @@ pool options.
 Note that by default these associations are destroyed as soon as there are
 no longer states which refer to them; in order to make the mappings last
 beyond the lifetime of the states, increase the global options with
-.Ar set timeout source-track
+.Ar set timeout src.track .
 See
 .Sx STATEFUL TRACKING OPTIONS
 for more ways to control the source tracking.
@@ -2026,7 +2082,7 @@ Rules with
 will not work if
 .Xr pf 4
 operates on a
-.Xr if_bridge 4 .
+.Xr bridge 4 .
 .Pp
 Example:
 .Bd -literal -offset indent
@@ -2046,8 +2102,8 @@ must be specified explicitly to apply op
 .Bl -tag -width xxxx -compact
 .It Ar max Aq Ar number
 Limits the number of concurrent states the rule may create.
-When this limit is reached, further packets matching the rule that would
-create state are dropped, until existing states time out.
+When this limit is reached, further packets that would create
+state will not match this rule until existing states time out.
 .It Ar no-sync
 Prevent state changes for states created by this rule from appearing on the
 .Xr pfsync 4
@@ -2064,8 +2120,12 @@ Uses a sloppy TCP connection tracker tha
 numbers at all, which makes insertion and ICMP teardown attacks way
 easier.
 This is intended to be used in situations where one does not see all
-packets of a connection, i.e. in asymmetric routing situations.
+packets of a connection, e.g. in asymmetric routing situations.
 Cannot be used with modulate or synproxy state.
+.It Ar pflow
+States created by this rule are exported on the
+.Xr pflow 4
+interface.
 .El
 .Pp
 Multiple options can be specified, separated by commas:
@@ -2472,10 +2532,8 @@ into the anchor.
 .Pp
 Optionally,
 .Ar anchor
-rules can specify the parameter's
-direction, interface, address family, protocol and source/destination
-address/port
-using the same syntax as filter rules.
+rules can specify packet filtering parameters using the same syntax as
+filter rules.
 When parameters are used, the
 .Ar anchor
 rule is only evaluated for matching packets.
@@ -2779,10 +2837,11 @@ in BNF:
 .Bd -literal
 line           = ( option | pf-rule | nat-rule | binat-rule | rdr-rule |
                  antispoof-rule | altq-rule | queue-rule | trans-anchors |
-		 anchor-rule | anchor-close | load-anchor | table-rule | )
+                 anchor-rule | anchor-close | load-anchor | table-rule |
+                 include )
 
 option         = "set" ( [ "timeout" ( timeout | "{" timeout-list "}" ) ] |
-		 [ "ruleset-optimization" [ "none" | "basic" | "profile" ]] |
+                 [ "ruleset-optimization" [ "none" | "basic" | "profile" ]] |
                  [ "optimization" [ "default" | "normal" |
                  "high-latency" | "satellite" |
                  "aggressive" | "conservative" ] ]
@@ -2790,9 +2849,10 @@ option         = "set" ( [ "timeout" ( t
                  [ "loginterface" ( interface-name | "none" ) ] |
                  [ "block-policy" ( "drop" | "return" ) ] |
                  [ "state-policy" ( "if-bound" | "floating" ) ]
+                 [ "state-defaults" state-opts ]
                  [ "require-order" ( "yes" | "no" ) ]
                  [ "fingerprints" filename ] |
-                 [ "skip on" ( interface-name | "{" interface-list "}" ) ] |
+                 [ "skip on" ifspec ] |
                  [ "debug" ( "none" | "urgent" | "misc" | "loud" ) ] )
 
 pf-rule        = action [ ( "in" | "out" ) ]
@@ -2804,10 +2864,10 @@ logopts        = logopt [ "," logopts ]
 logopt         = "all" | "user" | "to" interface-name
 
 filteropt-list = filteropt-list filteropt | filteropt
-filteropt      = user | group | flags | icmp-type | icmp6-type | tos |
+filteropt      = user | group | flags | icmp-type | icmp6-type | "tos" tos |
                  ( "no" | "keep" | "modulate" | "synproxy" ) "state"
                  [ "(" state-opts ")" ] |
-                 "fragment" | "no-df" | "min-ttl" number |
+                 "fragment" | "no-df" | "min-ttl" number | "set-tos" tos |
                  "max-mss" number | "random-id" | "reassemble tcp" |
                  fragmentation | "allow-opts" |
                  "label" string | "tag" string | [ ! ] "tagged" string |
@@ -2834,17 +2894,16 @@ rdr-rule       = [ "no" ] "rdr" [ "pass"
                  [ portspec ] [ pooltype ] ]
 
 antispoof-rule = "antispoof" [ "log" ] [ "quick" ]
-                 "for" ( interface-name | "{" interface-list "}" )
-                 [ af ] [ "label" string ]
+                 "for" ifspec [ af ] [ "label" string ]
 
 table-rule     = "table" "\*(Lt" string "\*(Gt" [ tableopts-list ]
 tableopts-list = tableopts-list tableopts | tableopts
-tableopts      = "persist" | "const" | "file" string |
+tableopts      = "persist" | "const" | "counters" | "file" string |
                  "{" [ tableaddr-list ] "}"
 tableaddr-list = tableaddr-list [ "," ] tableaddr-spec | tableaddr-spec
 tableaddr-spec = [ "!" ] tableaddr [ "/" mask-bits ]
-tableaddr      = hostname | ipv4-dotted-quad | ipv6-coloned-hex |
-                 interface-name | "self"
+tableaddr      = hostname | ifspec | "self" |
+                 ipv4-dotted-quad | ipv6-coloned-hex
 
 altq-rule      = "altq on" interface-name queueopts-list
                  "queue" subqueue
@@ -2852,7 +2911,7 @@ queue-rule     = "queue" string [ "on" i
                  subqueue
 
 anchor-rule    = "anchor" [ string ] [ ( "in" | "out" ) ] [ "on" ifspec ]
-                 [ af ] [ protospec ] [ hosts ] [ "{" ]
+                 [ af ] [ protospec ] [ hosts ] [ filteropt-list ] [ "{" ]
 
 anchor-close   = "}"
 
@@ -2875,8 +2934,10 @@ return         = "drop" | "return" | "re
 icmpcode       = ( icmp-code-name | icmp-code-number )
 icmp6code      = ( icmp6-code-name | icmp6-code-number )
 
-ifspec         = ( [ "!" ] interface-name ) | "{" interface-list "}"
-interface-list = [ "!" ] interface-name [ [ "," ] interface-list ]
+ifspec         = ( [ "!" ] ( interface-name | interface-group ) ) |
+                 "{" interface-list "}"
+interface-list = [ "!" ] ( interface-name | interface-group )
+                 [ [ "," ] interface-list ]
 route          = ( "route-to" | "reply-to" | "dup-to" )
                  ( routehost | "{" routehost-list "}" )
                  [ pooltype ]
@@ -2896,8 +2957,9 @@ ipspec         = "any" | host | "{" host
 host           = [ "!" ] ( address [ "/" mask-bits ] | "\*(Lt" string "\*(Gt" )
 redirhost      = address [ "/" mask-bits ]
 routehost      = "(" interface-name [ address [ "/" mask-bits ] ] ")"
-address        = ( interface-name | "(" interface-name ")" | hostname |
-                 ipv4-dotted-quad | ipv6-coloned-hex )
+address        = ( interface-name | interface-group |
+                 "(" ( interface-name | interface-group ) ")" |
+                 hostname | ipv4-dotted-quad | ipv6-coloned-hex )
 host-list      = host [ [ "," ] host-list ]
 redirhost-list = redirhost [ [ "," ] redirhost-list ]
 routehost-list = routehost [ [ "," ] routehost-list ]
@@ -2926,11 +2988,11 @@ icmp-type-code = ( icmp-type-name | icmp
                  [ "code" ( icmp-code-name | icmp-code-number ) ]
 icmp-list      = icmp-type-code [ [ "," ] icmp-list ]
 
-tos            = "tos" ( "lowdelay" | "throughput" | "reliability" |
+tos            = ( "lowdelay" | "throughput" | "reliability" |
                  [ "0x" ] number )
 
 state-opts     = state-opt [ [ "," ] state-opts ]
-state-opt      = ( "max" number | "no-sync" | timeout | sloppy |
+state-opt      = ( "max" number | "no-sync" | timeout | "sloppy" | "pflow" |
                  "source-track" [ ( "rule" | "global" ) ] |
                  "max-src-nodes" number | "max-src-states" number |
                  "max-src-conn" number |
@@ -2971,9 +3033,10 @@ realtime-sc    = "realtime" sc-spec
 upperlimit-sc  = "upperlimit" sc-spec
 sc-spec        = ( bandwidth-spec |
                  "(" bandwidth-spec number bandwidth-spec ")" )
+include        = "include" filename
 .Ed
 .Sh FILES
-.Bl -tag -width "/usr/share/examples/pf" -compact
+.Bl -tag -width "/etc/protocols" -compact
 .It Pa /etc/hosts
 Host name database.
 .It Pa /etc/pf.conf
@@ -2984,8 +3047,6 @@ Default location of OS fingerprints.
 Protocol name database.
 .It Pa /etc/services
 Service name database.
-.It Pa /usr/share/examples/pf
-Example rulesets.
 .El
 .Sh BUGS
 Due to a lock order reversal (LOR) with the socket layer, the use of the
@@ -3017,6 +3078,7 @@ Rules with a route label do not match an
 .Xr ip 4 ,
 .Xr ip6 4 ,
 .Xr pf 4 ,
+.Xr pflow 4 ,
 .Xr pfsync 4 ,
 .Xr route 4 ,
 .Xr tcp 4 ,

Modified: projects/pf/pf45/contrib/pf/man/pf.os.5
==============================================================================
--- projects/pf/pf45/contrib/pf/man/pf.os.5	Tue Apr 26 22:11:40 2011	(r221090)
+++ projects/pf/pf45/contrib/pf/man/pf.os.5	Tue Apr 26 22:13:58 2011	(r221091)
@@ -1,4 +1,4 @@
-.\"	$OpenBSD: pf.os.5,v 1.7 2005/11/16 20:07:18 stevesk Exp $
+.\"	$OpenBSD: pf.os.5,v 1.8 2007/05/31 19:19:58 jmc Exp $
 .\"
 .\" Copyright (c) 2003 Mike Frantzen <frantzen@w4g.org>
 .\"
@@ -13,10 +13,9 @@
 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.\"
 .\" $FreeBSD$
 .\"
-.Dd August 18, 2003
+.Dd May 31 2007
 .Dt PF.OS 5
 .Os
 .Sh NAME
@@ -217,7 +216,7 @@ almost translates into the following fin
   57344:64:1:44:M1460:	exampleOS:1.0::exampleOS 1.0
 .Ed
 .Sh SEE ALSO
-.Xr tcpdump 1 ,
 .Xr pf 4 ,
 .Xr pf.conf 5 ,
-.Xr pfctl 8
+.Xr pfctl 8 ,
+.Xr tcpdump 1

Modified: projects/pf/pf45/contrib/pf/man/pflog.4
==============================================================================
--- projects/pf/pf45/contrib/pf/man/pflog.4	Tue Apr 26 22:11:40 2011	(r221090)
+++ projects/pf/pf45/contrib/pf/man/pflog.4	Tue Apr 26 22:13:58 2011	(r221091)
@@ -1,4 +1,4 @@
-.\"	$OpenBSD: pflog.4,v 1.9 2006/10/25 12:51:31 jmc Exp $
+.\"	$OpenBSD: pflog.4,v 1.10 2007/05/31 19:19:51 jmc Exp $
 .\"
 .\" Copyright (c) 2001 Tobias Weingartner
 .\" All rights reserved.
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd December 10, 2001
+.Dd May 31 2007
 .Dt PFLOG 4
 .Os
 .Sh NAME
@@ -36,7 +36,7 @@
 .Sh DESCRIPTION
 The
 .Nm pflog
-interface is a pseudo-device which makes visible all packets logged by
+interface is a device which makes visible all packets logged by
 the packet filter,
 .Xr pf 4 .
 Logged packets can easily be monitored in real
@@ -91,13 +91,13 @@ and monitor all packets logged on it:
 # tcpdump -n -e -ttt -i pflog1
 .Ed
 .Sh SEE ALSO
-.Xr tcpdump 1
 .Xr inet 4 ,
 .Xr inet6 4 ,
 .Xr netintro 4 ,
 .Xr pf 4 ,
 .Xr ifconfig 8 ,
-.Xr pflogd 8
+.Xr pflogd 8 ,
+.Xr tcpdump 1
 .Sh HISTORY
 The
 .Nm

Modified: projects/pf/pf45/contrib/pf/man/pfsync.4
==============================================================================
--- projects/pf/pf45/contrib/pf/man/pfsync.4	Tue Apr 26 22:11:40 2011	(r221090)
+++ projects/pf/pf45/contrib/pf/man/pfsync.4	Tue Apr 26 22:13:58 2011	(r221091)
@@ -1,4 +1,4 @@
-.\"	$OpenBSD: pfsync.4,v 1.24 2006/10/23 07:05:49 jmc Exp $
+.\"	$OpenBSD: pfsync.4,v 1.28 2009/02/17 10:05:18 dlg Exp $
 .\"
 .\" Copyright (c) 2002 Michael Shalayeff
 .\" Copyright (c) 2003-2004 Ryan McBride
@@ -26,12 +26,12 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 6, 2006
+.Dd February 17 2009
 .Dt PFSYNC 4
 .Os
 .Sh NAME
 .Nm pfsync
-.Nd packet filter state table logging interface
+.Nd packet filter state table sychronisation interface
 .Sh SYNOPSIS
 .Cd "device pfsync"
 .Sh DESCRIPTION
@@ -40,26 +40,25 @@ The
 interface is a pseudo-device which exposes certain changes to the state
 table used by
 .Xr pf 4 .
-.\" XXX: not yet!
-.\" State changes can be viewed by invoking
-.\" .Xr tcpdump 1
-.\" on the
-.\" .Nm
-.\" interface.
+State changes can be viewed by invoking
+.Xr tcpdump 1
+on the
+.Nm
+interface.
 If configured with a physical synchronisation interface,
 .Nm
-will send state changes out on that interface using IP multicast,
+will also send state changes out on that interface,
 and insert state changes received on that interface from other systems
 into the state table.
 .Pp
 By default, all local changes to the state table are exposed via
 .Nm .
-However, state changes from packets received by
+State changes from packets received by
 .Nm
 over the network are not rebroadcast.
-States created by a rule marked with the
+Updates to states created by a rule marked with the
 .Ar no-sync
-keyword are omitted from the
+keyword are ignored by the
 .Nm
 interface (see
 .Xr pf.conf 5
@@ -67,33 +66,19 @@ for details).
 .Pp
 The
 .Nm
-interface will attempt to collapse multiple updates of the same
-state into one message where possible.
-The maximum number of times this can be done before the update is sent out
-is controlled by the
+interface will attempt to collapse multiple state updates into a single
+packet where possible.
+The maximum number of times a single state can be updated before a
+.Nm
+packet will be sent out is controlled by the
 .Ar maxupd
 parameter to ifconfig
 (see
 .Xr ifconfig 8
 and the example below for more details).
-.Pp
-Each packet retrieved on this interface has a header associated
-with it of length
-.Dv PFSYNC_HDRLEN .
-The header indicates the version of the protocol, address family,
-action taken on the following states, and the number of state
-table entries attached in this packet.
-This structure is defined in
-.Aq Pa net/if_pfsync.h
-as:
-.Bd -literal -offset indent
-struct pfsync_header {
-	u_int8_t version;
-	u_int8_t af;
-	u_int8_t action;
-	u_int8_t count;
-};
-.Ed
+The sending out of a
+.Nm
+packet will be delayed by a maximum of one second.
 .Sh NETWORK SYNCHRONISATION
 States can be synchronised between two or more firewalls using this
 interface, by specifying a synchronisation interface using
@@ -104,18 +89,16 @@ interface:
 # ifconfig pfsync0 syncdev fxp0
 .Ed
 .Pp
-It is important that the underlying synchronisation interface is up
-and has an IP address assigned.
-.Pp
 By default, state change messages are sent out on the synchronisation
-interface using IP multicast packets.
-The protocol is IP protocol 240, PFSYNC, and the multicast group
-used is 224.0.0.240.
-When a peer address is specified using the
+interface using IP multicast packets to the 244.0.0.240 group address.
+An alternative destination address for
+.Nm
+packets can be specified using the
 .Ic syncpeer
-keyword, the peer address is used as a destination for the pfsync traffic,
-and the traffic can then be protected using
-.Xr ipsec 4 .
+keyword.
+This can be used in combination with
+.Xr ipsec 4
+to protect the synchronisation traffic.
 In such a configuration, the syncdev should be set to the
 .Xr enc 4
 interface, as this is where the traffic arrives when it is decapsulated,
@@ -127,50 +110,19 @@ e.g.:
 It is important that the pfsync traffic be well secured
 as there is no authentication on the protocol and it would
 be trivial to spoof packets which create states, bypassing the pf ruleset.
-Either run the pfsync protocol on a trusted network \- ideally  a network
+Either run the pfsync protocol on a trusted network \- ideally a network
 dedicated to pfsync messages such as a crossover cable between two firewalls,
 or specify a peer address and protect the traffic with
 .Xr ipsec 4 .
-.Pp
-For
-.Nm
-to start its operation automatically at the system boot time,
-.Va pfsync_enable
-and
-.Va pfsync_syncdev
-variables should be used in
-.Xr rc.conf 5 .
-It is not advisable to set up
-.Nm
-with common network interface configuration variables of
-.Xr rc.conf 5
-because
-.Nm
-must start after its
-.Cm syncdev ,
-which cannot be always ensured in the latter case.
-.\" XXX: not yet!
-.\" .Pp
-.\" There is a one-to-one correspondence between packets seen by
-.\" .Xr bpf 4
-.\" on the
-.\" .Nm
-.\" interface, and packets sent out on the synchronisation interface, i.e.\&
-.\" a packet with 4 state deletion messages on
-.\" .Nm
-.\" means that the same 4 deletions were sent out on the synchronisation
-.\" interface.
-.\" However, the actual packet contents may differ as the messages
-.\" sent over the network are "compressed" where possible, containing
-.\" only the necessary information.
 .Sh EXAMPLES
 .Nm
 and
 .Xr carp 4
 can be used together to provide automatic failover of a pair of firewalls
 configured in parallel.
-One firewall handles all traffic \- if it dies or
-is shut down, the second firewall takes over automatically.
+One firewall will handle all traffic until it dies, is shut down, or is
+manually demoted, at which point the second firewall will take over
+automatically.
 .Pp
 Both firewalls in this example have three
 .Xr sis 4
@@ -208,12 +160,12 @@ traffic through.
 The following should be added to the top of
 .Pa /etc/pf.conf :
 .Bd -literal -offset indent
-pass quick on { sis2 } proto pfsync
-pass on { sis0 sis1 } proto carp
+pass quick on { sis2 } proto pfsync keep state (no-sync)
+pass on { sis0 sis1 } proto carp keep state (no-sync)
 .Ed
 .Pp
-If it is preferable that one firewall handle the traffic,
-the
+It is preferable that one firewall handle the forwarding of all the traffic,
+therefore the
 .Ar advskew
 on the backup firewall's
 .Xr carp 4
@@ -221,6 +173,7 @@ interfaces should be set to something hi
 the primary's.
 For example, if firewall B is the backup, its
 carp1 configuration would look like this:
+would look like this:
 .Bd -literal -offset indent
 ifconfig_carp1="vhid 2 pass bar advskew 100 192.168.0.1/24"
 .Ed
@@ -230,16 +183,10 @@ The following must also be added to
 .Bd -literal -offset indent
 net.inet.carp.preempt=1
 .Ed
-.Sh BUGS
-Possibility to view state changes using
-.Xr tcpdump 1
-has not been ported from
-.Ox
-yet.
 .Sh SEE ALSO
 .Xr bpf 4 ,
 .Xr carp 4 ,
-.Xr ifconfig 8 ,
+.Xr enc 4 ,
 .Xr inet 4 ,
 .Xr inet6 4 ,
 .Xr ipsec 4 ,
@@ -247,16 +194,20 @@ yet.
 .Xr pf 4 ,
 .Xr pf.conf 5 ,
 .Xr protocols 5 ,
-.Xr rc.conf 5
+.Xr rc.conf 5 ,
 .Xr ifconfig 8 ,
 .Xr ifstated 8 ,
-.Xr tcpdump 8
+.Xr tcpdump 1
 .Sh HISTORY
 The
 .Nm
 device first appeared in
 .Ox 3.3 .
+.Pp
 The
 .Nm
-device was imported to
-.Fx 5.3 .
+protocol and kernel implementation were significantly modified between
+.Ox 4.4
+and
+.Ox 4.5 .
+The two protocols are incompatible and will not interoperate.

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 22:38:44 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 0A1B8106566B;
	Tue, 26 Apr 2011 22:38:44 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id EF4C48FC1C;
	Tue, 26 Apr 2011 22:38:43 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QMch1Z041940;
	Tue, 26 Apr 2011 22:38:43 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QMchuC041934;
	Tue, 26 Apr 2011 22:38:43 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104262238.p3QMchuC041934@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Tue, 26 Apr 2011 22:38:43 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221097 - in projects/portbuild: scripts tools
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 22:38:44 -0000

Author: flz
Date: Tue Apr 26 22:38:43 2011
New Revision: 221097
URL: http://svn.freebsd.org/changeset/base/221097

Log:
  portbuild: build ptimeout/pnohang when needed.
  
  This removes the need to manually compile pnohang on every single arch
  when setting up a new pointyhat instance. Added bonus is less clutter
  in scripts/.

Modified:
  projects/portbuild/scripts/dopackages
  projects/portbuild/scripts/dosetupnode
  projects/portbuild/scripts/pdispatch
  projects/portbuild/scripts/portbuild
  projects/portbuild/tools/showrunning.py

Modified: projects/portbuild/scripts/dopackages
==============================================================================
--- projects/portbuild/scripts/dopackages	Tue Apr 26 22:18:53 2011	(r221096)
+++ projects/portbuild/scripts/dopackages	Tue Apr 26 22:38:43 2011	(r221097)
@@ -676,6 +676,9 @@ if [ "$nobuild" = 0 ]; then
     else
 	cp duds.orig duds
     fi
+
+    # Compile ptimeout.
+    /usr/bin/gcc -o ${builddir}/ptimeout -Wall ${pbc}/sources/ptimeout.c
     
     dobuild ${pb} ${arch} ${branch} ${builddir}
     

Modified: projects/portbuild/scripts/dosetupnode
==============================================================================
--- projects/portbuild/scripts/dosetupnode	Tue Apr 26 22:18:53 2011	(r221096)
+++ projects/portbuild/scripts/dosetupnode	Tue Apr 26 22:38:43 2011	(r221097)
@@ -67,7 +67,7 @@ setup() {
 
     if [ "${norsync}" -eq 0 ]; then
 
-	rsync ${rsync_gzip} -e "${ssh_cmd}" -r -l -p --delete ${pb}/scripts \
+	rsync ${rsync_gzip} -e "${ssh_cmd}" -r -l -p --delete ${pb}/scripts ${pb}/sources \
 	    ${client_user}@${node}:${pb}/
 	checkerror $? || (echo "Copying scripts to ${node} failed"; return 1)
 

Modified: projects/portbuild/scripts/pdispatch
==============================================================================
--- projects/portbuild/scripts/pdispatch	Tue Apr 26 22:18:53 2011	(r221096)
+++ projects/portbuild/scripts/pdispatch	Tue Apr 26 22:38:43 2011	(r221097)
@@ -134,7 +134,7 @@ test -f ${pb}/${arch}/portbuild.${host} 
 rm -f ${builddir}/logs/${pkgname}.log ${builddir}/logs/${pkgname}.log.bz2
 rm -f ${builddir}/errors/${pkgname}.log ${builddir}/errors/${pkgname}.log.bz2
     
-${pb}/scripts/ptimeout.host $timeout ${ssh_cmd} -a -n ${client_user}@${host} ${sudo_cmd} ${command} ${arch} ${branch} ${buildid} ${chroot} ${flags} \"$ED\" \"$PD\" \"$FD\" \"$BD\" \"$RD\" ${args} 2>&1
+${builddir}/ptimeout $timeout ${ssh_cmd} -a -n ${client_user}@${host} ${sudo_cmd} ${command} ${arch} ${branch} ${buildid} ${chroot} ${flags} \"$ED\" \"$PD\" \"$FD\" \"$BD\" \"$RD\" ${args} 2>&1
 error=$?
 
 # Pull in the results of the build from the client

Modified: projects/portbuild/scripts/portbuild
==============================================================================
--- projects/portbuild/scripts/portbuild	Tue Apr 26 22:18:53 2011	(r221096)
+++ projects/portbuild/scripts/portbuild	Tue Apr 26 22:38:43 2011	(r221097)
@@ -299,15 +299,23 @@ while [ $# -gt 0 ]; do
 done
 
 cp -p ${pb}/scripts/buildscript ${chroot}
-cp -p ${pb}/scripts/pnohang.${arch} ${chroot}/pnohang
+cp -p ${pb}/sources/pnohang.c ${chroot}
 
+# phase 0, compile pnohang
+chroot ${chroot} /usr/bin/gcc -o /pnohang -Wall /pnohang.c 2>&1 | tee -a ${chroot}/tmp/${pkgname}.log
+if [ $? -ne 0 ]; then
+  error=255
+fi
+
+if [ "${error}" = 0 ]; then
 # phase 1, make checksum
 # Needs to be chroot not jail so that port can be fetched
-chroot ${chroot} /buildscript ${dirname} 1 "$ED" "$PD" "$FD" "$BD" "$RD" 2>&1 | tee -a ${chroot}/tmp/${pkgname}.log
-if [ -f ${chroot}/tmp/status ]; then
-  error=$(cat ${chroot}/tmp/status)
-else
-  error=255
+  chroot ${chroot} /buildscript ${dirname} 1 "$ED" "$PD" "$FD" "$BD" "$RD" 2>&1 | tee -a ${chroot}/tmp/${pkgname}.log
+  if [ -f ${chroot}/tmp/status ]; then
+    error=$(cat ${chroot}/tmp/status)
+  else
+    error=255
+  fi
 fi
 
 if [ "${error}" = 0 ]; then

Modified: projects/portbuild/tools/showrunning.py
==============================================================================
--- projects/portbuild/tools/showrunning.py	Tue Apr 26 22:18:53 2011	(r221096)
+++ projects/portbuild/tools/showrunning.py	Tue Apr 26 22:38:43 2011	(r221097)
@@ -61,7 +61,7 @@ def getallsubprocs(pids):
 	return ppids
 
 def dosubprocs(data):
-	""" recursively get list of subprocesses (ptimeout.host, sleep 15, ...) and fill in data """
+	""" recursively get list of subprocesses (ptimeout, sleep 15, ...) and fill in data """
 
 	ppid_map = { }
 	idlers = { }
@@ -74,7 +74,7 @@ def dosubprocs(data):
 		ppid = fields.pop(0)
 		time = fields.pop(0)
 		command = ' '.join(fields)
-		if command.count('ptimeout.host'):
+		if command.count('ptimeout'):
 			command = "building"
 		elif command == 'sleep 15':
 			command = "waiting for idle node"

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 22:48:22 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id A8930106564A;
	Tue, 26 Apr 2011 22:48:22 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 7FCA78FC13;
	Tue, 26 Apr 2011 22:48:22 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QMmMY0042260;
	Tue, 26 Apr 2011 22:48:22 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QMmMp7042259;
	Tue, 26 Apr 2011 22:48:22 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104262248.p3QMmMp7042259@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Tue, 26 Apr 2011 22:48:22 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221098 - projects/portbuild/qmanager
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 22:48:22 -0000

Author: flz
Date: Tue Apr 26 22:48:22 2011
New Revision: 221098
URL: http://svn.freebsd.org/changeset/base/221098

Log:
  portbuild: update svn:ignore property to ignore qdb.sl3.
  
  We don't need the qmanager db in svn.

Modified:
Directory Properties:
  projects/portbuild/qmanager/   (props changed)

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 22:59:50 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 8F236106566C;
	Tue, 26 Apr 2011 22:59:50 +0000 (UTC) (envelope-from eri@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 7EBC68FC13;
	Tue, 26 Apr 2011 22:59:50 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QMxowS042609;
	Tue, 26 Apr 2011 22:59:50 GMT (envelope-from eri@svn.freebsd.org)
Received: (from eri@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QMxoEf042602;
	Tue, 26 Apr 2011 22:59:50 GMT (envelope-from eri@svn.freebsd.org)
Message-Id: <201104262259.p3QMxoEf042602@svn.freebsd.org>
From: Ermal Luçi <eri@FreeBSD.org>
Date: Tue, 26 Apr 2011 22:59:50 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221099 - projects/pf/pf45/contrib/pf/pflogd
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 22:59:50 -0000

Author: eri
Date: Tue Apr 26 22:59:50 2011
New Revision: 221099
URL: http://svn.freebsd.org/changeset/base/221099

Log:
  Update pflogd to OpenBSD 4.5 code.

Replaced:
  projects/pf/pf45/contrib/pf/pflogd/pidfile.c   (contents, props changed)
  projects/pf/pf45/contrib/pf/pflogd/pidfile.h   (contents, props changed)
Modified:
  projects/pf/pf45/contrib/pf/pflogd/pflogd.8
  projects/pf/pf45/contrib/pf/pflogd/pflogd.c
  projects/pf/pf45/contrib/pf/pflogd/privsep.c
  projects/pf/pf45/contrib/pf/pflogd/privsep_fdpass.c

Modified: projects/pf/pf45/contrib/pf/pflogd/pflogd.8
==============================================================================
--- projects/pf/pf45/contrib/pf/pflogd/pflogd.8	Tue Apr 26 22:48:22 2011	(r221098)
+++ projects/pf/pf45/contrib/pf/pflogd/pflogd.8	Tue Apr 26 22:59:50 2011	(r221099)
@@ -1,4 +1,4 @@
-.\"	$OpenBSD: pflogd.8,v 1.32 2006/12/08 10:26:38 joel Exp $
+.\"	$OpenBSD: pflogd.8,v 1.37 2008/10/22 08:16:49 henning Exp $
 .\"
 .\" Copyright (c) 2001 Can Erkin Acar.  All rights reserved.
 .\"
@@ -26,7 +26,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 9, 2001
+.Dd October 22 2008
 .Dt PFLOGD 8
 .Os
 .Sh NAME
@@ -34,12 +34,14 @@
 .Nd packet filter logging daemon
 .Sh SYNOPSIS
 .Nm pflogd
+.Bk -words
 .Op Fl Dx
 .Op Fl d Ar delay
 .Op Fl f Ar filename
 .Op Fl i Ar interface
 .Op Fl s Ar snaplen
 .Op Ar expression
+.Ek
 .Sh DESCRIPTION
 .Nm
 is a background daemon which reads packets logged by
@@ -94,6 +96,13 @@ or a
 .Dv SIGALRM
 is received.
 .Pp
+.Nm
+will also log the pcap statistics for the
+.Xr pflog 4
+interface to syslog when a
+.Dv SIGUSR1
+is received.
+.Pp
 The options are as follows:
 .Bl -tag -width Ds
 .It Fl D
@@ -116,6 +125,11 @@ By default,
 .Nm
 will use
 .Ar pflog0 .
+Writes a file containing the process ID of the program to
+.Pa /var/run .
+The file name has the form
+The default is
+.Ar pflogd .
 .It Fl s Ar snaplen
 Analyze at most the first
 .Ar snaplen
@@ -204,12 +218,12 @@ the wi0 interface:
 # tcpdump -n -e -ttt -i pflog0 inbound and action block and on wi0
 .Ed
 .Sh SEE ALSO
-.Xr tcpdump 1 ,
 .Xr pcap 3 ,
 .Xr pf 4 ,
 .Xr pflog 4 ,
 .Xr pf.conf 5 ,
-.Xr newsyslog 8
+.Xr newsyslog 8 ,
+.Xr tcpdump 1
 .Sh HISTORY
 The
 .Nm

Modified: projects/pf/pf45/contrib/pf/pflogd/pflogd.c
==============================================================================
--- projects/pf/pf45/contrib/pf/pflogd/pflogd.c	Tue Apr 26 22:48:22 2011	(r221098)
+++ projects/pf/pf45/contrib/pf/pflogd/pflogd.c	Tue Apr 26 22:59:50 2011	(r221099)
@@ -1,4 +1,4 @@
-/*	$OpenBSD: pflogd.c,v 1.37 2006/10/26 13:34:47 jmc Exp $	*/
+/*	$OpenBSD: pflogd.c,v 1.46 2008/10/22 08:16:49 henning Exp $	*/
 
 /*
  * Copyright (c) 2001 Theo de Raadt
@@ -37,9 +37,8 @@ __FBSDID("$FreeBSD$");
 #include <sys/ioctl.h>
 #include <sys/file.h>
 #include <sys/stat.h>
-#ifdef __FreeBSD__
-#include <net/bpf.h>	/* BIOCLOCK */
-#endif
+#include <sys/socket.h>
+#include <net/if.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -48,15 +47,16 @@ __FBSDID("$FreeBSD$");
 #include <pcap.h>
 #include <syslog.h>
 #include <signal.h>
+#include <err.h>
 #include <errno.h>
 #include <stdarg.h>
 #include <fcntl.h>
 #ifdef __FreeBSD__
+#include <ifaddrs.h>
 #include "pidfile.h"
 #else
 #include <util.h>
 #endif
-
 #include "pflogd.h"
 
 pcap_t *hpcap;
@@ -66,7 +66,7 @@ int Debug = 0;
 static int snaplen = DEF_SNAPLEN;
 static int cur_snaplen = DEF_SNAPLEN;
 
-volatile sig_atomic_t gotsig_close, gotsig_alrm, gotsig_hup;
+volatile sig_atomic_t gotsig_close, gotsig_alrm, gotsig_hup, gotsig_usr1;
 
 char *filename = PFLOGD_LOG_FILE;
 char *interface = PFLOGD_DEFAULT_IF;
@@ -80,7 +80,9 @@ unsigned int delay = FLUSH_DELAY;
 char *copy_argv(char * const *);
 void  dump_packet(u_char *, const struct pcap_pkthdr *, const u_char *);
 void  dump_packet_nobuf(u_char *, const struct pcap_pkthdr *, const u_char *);
+void  log_pcap_stats(void);
 int   flush_buffer(FILE *);
+int   if_exists(char *);
 int   init_pcap(void);
 void  logmsg(int, const char *, ...);
 void  purge_buffer(void);
@@ -89,6 +91,7 @@ int   scan_dump(FILE *, off_t);
 int   set_snaplen(int);
 void  set_suspended(int);
 void  sig_alrm(int);
+void  sig_usr1(int);
 void  sig_close(int);
 void  sig_hup(int);
 void  usage(void);
@@ -166,8 +169,8 @@ __dead void
 usage(void)
 {
 	fprintf(stderr, "usage: pflogd [-Dx] [-d delay] [-f filename]");
-	fprintf(stderr, " [-i interface] [-s snaplen]\n");
-	fprintf(stderr, "              [expression]\n");
+	fprintf(stderr, " [-i interface] [-p pidfile]\n");
+	fprintf(stderr, "              [-s snaplen] [expression]\n");
 	exit(1);
 }
 
@@ -190,6 +193,12 @@ sig_alrm(int sig)
 }
 
 void
+sig_usr1(int sig)
+{
+	gotsig_usr1 = 1;
+}
+
+void
 set_pcap_filter(void)
 {
 	struct bpf_program bprog;
@@ -204,6 +213,51 @@ set_pcap_filter(void)
 }
 
 int
+if_exists(char *ifname)
+{
+#ifdef __FreeBSD__
+	struct ifaddrs *ifdata, *mb;
+	int exists = 0;
+
+	getifaddrs(&ifdata);
+        if (ifdata == NULL)
+		return (0);
+
+	for (mb = ifdata; mb != NULL; mb = mb->ifa_next) {
+		if (mb == NULL)
+			continue;
+		if (strlen(ifname) != strlen(mb->ifa_name))
+			continue;
+		if (strncmp(ifname, mb->ifa_name, strlen(ifname)) != 0)
+			continue;
+		exists = 1;
+		break;
+	}
+	freeifaddrs(ifdata);
+
+	return (exists);
+#else
+	int s;
+	struct ifreq ifr;
+	struct if_data ifrdat;
+
+	if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
+		err(1, "socket");
+	bzero(&ifr, sizeof(ifr));
+	if (strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)) >=
+		sizeof(ifr.ifr_name))
+			errx(1, "main ifr_name: strlcpy");
+	ifr.ifr_data = (caddr_t)&ifrdat;
+	if (ioctl(s, SIOCGIFDATA, (caddr_t)&ifr) == -1)
+		return (0);
+	if (close(s))
+		err(1, "close");
+
+	return (1);
+#endif
+}
+
+int
 init_pcap(void)
 {
 	hpcap = pcap_open_live(interface, snaplen, 1, PCAP_TO_MS, errbuf);
@@ -554,10 +608,10 @@ dump_packet(u_char *user, const struct p
 		return;
 	}
 
- append:	
+ append:       
 #ifdef __FreeBSD__
- 	sh.ts.tv_sec = (bpf_int32)h->ts.tv_sec;
- 	sh.ts.tv_usec = (bpf_int32)h->ts.tv_usec;
+	sh.ts.tv_sec = (bpf_int32)h->ts.tv_sec;
+	sh.ts.tv_usec = (bpf_int32)h->ts.tv_usec;
 	sh.caplen = h->caplen;
 	sh.len = h->len;
 
@@ -575,17 +629,31 @@ dump_packet(u_char *user, const struct p
 	return;
 }
 
+void
+log_pcap_stats(void)
+{
+	struct pcap_stat pstat;
+	if (pcap_stats(hpcap, &pstat) < 0)
+		logmsg(LOG_WARNING, "Reading stats: %s", pcap_geterr(hpcap));
+	else
+		logmsg(LOG_NOTICE,
+			"%u packets received, %u/%u dropped (kernel/pflogd)",
+			pstat.ps_recv, pstat.ps_drop, packets_dropped);
+}
+
 int
 main(int argc, char **argv)
 {
-	struct pcap_stat pstat;
-	int ch, np, Xflag = 0;
+	int ch, np, ret, Xflag = 0;
 	pcap_handler phandler = dump_packet;
 	const char *errstr = NULL;
+	char *pidf = NULL;
+
+	ret = 0;
 
 	closefrom(STDERR_FILENO + 1);
 
-	while ((ch = getopt(argc, argv, "Dxd:f:i:s:")) != -1) {
+	while ((ch = getopt(argc, argv, "Dxd:f:i:p:s:")) != -1) {
 		switch (ch) {
 		case 'D':
 			Debug = 1;
@@ -601,6 +669,9 @@ main(int argc, char **argv)
 		case 'i':
 			interface = optarg;
 			break;
+		case 'p':
+			pidf = optarg;
+			break;
 		case 's':
 			snaplen = strtonum(optarg, 0, PFLOGD_MAXSNAPLEN,
 			    &errstr);
@@ -622,13 +693,21 @@ main(int argc, char **argv)
 	argc -= optind;
 	argv += optind;
 
+	/* does interface exist */
+	if (!if_exists(interface)) {
+		warn("Failed to initialize: %s", interface);
+		logmsg(LOG_ERR, "Failed to initialize: %s", interface);
+		logmsg(LOG_ERR, "Exiting, init failure");
+		exit(1);
+	}
+
 	if (!Debug) {
 		openlog("pflogd", LOG_PID | LOG_CONS, LOG_DAEMON);
 		if (daemon(0, 0)) {
 			logmsg(LOG_WARNING, "Failed to become daemon: %s",
 			    strerror(errno));
 		}
-		pidfile(NULL);
+		pidfile(pidf);
 	}
 
 	tzset();
@@ -659,6 +738,7 @@ main(int argc, char **argv)
 	signal(SIGINT, sig_close);
 	signal(SIGQUIT, sig_close);
 	signal(SIGALRM, sig_alrm);
+	signal(SIGUSR1, sig_usr1);
 	signal(SIGHUP, sig_hup);
 	alarm(delay);
 
@@ -686,13 +766,12 @@ main(int argc, char **argv)
 		np = pcap_dispatch(hpcap, PCAP_NUM_PKTS,
 		    phandler, (u_char *)dpcap);
 		if (np < 0) {
-#ifdef __FreeBSD__
-			if (errno == ENXIO) {
-				logmsg(LOG_ERR,
-				    "Device not/no longer configured");
+			if (!if_exists(interface) == -1) {
+				logmsg(LOG_NOTICE, "interface %s went away",
+				    interface);
+				ret = -1;
 				break;
 			}
-#endif
 			logmsg(LOG_NOTICE, "%s", pcap_geterr(hpcap));
 		}
 
@@ -715,6 +794,11 @@ main(int argc, char **argv)
 			gotsig_alrm = 0;
 			alarm(delay);
 		}
+
+		if (gotsig_usr1) {
+			log_pcap_stats();
+			gotsig_usr1 = 0;
+		}
 	}
 
 	logmsg(LOG_NOTICE, "Exiting");
@@ -724,15 +808,9 @@ main(int argc, char **argv)
 	}
 	purge_buffer();
 
-	if (pcap_stats(hpcap, &pstat) < 0)
-		logmsg(LOG_WARNING, "Reading stats: %s", pcap_geterr(hpcap));
-	else
-		logmsg(LOG_NOTICE,
-		    "%u packets received, %u/%u dropped (kernel/pflogd)",
-		    pstat.ps_recv, pstat.ps_drop, packets_dropped);
-
+	log_pcap_stats();
 	pcap_close(hpcap);
 	if (!Debug)
 		closelog();
-	return (0);
+	return (ret);
 }

Added: projects/pf/pf45/contrib/pf/pflogd/pidfile.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/pf/pf45/contrib/pf/pflogd/pidfile.c	Tue Apr 26 22:59:50 2011	(r221099)
@@ -0,0 +1,122 @@
+/*	$FreeBSD$ */
+/*	$OpenBSD: pidfile.c,v 1.5 2002/05/26 09:29:02 deraadt Exp $	*/
+/*	$NetBSD: pidfile.c,v 1.4 2001/02/19 22:43:42 cgd Exp $	*/
+
+/*-
+ * Copyright (c) 1999 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Jason R. Thorpe.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *        This product includes software developed by the NetBSD
+ *        Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static const char rcsid[] = "$OpenBSD: pidfile.c,v 1.5 2002/05/26 09:29:02 deraadt Exp $";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/param.h>
+#include <errno.h>
+#include <paths.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#ifdef __FreeBSD__
+#include "pidfile.h"
+#else
+#include <util.h>
+#endif
+
+static char *pidfile_path;
+static pid_t pidfile_pid;
+
+static void pidfile_cleanup(void);
+
+extern char *__progname;
+
+int
+pidfile(const char *basename)
+{
+	FILE *f;
+	int save_errno;
+	pid_t pid;
+
+	if (basename == NULL)
+		basename = __progname;
+
+	if (pidfile_path != NULL) {
+		free(pidfile_path);
+		pidfile_path = NULL;
+	}
+
+	/* _PATH_VARRUN includes trailing / */
+	(void) asprintf(&pidfile_path, "%s%s.pid", _PATH_VARRUN, basename);
+	if (pidfile_path == NULL)
+		return (-1);
+
+	if ((f = fopen(pidfile_path, "w")) == NULL) {
+		save_errno = errno;
+		free(pidfile_path);
+		pidfile_path = NULL;
+		errno = save_errno;
+		return (-1);
+	}
+
+	pid = getpid();
+	if (fprintf(f, "%ld\n", (long)pid) <= 0 || fclose(f) != 0) {
+		save_errno = errno;
+		(void) unlink(pidfile_path);
+		free(pidfile_path);
+		pidfile_path = NULL;
+		errno = save_errno;
+		return (-1);
+	}
+
+	pidfile_pid = pid;
+	if (atexit(pidfile_cleanup) < 0) {
+		save_errno = errno;
+		(void) unlink(pidfile_path);
+		free(pidfile_path);
+		pidfile_path = NULL;
+		pidfile_pid = 0;
+		errno = save_errno;
+		return (-1);
+	}
+
+	return (0);
+}
+
+static void
+pidfile_cleanup(void)
+{
+
+	if (pidfile_path != NULL && pidfile_pid == getpid())
+		(void) unlink(pidfile_path);
+}

Added: projects/pf/pf45/contrib/pf/pflogd/pidfile.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/pf/pf45/contrib/pf/pflogd/pidfile.h	Tue Apr 26 22:59:50 2011	(r221099)
@@ -0,0 +1,3 @@
+/* $FreeBSD$ */
+
+int pidfile(const char *);

Modified: projects/pf/pf45/contrib/pf/pflogd/privsep.c
==============================================================================
--- projects/pf/pf45/contrib/pf/pflogd/privsep.c	Tue Apr 26 22:48:22 2011	(r221098)
+++ projects/pf/pf45/contrib/pf/pflogd/privsep.c	Tue Apr 26 22:59:50 2011	(r221099)
@@ -16,13 +16,10 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <sys/types.h>
 #include <sys/time.h>
 #include <sys/socket.h>
+#include <sys/ioctl.h>
 
 #include <net/if.h>
 #include <net/bpf.h>
@@ -31,20 +28,13 @@ __FBSDID("$FreeBSD$");
 #include <errno.h>
 #include <fcntl.h>
 #include <limits.h>
-#ifndef __FreeBSD__
 #include <pcap.h>
 #include <pcap-int.h>
-#endif
 #include <pwd.h>
 #include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#ifdef __FreeBSD__
-/* XXX: pcap pollutes namespace with strlcpy if not present previously */
-#include <pcap.h>
-#include <pcap-int.h>
-#endif
 #include <syslog.h>
 #include <unistd.h>
 #include "pflogd.h"

Modified: projects/pf/pf45/contrib/pf/pflogd/privsep_fdpass.c
==============================================================================
--- projects/pf/pf45/contrib/pf/pflogd/privsep_fdpass.c	Tue Apr 26 22:48:22 2011	(r221098)
+++ projects/pf/pf45/contrib/pf/pflogd/privsep_fdpass.c	Tue Apr 26 22:59:50 2011	(r221099)
@@ -1,4 +1,4 @@
-/*	$OpenBSD: privsep_fdpass.c,v 1.2 2004/08/13 02:51:48 djm Exp $	*/
+/*	$OpenBSD: privsep_fdpass.c,v 1.5 2008/03/24 16:11:08 deraadt Exp $	*/
 
 /*
  * Copyright 2001 Niels Provos <provos@citi.umich.edu>
@@ -50,7 +50,10 @@ void
 send_fd(int sock, int fd)
 {
 	struct msghdr msg;
-	char tmp[CMSG_SPACE(sizeof(int))];
+	union {
+		struct cmsghdr hdr;
+		char buf[CMSG_SPACE(sizeof(int))];
+	} cmsgbuf;
 	struct cmsghdr *cmsg;
 	struct iovec vec;
 	int result = 0;
@@ -59,8 +62,8 @@ send_fd(int sock, int fd)
 	memset(&msg, 0, sizeof(msg));
 
 	if (fd >= 0) {
-		msg.msg_control = (caddr_t)tmp;
-		msg.msg_controllen = CMSG_LEN(sizeof(int));
+		msg.msg_control = (caddr_t)&cmsgbuf.buf;
+		msg.msg_controllen = sizeof(cmsgbuf.buf);
 		cmsg = CMSG_FIRSTHDR(&msg);
 		cmsg->cmsg_len = CMSG_LEN(sizeof(int));
 		cmsg->cmsg_level = SOL_SOCKET;
@@ -86,7 +89,10 @@ int
 receive_fd(int sock)
 {
 	struct msghdr msg;
-	char tmp[CMSG_SPACE(sizeof(int))];
+	union {
+		struct cmsghdr hdr;
+		char buf[CMSG_SPACE(sizeof(int))];
+	} cmsgbuf;
 	struct cmsghdr *cmsg;
 	struct iovec vec;
 	ssize_t n;
@@ -98,8 +104,8 @@ receive_fd(int sock)
 	vec.iov_len = sizeof(int);
 	msg.msg_iov = &vec;
 	msg.msg_iovlen = 1;
-	msg.msg_control = tmp;
-	msg.msg_controllen = sizeof(tmp);
+	msg.msg_control = &cmsgbuf.buf;
+	msg.msg_controllen = sizeof(cmsgbuf.buf);
 
 	if ((n = recvmsg(sock, &msg, 0)) == -1)
 		warn("%s: recvmsg", __func__);

From owner-svn-src-projects@FreeBSD.ORG  Tue Apr 26 23:00:32 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id BDC9A106566C;
	Tue, 26 Apr 2011 23:00:32 +0000 (UTC) (envelope-from eri@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 94F488FC12;
	Tue, 26 Apr 2011 23:00:32 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3QN0WEA042686;
	Tue, 26 Apr 2011 23:00:32 GMT (envelope-from eri@svn.freebsd.org)
Received: (from eri@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3QN0WEt042684;
	Tue, 26 Apr 2011 23:00:32 GMT (envelope-from eri@svn.freebsd.org)
Message-Id: <201104262300.p3QN0WEt042684@svn.freebsd.org>
From: Ermal Luçi <eri@FreeBSD.org>
Date: Tue, 26 Apr 2011 23:00:32 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221100 - projects/pf/pf45/sbin/pflogd
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 26 Apr 2011 23:00:32 -0000

Author: eri
Date: Tue Apr 26 23:00:32 2011
New Revision: 221100
URL: http://svn.freebsd.org/changeset/base/221100

Log:
  No need to link with libutil.

Modified:
  projects/pf/pf45/sbin/pflogd/Makefile

Modified: projects/pf/pf45/sbin/pflogd/Makefile
==============================================================================
--- projects/pf/pf45/sbin/pflogd/Makefile	Tue Apr 26 22:59:50 2011	(r221099)
+++ projects/pf/pf45/sbin/pflogd/Makefile	Tue Apr 26 23:00:32 2011	(r221100)
@@ -8,7 +8,7 @@ MAN=	pflogd.8
 
 CFLAGS+=-include ${.CURDIR}/../../lib/libpcap/config.h
 
-LDADD=	-lpcap -lutil
+LDADD=	-lpcap
 DPADD=	${LIBPCAP} ${LIBUTIL}
 
 WARNS?=	2

From owner-svn-src-projects@FreeBSD.ORG  Wed Apr 27 02:12:02 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 875091065672;
	Wed, 27 Apr 2011 02:12:02 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 7211C8FC0A;
	Wed, 27 Apr 2011 02:12:02 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3R2C20Q049003;
	Wed, 27 Apr 2011 02:12:02 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3R2C1O2048965;
	Wed, 27 Apr 2011 02:12:01 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104270212.p3R2C1O2048965@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Wed, 27 Apr 2011 02:12:01 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221106 - in projects/altix/sys: amd64/amd64 amd64/conf
	arm/conf cam cam/ata conf dev/usb/controller dev/usb/net
	fs/nfsclient geom geom/concat geom/journal geom/mirror
	geom/raid3 geom/s...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 27 Apr 2011 02:12:02 -0000

Author: marcel
Date: Wed Apr 27 02:12:01 2011
New Revision: 221106
URL: http://svn.freebsd.org/changeset/base/221106

Log:
  Merge svn+ssh://svn.freebsd.org/base/head@221105

Added:
  projects/altix/sys/sys/_callout.h
     - copied unchanged from r221105, head/sys/sys/_callout.h
Modified:
  projects/altix/sys/amd64/amd64/minidump_machdep.c
  projects/altix/sys/amd64/conf/GENERIC
  projects/altix/sys/arm/conf/CRB
  projects/altix/sys/arm/conf/EP80219
  projects/altix/sys/arm/conf/IQ31244
  projects/altix/sys/cam/ata/ata_da.c
  projects/altix/sys/cam/cam_xpt.c
  projects/altix/sys/cam/cam_xpt.h
  projects/altix/sys/conf/NOTES
  projects/altix/sys/dev/usb/controller/ehci.c
  projects/altix/sys/dev/usb/net/if_cdcereg.h
  projects/altix/sys/fs/nfsclient/nfs_clvfsops.c
  projects/altix/sys/geom/concat/g_concat.c
  projects/altix/sys/geom/geom.h
  projects/altix/sys/geom/geom_dev.c
  projects/altix/sys/geom/geom_subr.c
  projects/altix/sys/geom/journal/g_journal.c
  projects/altix/sys/geom/mirror/g_mirror.c
  projects/altix/sys/geom/raid3/g_raid3.c
  projects/altix/sys/geom/shsec/g_shsec.c
  projects/altix/sys/geom/stripe/g_stripe.c
  projects/altix/sys/geom/virstor/g_virstor.c
  projects/altix/sys/i386/conf/GENERIC
  projects/altix/sys/i386/conf/XBOX
  projects/altix/sys/kern/kern_intr.c
  projects/altix/sys/kern/sched_4bsd.c
  projects/altix/sys/kern/subr_taskqueue.c
  projects/altix/sys/mips/conf/OCTEON1
  projects/altix/sys/mips/conf/std.SWARM
  projects/altix/sys/modules/cam/Makefile
  projects/altix/sys/nfsclient/nfs_vfsops.c
  projects/altix/sys/ofed/include/linux/file.h
  projects/altix/sys/ofed/include/linux/workqueue.h
  projects/altix/sys/pc98/conf/GENERIC
  projects/altix/sys/sys/callout.h
  projects/altix/sys/sys/taskqueue.h
  projects/altix/sys/vm/swap_pager.c
  projects/altix/sys/x86/cpufreq/powernow.c
Directory Properties:
  projects/altix/lib/libstand/   (props changed)
  projects/altix/sys/   (props changed)
  projects/altix/sys/amd64/include/xen/   (props changed)
  projects/altix/sys/boot/i386/efi/   (props changed)
  projects/altix/sys/boot/ia64/efi/   (props changed)
  projects/altix/sys/boot/ia64/ski/   (props changed)
  projects/altix/sys/boot/powerpc/boot1.chrp/   (props changed)
  projects/altix/sys/boot/powerpc/ofw/   (props changed)
  projects/altix/sys/cddl/contrib/opensolaris/   (props changed)
  projects/altix/sys/conf/   (props changed)
  projects/altix/sys/contrib/dev/acpica/   (props changed)
  projects/altix/sys/contrib/octeon-sdk/   (props changed)
  projects/altix/sys/contrib/pf/   (props changed)
  projects/altix/sys/contrib/x86emu/   (props changed)
  projects/altix/sys/kern/subr_busdma.c   (props changed)

Modified: projects/altix/sys/amd64/amd64/minidump_machdep.c
==============================================================================
--- projects/altix/sys/amd64/amd64/minidump_machdep.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/amd64/amd64/minidump_machdep.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -62,7 +62,7 @@ static off_t dumplo;
 /* Handle chunked writes. */
 static size_t fragsz;
 static void *dump_va;
-static size_t counter, progress;
+static size_t counter, progress, dumpsize;
 
 CTASSERT(sizeof(*vm_page_dump) == 8);
 
@@ -94,6 +94,40 @@ blk_flush(struct dumperinfo *di)
 	return (error);
 }
 
+static struct {
+	int min_per;
+	int max_per;
+	int visited;
+} progress_track[10] = {
+	{  0,  10, 0},
+	{ 10,  20, 0},
+	{ 20,  30, 0},
+	{ 30,  40, 0},
+	{ 40,  50, 0},
+	{ 50,  60, 0},
+	{ 60,  70, 0},
+	{ 70,  80, 0},
+	{ 80,  90, 0},
+	{ 90, 100, 0}
+};
+
+static void
+report_progress(size_t progress, size_t dumpsize)
+{
+	int sofar, i;
+
+	sofar = 100 - ((progress * 100) / dumpsize);
+	for (i = 0; i < 10; i++) {
+		if (sofar < progress_track[i].min_per || sofar > progress_track[i].max_per)
+			continue;
+		if (progress_track[i].visited)
+			return;
+		progress_track[i].visited = 1;
+		printf("..%d%%", sofar);
+		return;
+	}
+}
+
 static int
 blk_write(struct dumperinfo *di, char *ptr, vm_paddr_t pa, size_t sz)
 {
@@ -130,7 +164,7 @@ blk_write(struct dumperinfo *di, char *p
 		counter += len;
 		progress -= len;
 		if (counter >> 24) {
-			printf(" %ld", PG2MB(progress >> PAGE_SHIFT));
+			report_progress(progress, dumpsize);
 			counter &= (1<<24) - 1;
 		}
 		if (ptr) {
@@ -170,7 +204,6 @@ static pd_entry_t fakepd[NPDEPG];
 void
 minidumpsys(struct dumperinfo *di)
 {
-	uint64_t dumpsize;
 	uint32_t pmapsize;
 	vm_offset_t va;
 	int error;
@@ -290,8 +323,8 @@ minidumpsys(struct dumperinfo *di)
 
 	mkdumpheader(&kdh, KERNELDUMPMAGIC, KERNELDUMP_AMD64_VERSION, dumpsize, di->blocksize);
 
-	printf("Physical memory: %ju MB\n", ptoa((uintmax_t)physmem) / 1048576);
-	printf("Dumping %llu MB:", (long long)dumpsize >> 20);
+	printf("Dumping %llu out of %ju MB:", (long long)dumpsize >> 20,
+	    ptoa((uintmax_t)physmem) / 1048576);
 
 	/* Dump leader */
 	error = dump_write(di, &kdh, 0, dumplo, sizeof(kdh));

Modified: projects/altix/sys/amd64/conf/GENERIC
==============================================================================
--- projects/altix/sys/amd64/conf/GENERIC	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/amd64/conf/GENERIC	Wed Apr 27 02:12:01 2011	(r221106)
@@ -93,6 +93,7 @@ device		fdc
 device		ahci		# AHCI-compatible SATA controllers
 device		ata		# Legacy ATA/SATA controllers
 options 	ATA_CAM		# Handle legacy controllers with CAM
+options 	ATA_STATIC_ID	# Static device numbering
 device		mvs		# Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA
 device		siis		# SiliconImage SiI3124/SiI3132/SiI3531 SATA
 

Modified: projects/altix/sys/arm/conf/CRB
==============================================================================
--- projects/altix/sys/arm/conf/CRB	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/arm/conf/CRB	Wed Apr 27 02:12:01 2011	(r221106)
@@ -74,6 +74,7 @@ device		pci
 
 device		ata
 options 	ATA_CAM
+options 	ATA_STATIC_ID	# Static device numbering
 
 device		scbus		# SCSI bus (required for ATA/SCSI)
 device		cd		# CD

Modified: projects/altix/sys/arm/conf/EP80219
==============================================================================
--- projects/altix/sys/arm/conf/EP80219	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/arm/conf/EP80219	Wed Apr 27 02:12:01 2011	(r221106)
@@ -74,6 +74,7 @@ device		pci
 
 device		ata
 options 	ATA_CAM
+options 	ATA_STATIC_ID	# Static device numbering
 
 device		scbus		# SCSI bus (required for ATA/SCSI)
 device		cd		# CD

Modified: projects/altix/sys/arm/conf/IQ31244
==============================================================================
--- projects/altix/sys/arm/conf/IQ31244	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/arm/conf/IQ31244	Wed Apr 27 02:12:01 2011	(r221106)
@@ -73,6 +73,7 @@ device		pci
 
 device		ata
 options 	ATA_CAM
+options 	ATA_STATIC_ID	# Static device numbering
 
 device		scbus		# SCSI bus (required for ATA/SCSI)
 device		cd		# CD

Modified: projects/altix/sys/cam/ata/ata_da.c
==============================================================================
--- projects/altix/sys/cam/ata/ata_da.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/cam/ata/ata_da.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -28,6 +28,7 @@
 __FBSDID("$FreeBSD$");
 
 #include "opt_ada.h"
+#include "opt_ata.h"
 
 #include <sys/param.h>
 
@@ -183,6 +184,14 @@ static void		adashutdown(void *arg, int 
 static void		adasuspend(void *arg);
 static void		adaresume(void *arg);
 
+#ifndef	ADA_DEFAULT_LEGACY_ALIASES
+#ifdef ATA_CAM
+#define	ADA_DEFAULT_LEGACY_ALIASES	1
+#else
+#define	ADA_DEFAULT_LEGACY_ALIASES	0
+#endif
+#endif
+
 #ifndef ADA_DEFAULT_TIMEOUT
 #define ADA_DEFAULT_TIMEOUT 30	/* Timeout in seconds */
 #endif
@@ -215,6 +224,7 @@ static void		adaresume(void *arg);
 #define	ata_disk_firmware_geom_adjust(disk)
 #endif
 
+static int ada_legacy_aliases = ADA_DEFAULT_LEGACY_ALIASES;
 static int ada_retry_count = ADA_DEFAULT_RETRY;
 static int ada_default_timeout = ADA_DEFAULT_TIMEOUT;
 static int ada_send_ordered = ADA_DEFAULT_SEND_ORDERED;
@@ -224,6 +234,9 @@ static int ada_write_cache = ADA_DEFAULT
 
 SYSCTL_NODE(_kern_cam, OID_AUTO, ada, CTLFLAG_RD, 0,
             "CAM Direct Access Disk driver");
+SYSCTL_INT(_kern_cam_ada, OID_AUTO, legacy_aliases, CTLFLAG_RW,
+           &ada_legacy_aliases, 0, "Create legacy-like device aliases");
+TUNABLE_INT("kern.cam.ada.legacy_aliases", &ada_legacy_aliases);
 SYSCTL_INT(_kern_cam_ada, OID_AUTO, retry_count, CTLFLAG_RW,
            &ada_retry_count, 0, "Normal I/O retry count");
 TUNABLE_INT("kern.cam.ada.retry_count", &ada_retry_count);
@@ -723,10 +736,11 @@ adaregister(struct cam_periph *periph, v
 	struct ada_softc *softc;
 	struct ccb_pathinq cpi;
 	struct ccb_getdev *cgd;
-	char   announce_buf[80];
+	char   announce_buf[80], buf1[32];
 	struct disk_params *dp;
 	caddr_t match;
 	u_int maxio;
+	int legacy_id;
 
 	cgd = (struct ccb_getdev *)arg;
 	if (periph == NULL) {
@@ -861,6 +875,22 @@ adaregister(struct cam_periph *periph, v
 	softc->disk->d_fwheads = softc->params.heads;
 	ata_disk_firmware_geom_adjust(softc->disk);
 
+	if (ada_legacy_aliases) {
+#ifdef ATA_STATIC_ID
+		legacy_id = xpt_path_legacy_ata_id(periph->path);
+#else
+		legacy_id = softc->disk->d_unit;
+#endif
+		if (legacy_id >= 0) {
+			snprintf(announce_buf, sizeof(announce_buf),
+			    "kern.devalias.%s%d",
+			    softc->disk->d_name, softc->disk->d_unit);
+			snprintf(buf1, sizeof(buf1),
+			    "ad%d", legacy_id);
+			setenv(announce_buf, buf1);
+		}
+	} else
+		legacy_id = -1;
 	disk_create(softc->disk, DISK_VERSION);
 	mtx_lock(periph->sim->mtx);
 	cam_periph_unhold(periph);
@@ -874,6 +904,9 @@ adaregister(struct cam_periph *periph, v
 		dp->secsize, dp->heads,
 		dp->secs_per_track, dp->cylinders);
 	xpt_announce_periph(periph, announce_buf);
+	if (legacy_id >= 0)
+		printf("%s%d: Previously was known as ad%d\n",
+		       periph->periph_name, periph->unit_number, legacy_id);
 
 	/*
 	 * Create our sysctl variables, now that we know

Modified: projects/altix/sys/cam/cam_xpt.c
==============================================================================
--- projects/altix/sys/cam/cam_xpt.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/cam/cam_xpt.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -3569,6 +3569,42 @@ xpt_path_periph(struct cam_path *path)
 	return (path->periph);
 }
 
+int
+xpt_path_legacy_ata_id(struct cam_path *path)
+{
+	struct cam_eb *bus;
+	int bus_id;
+
+	if ((strcmp(path->bus->sim->sim_name, "ata") != 0) &&
+	    strcmp(path->bus->sim->sim_name, "ahcich") != 0 &&
+	    strcmp(path->bus->sim->sim_name, "mvsch") != 0 &&
+	    strcmp(path->bus->sim->sim_name, "siisch") != 0)
+		return (-1);
+
+	if (strcmp(path->bus->sim->sim_name, "ata") == 0 &&
+	    path->bus->sim->unit_number < 2) {
+		bus_id = path->bus->sim->unit_number;
+	} else {
+		bus_id = 2;
+		xpt_lock_buses();
+		TAILQ_FOREACH(bus, &xsoftc.xpt_busses, links) {
+			if (bus == path->bus)
+				break;
+			if ((strcmp(bus->sim->sim_name, "ata") == 0 &&
+			     bus->sim->unit_number >= 2) ||
+			    strcmp(bus->sim->sim_name, "ahcich") == 0 ||
+			    strcmp(bus->sim->sim_name, "mvsch") == 0 ||
+			    strcmp(bus->sim->sim_name, "siisch") == 0)
+				bus_id++;
+		}
+		xpt_unlock_buses();
+	}
+	if (path->target != NULL)
+		return (bus_id * 2 + path->target->target_id);
+	else
+		return (bus_id * 2);
+}
+
 /*
  * Release a CAM control block for the caller.  Remit the cost of the structure
  * to the device referenced by the path.  If the this device had no 'credits'

Modified: projects/altix/sys/cam/cam_xpt.h
==============================================================================
--- projects/altix/sys/cam/cam_xpt.h	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/cam/cam_xpt.h	Wed Apr 27 02:12:01 2011	(r221106)
@@ -113,6 +113,7 @@ int			xpt_path_string(struct cam_path *p
 path_id_t		xpt_path_path_id(struct cam_path *path);
 target_id_t		xpt_path_target_id(struct cam_path *path);
 lun_id_t		xpt_path_lun_id(struct cam_path *path);
+int			xpt_path_legacy_ata_id(struct cam_path *path);
 struct cam_sim		*xpt_path_sim(struct cam_path *path);
 struct cam_periph	*xpt_path_periph(struct cam_path *path);
 void			xpt_async(u_int32_t async_code, struct cam_path *path,

Modified: projects/altix/sys/conf/NOTES
==============================================================================
--- projects/altix/sys/conf/NOTES	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/conf/NOTES	Wed Apr 27 02:12:01 2011	(r221106)
@@ -1754,7 +1754,7 @@ hint.ata.1.irq="15"
 #			atapifd, atapist, atapicam) and all user-level APIs.
 #			cam(4) drivers and APIs will be connected instead.
 
-#options 	ATA_STATIC_ID
+options 	ATA_STATIC_ID
 #options 	ATA_REQUEST_TIMEOUT=10
 options 	ATA_CAM
 

Modified: projects/altix/sys/dev/usb/controller/ehci.c
==============================================================================
--- projects/altix/sys/dev/usb/controller/ehci.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/dev/usb/controller/ehci.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -1196,6 +1196,8 @@ ehci_data_toggle_update(struct usb_xfer 
 		dt ^= 1;	/* short packet at the end */
 	else if (actlen != xlen)
 		dt ^= 1;	/* zero length packet at the end */
+	else if (xlen == 0)
+		dt ^= 1;	/* zero length transfer */
 
 	xfer->endpoint->toggle_next ^= dt;
 }

Modified: projects/altix/sys/dev/usb/net/if_cdcereg.h
==============================================================================
--- projects/altix/sys/dev/usb/net/if_cdcereg.h	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/dev/usb/net/if_cdcereg.h	Wed Apr 27 02:12:01 2011	(r221106)
@@ -39,7 +39,7 @@
 #define	CDCE_IND_SIZE_MAX 32            /* bytes */
 
 #define	CDCE_NCM_TX_MINLEN 512		/* bytes, must be power of two */
-#define	CDCE_NCM_TX_MAXLEN (1UL << 14)	/* bytes */
+#define	CDCE_NCM_TX_MAXLEN (16384 + 4)	/* bytes, must be short terminated */
 #define	CDCE_NCM_TX_FRAMES_MAX 8	/* units */
 
 #define	CDCE_NCM_RX_MAXLEN (1UL << 14)	/* bytes */

Modified: projects/altix/sys/fs/nfsclient/nfs_clvfsops.c
==============================================================================
--- projects/altix/sys/fs/nfsclient/nfs_clvfsops.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/fs/nfsclient/nfs_clvfsops.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -137,10 +137,17 @@ VFS_SET(nfs_vfsops, newnfs, VFCF_NETWORK
 MODULE_VERSION(newnfs, 1);
 
 /*
- * This structure must be filled in by a primary bootstrap or bootstrap
- * server for a diskless/dataless machine. It is initialized below just
- * to ensure that it is allocated to initialized data (.data not .bss).
+ * This structure is now defined in sys/nfs/nfs_diskless.c so that it
+ * can be shared by both NFS clients. It is declared here so that it
+ * will be defined for kernels built without NFS_ROOT, although it
+ * isn't used in that case.
  */
+#if !defined(NFS_ROOT) && !defined(NFSCLIENT)
+struct nfs_diskless	nfs_diskless = { { { 0 } } };
+struct nfsv3_diskless	nfsv3_diskless = { { { 0 } } };
+int			nfs_diskless_valid = 0;
+#endif
+
 SYSCTL_INT(_vfs_newnfs, OID_AUTO, diskless_valid, CTLFLAG_RD,
     &nfs_diskless_valid, 0,
     "Has the diskless struct been filled correctly");

Modified: projects/altix/sys/geom/concat/g_concat.c
==============================================================================
--- projects/altix/sys/geom/concat/g_concat.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/geom/concat/g_concat.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -678,7 +678,8 @@ g_concat_taste(struct g_class *mp, struc
 	if (md.md_version < 4)
 		md.md_provsize = pp->mediasize;
 
-	if (md.md_provider[0] != '\0' && strcmp(md.md_provider, pp->name) != 0)
+	if (md.md_provider[0] != '\0' &&
+	    !g_compare_names(md.md_provider, pp->name))
 		return (NULL);
 	if (md.md_provsize != pp->mediasize)
 		return (NULL);

Modified: projects/altix/sys/geom/geom.h
==============================================================================
--- projects/altix/sys/geom/geom.h	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/geom/geom.h	Wed Apr 27 02:12:01 2011	(r221106)
@@ -238,6 +238,7 @@ void g_waitidlelock(void);
 /* geom_subr.c */
 int g_access(struct g_consumer *cp, int nread, int nwrite, int nexcl);
 int g_attach(struct g_consumer *cp, struct g_provider *pp);
+int g_compare_names(const char *namea, const char *nameb);
 void g_destroy_consumer(struct g_consumer *cp);
 void g_destroy_geom(struct g_geom *pp);
 void g_destroy_provider(struct g_provider *pp);

Modified: projects/altix/sys/geom/geom_dev.c
==============================================================================
--- projects/altix/sys/geom/geom_dev.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/geom/geom_dev.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -113,8 +113,9 @@ g_dev_taste(struct g_class *mp, struct g
 {
 	struct g_geom *gp;
 	struct g_consumer *cp;
-	int error;
-	struct cdev *dev;
+	int error, len;
+	struct cdev *dev, *adev;
+	char buf[64], *val;
 
 	g_trace(G_T_TOPOLOGY, "dev_taste(%s,%s)", mp->name, pp->name);
 	g_topology_assert();
@@ -136,12 +137,35 @@ g_dev_taste(struct g_class *mp, struct g
 		g_destroy_geom(gp);
 		return (NULL);
 	}
+
+	/* Search for device alias name and create it if found. */
+	adev = NULL;
+	for (len = MIN(strlen(gp->name), sizeof(buf) - 15); len > 0; len--) {
+		snprintf(buf, sizeof(buf), "kern.devalias.%s", gp->name);
+		buf[14 + len] = 0;
+		val = getenv(buf);
+		if (val != NULL) {
+			snprintf(buf, sizeof(buf), "%s%s",
+			    val, gp->name + len);
+			freeenv(val);
+			adev = make_dev_alias(dev, buf);
+			break;
+		}
+	}
+
 	if (pp->flags & G_PF_CANDELETE)
 		dev->si_flags |= SI_CANDELETE;
 	dev->si_iosize_max = MAXPHYS;
 	gp->softc = dev;
 	dev->si_drv1 = gp;
 	dev->si_drv2 = cp;
+	if (adev != NULL) {
+		if (pp->flags & G_PF_CANDELETE)
+			adev->si_flags |= SI_CANDELETE;
+		adev->si_iosize_max = MAXPHYS;
+		adev->si_drv1 = gp;
+		adev->si_drv2 = cp;
+	}
 	return (gp);
 }
 

Modified: projects/altix/sys/geom/geom_subr.c
==============================================================================
--- projects/altix/sys/geom/geom_subr.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/geom/geom_subr.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -1017,6 +1017,43 @@ g_getattr__(const char *attr, struct g_c
 	return (0);
 }
 
+static int
+g_get_device_prefix_len(const char *name)
+{
+	int len;
+
+	if (strncmp(name, "ada", 3) == 0)
+		len = 3;
+	else if (strncmp(name, "ad", 2) == 0)
+		len = 2;
+	else
+		return (0);
+	if (name[len] < '0' || name[len] > '9')
+		return (0);
+	do {
+		len++;
+	} while (name[len] >= '0' && name[len] <= '9');
+	return (len);
+}
+
+int
+g_compare_names(const char *namea, const char *nameb)
+{
+	int deva, devb;
+
+	if (strcmp(namea, nameb) == 0)
+		return (1);
+	deva = g_get_device_prefix_len(namea);
+	if (deva == 0)
+		return (0);
+	devb = g_get_device_prefix_len(nameb);
+	if (devb == 0)
+		return (0);
+	if (strcmp(namea + deva, nameb + devb) == 0)
+		return (1);
+	return (0);
+}
+
 #if defined(DIAGNOSTIC) || defined(DDB)
 /*
  * This function walks the mesh and returns a non-zero integer if it

Modified: projects/altix/sys/geom/journal/g_journal.c
==============================================================================
--- projects/altix/sys/geom/journal/g_journal.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/geom/journal/g_journal.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -2527,7 +2527,8 @@ g_journal_taste(struct g_class *mp, stru
 		return (NULL);
 	gp = NULL;
 
-	if (md.md_provider[0] != '\0' && strcmp(md.md_provider, pp->name) != 0)
+	if (md.md_provider[0] != '\0' &&
+	    !g_compare_names(md.md_provider, pp->name))
 		return (NULL);
 	if (md.md_provsize != 0 && md.md_provsize != pp->mediasize)
 		return (NULL);

Modified: projects/altix/sys/geom/mirror/g_mirror.c
==============================================================================
--- projects/altix/sys/geom/mirror/g_mirror.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/geom/mirror/g_mirror.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -3007,7 +3007,8 @@ g_mirror_taste(struct g_class *mp, struc
 		return (NULL);
 	gp = NULL;
 
-	if (md.md_provider[0] != '\0' && strcmp(md.md_provider, pp->name) != 0)
+	if (md.md_provider[0] != '\0' &&
+	    !g_compare_names(md.md_provider, pp->name))
 		return (NULL);
 	if (md.md_provsize != 0 && md.md_provsize != pp->mediasize)
 		return (NULL);

Modified: projects/altix/sys/geom/raid3/g_raid3.c
==============================================================================
--- projects/altix/sys/geom/raid3/g_raid3.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/geom/raid3/g_raid3.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -3329,7 +3329,8 @@ g_raid3_taste(struct g_class *mp, struct
 		return (NULL);
 	gp = NULL;
 
-	if (md.md_provider[0] != '\0' && strcmp(md.md_provider, pp->name) != 0)
+	if (md.md_provider[0] != '\0' &&
+	    !g_compare_names(md.md_provider, pp->name))
 		return (NULL);
 	if (md.md_provsize != 0 && md.md_provsize != pp->mediasize)
 		return (NULL);

Modified: projects/altix/sys/geom/shsec/g_shsec.c
==============================================================================
--- projects/altix/sys/geom/shsec/g_shsec.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/geom/shsec/g_shsec.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -673,7 +673,8 @@ g_shsec_taste(struct g_class *mp, struct
 	if (md.md_version < 1)
 		md.md_provsize = pp->mediasize;
 
-	if (md.md_provider[0] != '\0' && strcmp(md.md_provider, pp->name) != 0)
+	if (md.md_provider[0] != '\0' &&
+	    !g_compare_names(md.md_provider, pp->name))
 		return (NULL);
 	if (md.md_provsize != pp->mediasize)
 		return (NULL);

Modified: projects/altix/sys/geom/stripe/g_stripe.c
==============================================================================
--- projects/altix/sys/geom/stripe/g_stripe.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/geom/stripe/g_stripe.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -952,7 +952,8 @@ g_stripe_taste(struct g_class *mp, struc
 	if (md.md_version < 3)
 		md.md_provsize = pp->mediasize;
 
-	if (md.md_provider[0] != '\0' && strcmp(md.md_provider, pp->name) != 0)
+	if (md.md_provider[0] != '\0' &&
+	    !g_compare_names(md.md_provider, pp->name))
 		return (NULL);
 	if (md.md_provsize != pp->mediasize)
 		return (NULL);

Modified: projects/altix/sys/geom/virstor/g_virstor.c
==============================================================================
--- projects/altix/sys/geom/virstor/g_virstor.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/geom/virstor/g_virstor.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -809,10 +809,9 @@ g_virstor_taste(struct g_class *mp, stru
 	/* If the provider name is hardcoded, use the offered provider only
 	 * if it's been offered with its proper name (the one used in
 	 * the label command). */
-	if (md.provider[0] != '\0') {
-		if (strcmp(md.provider, pp->name) != 0)
-			return (NULL);
-	}
+	if (md.provider[0] != '\0' &&
+	    !g_compare_names(md.provider, pp->name))
+		return (NULL);
 
 	/* Iterate all geoms this class already knows about to see if a new
 	 * geom instance of this class needs to be created (in case the provider

Modified: projects/altix/sys/i386/conf/GENERIC
==============================================================================
--- projects/altix/sys/i386/conf/GENERIC	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/i386/conf/GENERIC	Wed Apr 27 02:12:01 2011	(r221106)
@@ -95,6 +95,7 @@ device		fdc
 device		ahci		# AHCI-compatible SATA controllers
 device		ata		# Legacy ATA/SATA controllers
 options 	ATA_CAM		# Handle legacy controllers with CAM
+options 	ATA_STATIC_ID	# Static device numbering
 device		mvs		# Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA
 device		siis		# SiliconImage SiI3124/SiI3132/SiI3531 SATA
 

Modified: projects/altix/sys/i386/conf/XBOX
==============================================================================
--- projects/altix/sys/i386/conf/XBOX	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/i386/conf/XBOX	Wed Apr 27 02:12:01 2011	(r221106)
@@ -52,6 +52,7 @@ device		pci
 # ATA and ATAPI devices
 device		ata
 options 	ATA_CAM
+options 	ATA_STATIC_ID	# Static device numbering
 
 # ATA/SCSI peripherals
 device		scbus		# SCSI bus (required for ATA/SCSI)

Modified: projects/altix/sys/kern/kern_intr.c
==============================================================================
--- projects/altix/sys/kern/kern_intr.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/kern/kern_intr.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -746,7 +746,6 @@ intr_handler_source(void *cookie)
 void
 _intr_drain(int irq)
 {
-	struct mtx *mtx;
 	struct intr_event *ie;
 	struct intr_thread *ithd;
 	struct thread *td;
@@ -758,13 +757,21 @@ _intr_drain(int irq)
 		return;
 	ithd = ie->ie_thread;
 	td = ithd->it_thread;
+	/*
+	 * We set the flag and wait for it to be cleared to avoid
+	 * long delays with potentially busy interrupt handlers
+	 * were we to only sample TD_AWAITING_INTR() every tick.
+	 */
 	thread_lock(td);
-	mtx = td->td_lock;
 	if (!TD_AWAITING_INTR(td)) {
 		ithd->it_flags |= IT_WAIT;
-		msleep_spin(ithd, mtx, "isync", 0);
+		while (ithd->it_flags & IT_WAIT) {
+			thread_unlock(td);
+			pause("idrain", 1);
+			thread_lock(td);
+		}
 	}
-	mtx_unlock_spin(mtx);
+	thread_unlock(td);
 	return;
 }
 

Modified: projects/altix/sys/kern/sched_4bsd.c
==============================================================================
--- projects/altix/sys/kern/sched_4bsd.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/kern/sched_4bsd.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -1246,25 +1246,27 @@ sched_add(struct thread *td, int flags)
 	}
 	TD_SET_RUNQ(td);
 
-	if (td->td_pinned != 0) {
-		cpu = td->td_lastcpu;
-		ts->ts_runq = &runq_pcpu[cpu];
-		single_cpu = 1;
-		CTR3(KTR_RUNQ,
-		    "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td,
-		    cpu);
-	} else if (td->td_flags & TDF_BOUND) {
-		/* Find CPU from bound runq. */
-		KASSERT(SKE_RUNQ_PCPU(ts),
-		    ("sched_add: bound td_sched not on cpu runq"));
-		cpu = ts->ts_runq - &runq_pcpu[0];
-		single_cpu = 1;
-		CTR3(KTR_RUNQ,
-		    "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td,
-		    cpu);
-	} else if (ts->ts_flags & TSF_AFFINITY) {
-		/* Find a valid CPU for our cpuset */
-		cpu = sched_pickcpu(td);
+	/*
+	 * If SMP is started and the thread is pinned or otherwise limited to
+	 * a specific set of CPUs, queue the thread to a per-CPU run queue.
+	 * Otherwise, queue the thread to the global run queue.
+	 *
+	 * If SMP has not yet been started we must use the global run queue
+	 * as per-CPU state may not be initialized yet and we may crash if we
+	 * try to access the per-CPU run queues.
+	 */
+	if (smp_started && (td->td_pinned != 0 || td->td_flags & TDF_BOUND ||
+	    ts->ts_flags & TSF_AFFINITY)) {
+		if (td->td_pinned != 0)
+			cpu = td->td_lastcpu;
+		else if (td->td_flags & TDF_BOUND) {
+			/* Find CPU from bound runq. */
+			KASSERT(SKE_RUNQ_PCPU(ts),
+			    ("sched_add: bound td_sched not on cpu runq"));
+			cpu = ts->ts_runq - &runq_pcpu[0];
+		} else
+			/* Find a valid CPU for our cpuset */
+			cpu = sched_pickcpu(td);
 		ts->ts_runq = &runq_pcpu[cpu];
 		single_cpu = 1;
 		CTR3(KTR_RUNQ,

Modified: projects/altix/sys/kern/subr_taskqueue.c
==============================================================================
--- projects/altix/sys/kern/subr_taskqueue.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/kern/subr_taskqueue.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -61,12 +61,15 @@ struct taskqueue {
 	int			tq_tcount;
 	int			tq_spin;
 	int			tq_flags;
+	int			tq_callouts;
 };
 
 #define	TQ_FLAGS_ACTIVE		(1 << 0)
 #define	TQ_FLAGS_BLOCKED	(1 << 1)
 #define	TQ_FLAGS_PENDING	(1 << 2)
 
+#define	DT_CALLOUT_ARMED	(1 << 0)
+
 #define	TQ_LOCK(tq)							\
 	do {								\
 		if ((tq)->tq_spin)					\
@@ -83,6 +86,17 @@ struct taskqueue {
 			mtx_unlock(&(tq)->tq_mutex);			\
 	} while (0)
 
+void
+_timeout_task_init(struct taskqueue *queue, struct timeout_task *timeout_task,
+    int priority, task_fn_t func, void *context)
+{
+
+	TASK_INIT(&timeout_task->t, priority, func, context);
+	callout_init_mtx(&timeout_task->c, &queue->tq_mutex, 0);
+	timeout_task->q = queue;
+	timeout_task->f = 0;
+}
+
 static __inline int
 TQ_SLEEP(struct taskqueue *tq, void *p, struct mtx *m, int pri, const char *wm,
     int t)
@@ -129,7 +143,7 @@ static void
 taskqueue_terminate(struct thread **pp, struct taskqueue *tq)
 {
 
-	while (tq->tq_tcount > 0) {
+	while (tq->tq_tcount > 0 || tq->tq_callouts > 0) {
 		wakeup(tq);
 		TQ_SLEEP(tq, pp, &tq->tq_mutex, PWAIT, "taskqueue_destroy", 0);
 	}
@@ -143,26 +157,24 @@ taskqueue_free(struct taskqueue *queue)
 	queue->tq_flags &= ~TQ_FLAGS_ACTIVE;
 	taskqueue_terminate(queue->tq_threads, queue);
 	KASSERT(TAILQ_EMPTY(&queue->tq_active), ("Tasks still running?"));
+	KASSERT(queue->tq_callouts == 0, ("Armed timeout tasks"));
 	mtx_destroy(&queue->tq_mutex);
 	free(queue->tq_threads, M_TASKQUEUE);
 	free(queue, M_TASKQUEUE);
 }
 
-int
-taskqueue_enqueue(struct taskqueue *queue, struct task *task)
+static int
+taskqueue_enqueue_locked(struct taskqueue *queue, struct task *task)
 {
 	struct task *ins;
 	struct task *prev;
 
-	TQ_LOCK(queue);
-
 	/*
 	 * Count multiple enqueues.
 	 */
 	if (task->ta_pending) {
 		task->ta_pending++;
-		TQ_UNLOCK(queue);
-		return 0;
+		return (0);
 	}
 
 	/*
@@ -190,9 +202,60 @@ taskqueue_enqueue(struct taskqueue *queu
 	else
 		queue->tq_flags |= TQ_FLAGS_PENDING;
 
+	return (0);
+}
+int
+taskqueue_enqueue(struct taskqueue *queue, struct task *task)
+{
+	int res;
+
+	TQ_LOCK(queue);
+	res = taskqueue_enqueue_locked(queue, task);
 	TQ_UNLOCK(queue);
 
-	return 0;
+	return (res);
+}
+
+static void
+taskqueue_timeout_func(void *arg)
+{
+	struct taskqueue *queue;
+	struct timeout_task *timeout_task;
+
+	timeout_task = arg;
+	queue = timeout_task->q;
+	KASSERT((timeout_task->f & DT_CALLOUT_ARMED) != 0, ("Stray timeout"));
+	timeout_task->f &= ~DT_CALLOUT_ARMED;
+	queue->tq_callouts--;
+	taskqueue_enqueue_locked(timeout_task->q, &timeout_task->t);
+}
+
+int
+taskqueue_enqueue_timeout(struct taskqueue *queue,
+    struct timeout_task *timeout_task, int ticks)
+{
+	int res;
+
+	TQ_LOCK(queue);
+	KASSERT(timeout_task->q == NULL || timeout_task->q == queue,
+	    ("Migrated queue"));
+	KASSERT(!queue->tq_spin, ("Timeout for spin-queue"));
+	timeout_task->q = queue;
+	res = timeout_task->t.ta_pending;
+	if (ticks == 0) {
+		taskqueue_enqueue_locked(queue, &timeout_task->t);
+	} else {
+		if ((timeout_task->f & DT_CALLOUT_ARMED) != 0) {
+			res++;
+		} else {
+			queue->tq_callouts++;
+			timeout_task->f |= DT_CALLOUT_ARMED;
+		}
+		callout_reset(&timeout_task->c, ticks, taskqueue_timeout_func,
+		    timeout_task);
+	}
+	TQ_UNLOCK(queue);
+	return (res);
 }
 
 void
@@ -271,6 +334,19 @@ task_is_running(struct taskqueue *queue,
 	return (0);
 }
 
+static int
+taskqueue_cancel_locked(struct taskqueue *queue, struct task *task,
+    u_int *pendp)
+{
+
+	if (task->ta_pending > 0)
+		STAILQ_REMOVE(&queue->tq_queue, task, task, ta_link);
+	if (pendp != NULL)
+		*pendp = task->ta_pending;
+	task->ta_pending = 0;
+	return (task_is_running(queue, task) ? EBUSY : 0);
+}
+
 int
 taskqueue_cancel(struct taskqueue *queue, struct task *task, u_int *pendp)
 {
@@ -278,14 +354,31 @@ taskqueue_cancel(struct taskqueue *queue
 	int error;
 
 	TQ_LOCK(queue);
-	if ((pending = task->ta_pending) > 0)
-		STAILQ_REMOVE(&queue->tq_queue, task, task, ta_link);
-	task->ta_pending = 0;
-	error = task_is_running(queue, task) ? EBUSY : 0;
+	pending = task->ta_pending;
+	error = taskqueue_cancel_locked(queue, task, pendp);
+	TQ_UNLOCK(queue);
+
+	return (error);
+}
+
+int
+taskqueue_cancel_timeout(struct taskqueue *queue,
+    struct timeout_task *timeout_task, u_int *pendp)
+{
+	u_int pending, pending1;
+	int error;
+
+	TQ_LOCK(queue);
+	pending = !!callout_stop(&timeout_task->c);
+	error = taskqueue_cancel_locked(queue, &timeout_task->t, &pending1);
+	if ((timeout_task->f & DT_CALLOUT_ARMED) != 0) {
+		timeout_task->f &= ~DT_CALLOUT_ARMED;
+		queue->tq_callouts--;
+	}
 	TQ_UNLOCK(queue);
 
 	if (pendp != NULL)
-		*pendp = pending;
+		*pendp = pending + pending1;
 	return (error);
 }
 
@@ -302,6 +395,15 @@ taskqueue_drain(struct taskqueue *queue,
 	TQ_UNLOCK(queue);
 }
 
+void
+taskqueue_drain_timeout(struct taskqueue *queue,
+    struct timeout_task *timeout_task)
+{
+
+	callout_drain(&timeout_task->c);
+	taskqueue_drain(queue, &timeout_task->t);
+}
+
 static void
 taskqueue_swi_enqueue(void *context)
 {

Modified: projects/altix/sys/mips/conf/OCTEON1
==============================================================================
--- projects/altix/sys/mips/conf/OCTEON1	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/mips/conf/OCTEON1	Wed Apr 27 02:12:01 2011	(r221106)
@@ -99,6 +99,7 @@ device		pci
 device		ahci		# AHCI-compatible SATA controllers
 device		ata		# Legacy ATA/SATA controllers
 options 	ATA_CAM		# Handle legacy controllers with CAM
+options 	ATA_STATIC_ID	# Static device numbering
 device		mvs		# Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA
 device		siis		# SiliconImage SiI3124/SiI3132/SiI3531 SATA
 

Modified: projects/altix/sys/mips/conf/std.SWARM
==============================================================================
--- projects/altix/sys/mips/conf/std.SWARM	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/mips/conf/std.SWARM	Wed Apr 27 02:12:01 2011	(r221106)
@@ -58,3 +58,4 @@ device pass
 
 device		ata
 options 	ATA_CAM
+options 	ATA_STATIC_ID	# Static device numbering

Modified: projects/altix/sys/modules/cam/Makefile
==============================================================================
--- projects/altix/sys/modules/cam/Makefile	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/modules/cam/Makefile	Wed Apr 27 02:12:01 2011	(r221106)
@@ -9,6 +9,7 @@ KMOD=	cam
 # See sys/conf/options for the flags that go into the different opt_*.h files.
 SRCS=	opt_cam.h
 SRCS+=	opt_ada.h
+SRCS+=	opt_ata.h
 SRCS+=	opt_scsi.h
 SRCS+=	opt_cd.h
 SRCS+=	opt_pt.h

Modified: projects/altix/sys/nfsclient/nfs_vfsops.c
==============================================================================
--- projects/altix/sys/nfsclient/nfs_vfsops.c	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/nfsclient/nfs_vfsops.c	Wed Apr 27 02:12:01 2011	(r221106)
@@ -164,6 +164,18 @@ static struct nfs_rpcops nfs_rpcops = {
 	nfs_commit,
 };
 
+/*
+ * This structure is now defined in sys/nfs/nfs_diskless.c so that it
+ * can be shared by both NFS clients. It is declared here so that it
+ * will be defined for kernels built without NFS_ROOT, although it
+ * isn't used in that case.
+ */
+#ifndef NFS_ROOT
+struct nfs_diskless	nfs_diskless = { { { 0 } } };
+struct nfsv3_diskless	nfsv3_diskless = { { { 0 } } };
+int			nfs_diskless_valid = 0;
+#endif
+
 SYSCTL_INT(_vfs_nfs, OID_AUTO, diskless_valid, CTLFLAG_RD,
     &nfs_diskless_valid, 0,
     "Has the diskless struct been filled correctly");

Modified: projects/altix/sys/ofed/include/linux/file.h
==============================================================================
--- projects/altix/sys/ofed/include/linux/file.h	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/ofed/include/linux/file.h	Wed Apr 27 02:12:01 2011	(r221106)
@@ -92,7 +92,7 @@ get_unused_fd(void)
 	int error;
 	int fd;
 
-	error = falloc(curthread, &file, &fd);
+	error = falloc(curthread, &file, &fd, 0);
 	if (error)
 		return -error;
 	return fd;

Modified: projects/altix/sys/ofed/include/linux/workqueue.h
==============================================================================
--- projects/altix/sys/ofed/include/linux/workqueue.h	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/ofed/include/linux/workqueue.h	Wed Apr 27 02:12:01 2011	(r221106)
@@ -160,9 +160,11 @@ flush_taskqueue(struct taskqueue *tq)
 {
 	struct task flushtask;
 
+	PHOLD(curproc);
 	TASK_INIT(&flushtask, 0, _flush_fn, NULL);
 	taskqueue_enqueue(tq, &flushtask);
 	taskqueue_drain(tq, &flushtask);
+	PRELE(curproc);
 }
 
 static inline int

Modified: projects/altix/sys/pc98/conf/GENERIC
==============================================================================
--- projects/altix/sys/pc98/conf/GENERIC	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/pc98/conf/GENERIC	Wed Apr 27 02:12:01 2011	(r221106)
@@ -91,6 +91,7 @@ device		fdc
 device		ahci		# AHCI-compatible SATA controllers
 device		ata		# Legacy ATA/SATA controllers
 options 	ATA_CAM		# Handle legacy controllers with CAM
+options 	ATA_STATIC_ID	# Static device numbering
 device		mvs		# Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA
 device		siis		# SiliconImage SiI3124/SiI3132/SiI3531 SATA
 

Copied: projects/altix/sys/sys/_callout.h (from r221105, head/sys/sys/_callout.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/altix/sys/sys/_callout.h	Wed Apr 27 02:12:01 2011	(r221106, copy of r221105, head/sys/sys/_callout.h)
@@ -0,0 +1,61 @@
+/*-
+ * Copyright (c) 1990, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ * (c) UNIX System Laboratories, Inc.
+ * All or some portions of this file are derived from material licensed
+ * to the University of California by American Telephone and Telegraph
+ * Co. or Unix System Laboratories, Inc. and are reproduced herein with
+ * the permission of UNIX System Laboratories, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *	@(#)callout.h	8.2 (Berkeley) 1/21/94
+ * $FreeBSD$
+ */
+
+#ifndef _SYS__CALLOUT_H
+#define	_SYS__CALLOUT_H
+
+#include <sys/queue.h>
+
+struct lock_object;
+
+SLIST_HEAD(callout_list, callout);
+TAILQ_HEAD(callout_tailq, callout);
+
+struct callout {
+	union {
+		SLIST_ENTRY(callout) sle;
+		TAILQ_ENTRY(callout) tqe;
+	} c_links;
+	int	c_time;				/* ticks to the event */
+	void	*c_arg;				/* function argument */
+	void	(*c_func)(void *);		/* function to call */
+	struct lock_object *c_lock;		/* lock to handle */
+	int	c_flags;			/* state of this entry */
+	volatile int c_cpu;			/* CPU we're scheduled on */
+};
+
+#endif

Modified: projects/altix/sys/sys/callout.h
==============================================================================
--- projects/altix/sys/sys/callout.h	Wed Apr 27 01:45:05 2011	(r221105)
+++ projects/altix/sys/sys/callout.h	Wed Apr 27 02:12:01 2011	(r221106)
@@ -38,25 +38,7 @@
 #ifndef _SYS_CALLOUT_H_
 #define _SYS_CALLOUT_H_
 
-#include <sys/queue.h>
-
-struct lock_object;
-
-SLIST_HEAD(callout_list, callout);
-TAILQ_HEAD(callout_tailq, callout);
-
-struct callout {
-	union {
-		SLIST_ENTRY(callout) sle;
-		TAILQ_ENTRY(callout) tqe;
-	} c_links;
-	int	c_time;				/* ticks to the event */
-	void	*c_arg;				/* function argument */
-	void	(*c_func)(void *);		/* function to call */
-	struct lock_object *c_lock;		/* lock to handle */
-	int	c_flags;			/* state of this entry */
-	volatile int c_cpu;			/* CPU we're scheduled on */

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

From owner-svn-src-projects@FreeBSD.ORG  Wed Apr 27 02:41:26 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 905FB106564A;
	Wed, 27 Apr 2011 02:41:26 +0000 (UTC)
	(envelope-from linimon@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 7F1B08FC14;
	Wed, 27 Apr 2011 02:41:26 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3R2fQSg050061;
	Wed, 27 Apr 2011 02:41:26 GMT (envelope-from linimon@svn.freebsd.org)
Received: (from linimon@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3R2fQoc050059;
	Wed, 27 Apr 2011 02:41:26 GMT (envelope-from linimon@svn.freebsd.org)
Message-Id: <201104270241.p3R2fQoc050059@svn.freebsd.org>
From: Mark Linimon <linimon@FreeBSD.org>
Date: Wed, 27 Apr 2011 02:41:26 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221109 - projects/portbuild/scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 27 Apr 2011 02:41:26 -0000

Author: linimon (doc,ports committer)
Date: Wed Apr 27 02:41:26 2011
New Revision: 221109
URL: http://svn.freebsd.org/changeset/base/221109

Log:
  Correct path.

Modified:
  projects/portbuild/scripts/dosetupnode

Modified: projects/portbuild/scripts/dosetupnode
==============================================================================
--- projects/portbuild/scripts/dosetupnode	Wed Apr 27 02:35:57 2011	(r221108)
+++ projects/portbuild/scripts/dosetupnode	Wed Apr 27 02:41:26 2011	(r221109)
@@ -109,9 +109,9 @@ setup() {
     ${client_setup} post-copy ${args} || (echo "post-copy for ${node} failed"; return 1)
 
     if [ "${queue}" -eq 1 ]; then
-	jobs=$(python /var/portbuild/evil/qmanager/qclient jobs | grep "${node}" | grep "${arch}/${branch}/${buildid} package" | awk '{print $1}' | tail +1)
+	jobs=$(python /var/portbuild/qmanager/qclient jobs | grep "${node}" | grep "${arch}/${branch}/${buildid} package" | awk '{print $1}' | tail +1)
 	for j in ${jobs}; do
-	    python /var/portbuild/evil/qmanager/qclient release $j
+	    python /var/portbuild/qmanager/qclient release $j
 	done
     fi
 

From owner-svn-src-projects@FreeBSD.ORG  Wed Apr 27 04:11:18 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id AB92D1065673;
	Wed, 27 Apr 2011 04:11:18 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 99FC38FC08;
	Wed, 27 Apr 2011 04:11:18 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3R4BIc2053270;
	Wed, 27 Apr 2011 04:11:18 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3R4BIeW053266;
	Wed, 27 Apr 2011 04:11:18 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104270411.p3R4BIeW053266@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Wed, 27 Apr 2011 04:11:18 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221113 - in projects/altix/sys: conf ia64/ia64
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 27 Apr 2011 04:11:18 -0000

Author: marcel
Date: Wed Apr 27 04:11:18 2011
New Revision: 221113
URL: http://svn.freebsd.org/changeset/base/221113

Log:
  Move os_boot_rendez() from locore.S to mp_locore.S

Added:
  projects/altix/sys/ia64/ia64/mp_locore.S   (contents, props changed)
Modified:
  projects/altix/sys/conf/files.ia64
  projects/altix/sys/ia64/ia64/locore.S

Modified: projects/altix/sys/conf/files.ia64
==============================================================================
--- projects/altix/sys/conf/files.ia64	Wed Apr 27 04:03:04 2011	(r221112)
+++ projects/altix/sys/conf/files.ia64	Wed Apr 27 04:11:18 2011	(r221113)
@@ -92,6 +92,7 @@ ia64/ia64/locore.S		standard	no-obj
 ia64/ia64/machdep.c		standard
 ia64/ia64/mca.c			standard
 ia64/ia64/mem.c			optional	mem
+ia64/ia64/mp_locore.S		optional	smp
 ia64/ia64/mp_machdep.c		optional	smp
 ia64/ia64/nexus.c		standard
 ia64/ia64/pal.S			standard
@@ -122,7 +123,6 @@ ia64/sgisn/sgisn_shub.c		standard
 isa/syscons_isa.c		optional	sc
 isa/vga_isa.c			optional	vga
 kern/imgact_elf32.c		optional	compat_freebsd32
-kern/link_elf_obj.c		standard
 libkern/bcmp.c			standard
 libkern/ffsl.c			standard
 libkern/fls.c			standard

Modified: projects/altix/sys/ia64/ia64/locore.S
==============================================================================
--- projects/altix/sys/ia64/ia64/locore.S	Wed Apr 27 04:03:04 2011	(r221112)
+++ projects/altix/sys/ia64/ia64/locore.S	Wed Apr 27 04:11:18 2011	(r221113)
@@ -27,12 +27,10 @@
  * $FreeBSD$
  */
 
-#include <sys/syscall.h>
 #include <machine/asm.h>
 #include <machine/ia64_cpu.h>
 #include <machine/intrcnt.h>
 #include <machine/pte.h>
-#include <machine/intrcnt.h>
 #include <assym.s>
 
 /*
@@ -188,130 +186,6 @@ enter_userland:
 }
 END(fork_trampoline)
 
-#ifdef SMP
-/*
- * AP wake-up entry point. The handoff state is similar as for the BSP,
- * as described on page 3-9 of the IPF SAL Specification. The difference
- * lies in the contents of register b0. For APs this register holds the
- * return address into the SAL rendezvous routine.
- *
- * Note that we're responsible for clearing the IRR bit by reading cr.ivr
- * and issuing the EOI to the local SAPIC.
- */
-	.align	32
-ENTRY_NOPROFILE(os_boot_rendez,0)
-	mov	r16=cr.ivr	// clear IRR bit
-	;;
-	srlz.d
-	mov	cr.eoi=r0	// ACK the wake-up
-	;;
-	srlz.d
-	rsm	IA64_PSR_IC|IA64_PSR_I
-	;;
-	mov     r16 = (4<<8)|(16<<2)
-	movl    r17 = 4<<61
-	;;
-	mov     rr[r17] = r16
-	;;
-	srlz.d
-	mov	r16 = (5<<8)|(PAGE_SHIFT<<2)|1
-	movl	r17 = 5<<61
-	;;
-	mov	rr[r17] = r16
-	;;
-	srlz.d
-	mov	r16 = (6<<8)|(PAGE_SHIFT<<2)
-	movl	r17 = 6<<61
-	;;
-	mov	rr[r17] = r16
-	;;
-	srlz.d
-	mov	r16 = (7<<8)|(PAGE_SHIFT<<2)
-	movl	r17 = 7<<61
-	;;
-	mov	rr[r17] = r16
-	;;
-	srlz.d
-	mov	r18 = 28<<2
-	movl	r16 = PTE_PRESENT+PTE_MA_WB+PTE_ACCESSED+PTE_DIRTY+ \
-			PTE_PL_KERN+PTE_AR_RWX+PTE_ED
-	;;
-	mov	cr.ifa = r17
-	mov	cr.itir = r18
-	ptr.d	r17, r18
-	ptr.i	r17, r18
-	;;
-	srlz.i
-	;;
-	itr.d	dtr[r0] = r16
-	mov	r18 = IA64_DCR_DEFAULT
-	;;
-	itr.i	itr[r0] = r16
-	mov	cr.dcr = r18
-	;;
-	srlz.i
-	;;
-1:	mov	r16 = ip
-	add	r17 = 2f-1b, r17
-	movl	r18 = (IA64_PSR_AC|IA64_PSR_BN|IA64_PSR_DFH|IA64_PSR_DT|IA64_PSR_IC|IA64_PSR_IT|IA64_PSR_RT)
-	;;
-	add	r17 = r17, r16
-	mov	cr.ipsr = r18
-	mov	cr.ifs = r0
-	;;
-	mov	cr.iip = r17
-	;;
-	rfi
-
-	.align	32
-2:
-{	.mlx
-	mov	ar.rsc = 0
-	movl	r16 = ia64_vector_table			// set up IVT early
-	;;
-}
-{	.mlx
-	mov	cr.iva = r16
-	movl	r16 = ap_stack
-	;;
-}
-{	.mmi
-	srlz.i
-	;;
-	ld8	r16 = [r16]
-	mov	r18 = KSTACK_PAGES*PAGE_SIZE-SIZEOF_PCB-SIZEOF_TRAPFRAME-16
-	;;
-}
-{	.mlx
-	mov	ar.bspstore = r16
-	movl	gp = __gp
-	;;
-}
-{	.mmi
-	loadrs
-	;;
-	alloc	r17 = ar.pfs, 0, 0, 0, 0
-	add	sp = r18, r16
-	;;
-}
-{	.mib
-	mov	ar.rsc = 3
-	nop	0
-	br.call.sptk.few rp = ia64_ap_startup
-	;;
-}
-	/* NOT REACHED */
-9:
-{	.mib
-	nop	0
-	nop	0
-	br.sptk	9b
-	;;
-}
-END(os_boot_rendez)
-
-#endif /* !SMP */
-
 /*
  * Create a default interrupt name table. The first entry (vector 0) is
  * hardwaired to the clock interrupt.

Added: projects/altix/sys/ia64/ia64/mp_locore.S
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/altix/sys/ia64/ia64/mp_locore.S	Wed Apr 27 04:11:18 2011	(r221113)
@@ -0,0 +1,153 @@
+/*-
+ * Copyright (c) 2011 Marcel Moolenaar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#include <machine/asm.h>
+#include <machine/ia64_cpu.h>
+#include <machine/pte.h>
+#include <assym.s>
+
+/*
+ * AP wake-up entry point. The handoff state is similar as for the BSP,
+ * as described on page 3-9 of the IPF SAL Specification. The difference
+ * lies in the contents of register b0. For APs this register holds the
+ * return address into the SAL rendezvous routine.
+ *
+ * Note that we're responsible for clearing the IRR bit by reading cr.ivr
+ * and issuing the EOI to the local SAPIC.
+ */
+	.align	32
+ENTRY_NOPROFILE(os_boot_rendez,0)
+	mov	r16=cr.ivr	// clear IRR bit
+	;;
+	srlz.d
+	mov	cr.eoi=r0	// ACK the wake-up
+	;;
+	srlz.d
+	rsm	IA64_PSR_IC|IA64_PSR_I
+	;;
+	mov     r16 = (4<<8)|(16<<2)
+	movl    r17 = 4<<61
+	;;
+	mov     rr[r17] = r16
+	;;
+	srlz.d
+	mov	r16 = (5<<8)|(PAGE_SHIFT<<2)|1
+	movl	r17 = 5<<61
+	;;
+	mov	rr[r17] = r16
+	;;
+	srlz.d
+	mov	r16 = (6<<8)|(PAGE_SHIFT<<2)
+	movl	r17 = 6<<61
+	;;
+	mov	rr[r17] = r16
+	;;
+	srlz.d
+	mov	r16 = (7<<8)|(PAGE_SHIFT<<2)
+	movl	r17 = 7<<61
+	;;
+	mov	rr[r17] = r16
+	;;
+	srlz.d
+	mov	r18 = 28<<2
+	movl	r16 = PTE_PRESENT+PTE_MA_WB+PTE_ACCESSED+PTE_DIRTY+ \
+			PTE_PL_KERN+PTE_AR_RWX+PTE_ED
+	;;
+	mov	cr.ifa = r17
+	mov	cr.itir = r18
+	ptr.d	r17, r18
+	ptr.i	r17, r18
+	;;
+	srlz.i
+	;;
+	itr.d	dtr[r0] = r16
+	mov	r18 = IA64_DCR_DEFAULT
+	;;
+	itr.i	itr[r0] = r16
+	mov	cr.dcr = r18
+	;;
+	srlz.i
+	;;
+1:	mov	r16 = ip
+	add	r17 = 2f-1b, r17
+	movl	r18 = (IA64_PSR_AC|IA64_PSR_BN|IA64_PSR_DFH|IA64_PSR_DT|IA64_PSR_IC|IA64_PSR_IT|IA64_PSR_RT)
+	;;
+	add	r17 = r17, r16
+	mov	cr.ipsr = r18
+	mov	cr.ifs = r0
+	;;
+	mov	cr.iip = r17
+	;;
+	rfi
+
+	.align	32
+2:
+{	.mlx
+	mov	ar.rsc = 0
+	movl	r16 = ia64_vector_table			// set up IVT early
+	;;
+}
+{	.mlx
+	mov	cr.iva = r16
+	movl	r16 = ap_stack
+	;;
+}
+{	.mmi
+	srlz.i
+	;;
+	ld8	r16 = [r16]
+	mov	r18 = KSTACK_PAGES*PAGE_SIZE-SIZEOF_PCB-SIZEOF_TRAPFRAME-16
+	;;
+}
+{	.mlx
+	mov	ar.bspstore = r16
+	movl	gp = __gp
+	;;
+}
+{	.mmi
+	loadrs
+	;;
+	alloc	r17 = ar.pfs, 0, 0, 0, 0
+	add	sp = r18, r16
+	;;
+}
+{	.mib
+	mov	ar.rsc = 3
+	nop	0
+	br.call.sptk.few rp = ia64_ap_startup
+	;;
+}
+	/* NOT REACHED */
+9:
+{	.mib
+	nop	0
+	nop	0
+	br.sptk	9b
+	;;
+}
+END(os_boot_rendez)

From owner-svn-src-projects@FreeBSD.ORG  Wed Apr 27 09:10:59 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 2EE41106564A;
	Wed, 27 Apr 2011 09:10:59 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 1FB948FC1A;
	Wed, 27 Apr 2011 09:10:59 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3R9AxLZ062812;
	Wed, 27 Apr 2011 09:10:59 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3R9Axw1062810;
	Wed, 27 Apr 2011 09:10:59 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104270910.p3R9Axw1062810@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Wed, 27 Apr 2011 09:10:58 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221116 - projects/portbuild/scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 27 Apr 2011 09:10:59 -0000

Author: flz
Date: Wed Apr 27 09:10:58 2011
New Revision: 221116
URL: http://svn.freebsd.org/changeset/base/221116

Log:
  portbuild: screwed up a merge, fix path.
  
  ${pbc} only exist in a local branch, s/pbc/pb/.

Modified:
  projects/portbuild/scripts/dopackages

Modified: projects/portbuild/scripts/dopackages
==============================================================================
--- projects/portbuild/scripts/dopackages	Wed Apr 27 08:57:12 2011	(r221115)
+++ projects/portbuild/scripts/dopackages	Wed Apr 27 09:10:58 2011	(r221116)
@@ -678,7 +678,7 @@ if [ "$nobuild" = 0 ]; then
     fi
 
     # Compile ptimeout.
-    /usr/bin/gcc -o ${builddir}/ptimeout -Wall ${pbc}/sources/ptimeout.c
+    /usr/bin/gcc -o ${builddir}/ptimeout -Wall ${pb}/sources/ptimeout.c
     
     dobuild ${pb} ${arch} ${branch} ${builddir}
     

From owner-svn-src-projects@FreeBSD.ORG  Wed Apr 27 19:50:21 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 1BF9C1065673;
	Wed, 27 Apr 2011 19:50:21 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 0D11E8FC19;
	Wed, 27 Apr 2011 19:50:21 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3RJoKe4086831;
	Wed, 27 Apr 2011 19:50:20 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3RJoKUI086829;
	Wed, 27 Apr 2011 19:50:20 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104271950.p3RJoKUI086829@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Wed, 27 Apr 2011 19:50:20 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221136 - projects/altix/sys/ia64/ia64
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 27 Apr 2011 19:50:21 -0000

Author: marcel
Date: Wed Apr 27 19:50:20 2011
New Revision: 221136
URL: http://svn.freebsd.org/changeset/base/221136

Log:
  Do not register the OS boot rendezvous entry point here/now.
  We want to pass a GP value that is useful during the wakeup,
  such as the physical address of a structure containing all
  the information and state necessary to bootstrap an AP.
  As such, it's better done in mp_machdep.c.

Modified:
  projects/altix/sys/ia64/ia64/sal.c

Modified: projects/altix/sys/ia64/ia64/sal.c
==============================================================================
--- projects/altix/sys/ia64/ia64/sal.c	Wed Apr 27 19:46:57 2011	(r221135)
+++ projects/altix/sys/ia64/ia64/sal.c	Wed Apr 27 19:50:20 2011	(r221136)
@@ -101,10 +101,6 @@ ia64_sal_init(void)
 		}
 		case 5: {
 			struct sal_ap_wakeup_descriptor *dp;
-#ifdef SMP
-			struct ia64_sal_result result;
-			struct ia64_fdesc *fd;
-#endif
 
 			dp = (struct sal_ap_wakeup_descriptor*)p;
 			if (dp->sale_mechanism != 0) {
@@ -126,14 +122,6 @@ ia64_sal_init(void)
 			if (bootverbose)
 				printf("SAL: AP wake-up XIV: %#x\n",
 				    ia64_ipi_wakeup);
-
-#ifdef SMP
-			fd = (struct ia64_fdesc *) os_boot_rendez;
-			result = ia64_sal_entry(SAL_SET_VECTORS,
-			    SAL_OS_BOOT_RENDEZ, ia64_tpa(fd->func),
-			    ia64_tpa(fd->gp), 0, 0, 0, 0);
-#endif
-
 			break;
 		}
 		}

From owner-svn-src-projects@FreeBSD.ORG  Wed Apr 27 19:54:45 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D0E71106568B;
	Wed, 27 Apr 2011 19:54:45 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id A7A668FC29;
	Wed, 27 Apr 2011 19:54:45 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3RJsj6E087022;
	Wed, 27 Apr 2011 19:54:45 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3RJsjC0087019;
	Wed, 27 Apr 2011 19:54:45 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104271954.p3RJsjC0087019@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Wed, 27 Apr 2011 19:54:45 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221137 - in projects/altix/sys/ia64: ia64 include
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 27 Apr 2011 19:54:45 -0000

Author: marcel
Date: Wed Apr 27 19:54:45 2011
New Revision: 221137
URL: http://svn.freebsd.org/changeset/base/221137

Log:
  Dump WIP:
  o   Define a structure (ia64_ap_state) that contains all the
      information and state we need to bootstrap an AP. In
      particular, this now includes the PBVM mappings.
  o   Register the OS boot rendezvous function and pass the
      physical address of the state structure so that the AP
      can access it using GP relative references.

Modified:
  projects/altix/sys/ia64/ia64/mp_machdep.c
  projects/altix/sys/ia64/include/smp.h

Modified: projects/altix/sys/ia64/ia64/mp_machdep.c
==============================================================================
--- projects/altix/sys/ia64/ia64/mp_machdep.c	Wed Apr 27 19:50:20 2011	(r221136)
+++ projects/altix/sys/ia64/ia64/mp_machdep.c	Wed Apr 27 19:54:45 2011	(r221137)
@@ -70,12 +70,8 @@ void ia64_ap_startup(void);
 #define	SAPIC_ID_GET_EID(x)	((u_int)(x) & 0xff)
 #define	SAPIC_ID_SET(id, eid)	((u_int)(((id) & 0xff) << 8) | ((eid) & 0xff))
 
-/* Variables used by os_boot_rendez and ia64_ap_startup */
-struct pcpu *ap_pcpu;
-void *ap_stack;
-volatile int ap_delay;
-volatile int ap_awake;
-volatile int ap_spin;
+/* State used to wake and bootstrap APs. */
+struct ia64_ap_state ia64_ap_state;
 
 int ia64_ipi_ast;
 int ia64_ipi_highfp;
@@ -302,10 +298,16 @@ cpu_mp_announce()
 void
 cpu_mp_start()
 {
+	struct ia64_sal_result result;
+	struct ia64_fdesc *fd;
 	struct pcpu *pc;
 
 	ap_spin = 1;
 
+	fd = (struct ia64_fdesc *) os_boot_rendez;
+	result = ia64_sal_entry(SAL_SET_VECTORS, SAL_OS_BOOT_RENDEZ,
+	    ia64_tpa(fd->func), ia64_tpa(ia64_ap_state), 0, 0, 0, 0);
+
 	SLIST_FOREACH(pc, &cpuhead, pc_allcpu) {
 		pc->pc_md.current_pmap = kernel_pmap;
 		pc->pc_other_cpus = all_cpus & ~pc->pc_cpumask;

Modified: projects/altix/sys/ia64/include/smp.h
==============================================================================
--- projects/altix/sys/ia64/include/smp.h	Wed Apr 27 19:50:20 2011	(r221136)
+++ projects/altix/sys/ia64/include/smp.h	Wed Apr 27 19:54:45 2011	(r221137)
@@ -16,6 +16,24 @@
 
 struct pcpu;
 
+struct ia64_ap_state {
+	uint64_t	as_pgtbl_pa;
+	uint64_t	as_pgtbl_va;
+	uint32_t	as_pgtblsz;
+	uint64_t	as_text_pa;
+	uint64_t	as_text_va;
+	uint32_t	as_textsz;
+	uint64_t	as_data_pa;
+	uint64_t	as_data_va;
+	uint32_t	as_datasz;
+	uint64_t	as_kstack;
+	uint64_t	as_kstack_top;
+	struct pcpu	*as_pcpu;
+	volatile u_int	as_delay;
+	volatile u_int	as_awake;
+	volatile u_int	as_spin;
+};
+
 extern int ia64_ipi_ast;
 extern int ia64_ipi_highfp;
 extern int ia64_ipi_nmi;

From owner-svn-src-projects@FreeBSD.ORG  Thu Apr 28 00:40:23 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 7CDF5106566B;
	Thu, 28 Apr 2011 00:40:23 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 6AE6C8FC12;
	Thu, 28 Apr 2011 00:40:23 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3S0eNwW097560;
	Thu, 28 Apr 2011 00:40:23 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3S0eNJ1097559;
	Thu, 28 Apr 2011 00:40:23 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104280040.p3S0eNJ1097559@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Thu, 28 Apr 2011 00:40:23 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221146 - projects/altix/sys/ia64/conf
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 28 Apr 2011 00:40:23 -0000

Author: marcel
Date: Thu Apr 28 00:40:23 2011
New Revision: 221146
URL: http://svn.freebsd.org/changeset/base/221146

Log:
  Add kernel configuration for ALTIX.

Added:
  projects/altix/sys/ia64/conf/ALTIX

Added: projects/altix/sys/ia64/conf/ALTIX
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/altix/sys/ia64/conf/ALTIX	Thu Apr 28 00:40:23 2011	(r221146)
@@ -0,0 +1,70 @@
+# $FreeBSD$
+
+cpu		ITANIUM2
+ident		ALTIX
+
+makeoptions	DEBUG=-g
+makeoptions	MODULES_OVERRIDE=""
+
+device		ata
+device		atadisk
+device		bge
+device		bpf
+device		da
+device		ether
+device		firmware
+device		isp
+device		loop
+device		md
+device		miibus
+device		pass
+device		pci
+device		pty
+device		random
+device		scbus
+device		tun
+device		uart
+device		vlan
+
+#options 	ACPI_DEBUG
+options 	ALT_BREAK_TO_DEBUGGER
+options 	CD9660
+options 	DDB
+options 	DEADLKRES
+#options 	EXCEPTION_TRACING
+options 	FFS
+options 	GDB
+options 	INET
+options 	INET6
+options 	INVARIANTS
+options 	INVARIANT_SUPPORT
+options 	KDB
+options 	KTRACE
+options 	MD_ROOT
+options 	MSDOSFS
+options 	NFSCLIENT
+options 	NFSLOCKD
+options 	NFS_ROOT
+options 	NULLFS
+options 	P1003_1B_SEMAPHORES
+#options 	PREEMPTION
+options 	PRINTF_BUFR_SIZE=128
+options 	PROCFS
+options 	PSEUDOFS
+options 	SCHED_ULE
+options 	SCSI_DELAY=3000
+options 	SMP
+options 	SOFTUPDATES
+options 	SYSVMSG
+options 	SYSVSEM
+options 	SYSVSHM
+options 	TMPFS
+options 	UFS_DIRHASH
+options 	WITNESS
+options 	WITNESS_SKIPSPIN
+options 	_KPOSIX_PRIORITY_SCHEDULING
+
+#options 	KTR
+#options 	KTR_COMPILE=KTR_INTR
+#options 	KTR_MASK=KTR_INTR
+#options 	KTR_VERBOSE

From owner-svn-src-projects@FreeBSD.ORG  Thu Apr 28 03:33:12 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id E6821106566C;
	Thu, 28 Apr 2011 03:33:12 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id D2E988FC13;
	Thu, 28 Apr 2011 03:33:12 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3S3XCk4003318;
	Thu, 28 Apr 2011 03:33:12 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3S3XCCL003314;
	Thu, 28 Apr 2011 03:33:12 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104280333.p3S3XCCL003314@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Thu, 28 Apr 2011 03:33:12 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221147 - in projects/altix/sys/ia64: ia64 include
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 28 Apr 2011 03:33:13 -0000

Author: marcel
Date: Thu Apr 28 03:33:12 2011
New Revision: 221147
URL: http://svn.freebsd.org/changeset/base/221147

Log:
  Re-implement os_boot_rendez to work with PBVM.

Modified:
  projects/altix/sys/ia64/ia64/mp_locore.S
  projects/altix/sys/ia64/ia64/mp_machdep.c
  projects/altix/sys/ia64/include/smp.h

Modified: projects/altix/sys/ia64/ia64/mp_locore.S
==============================================================================
--- projects/altix/sys/ia64/ia64/mp_locore.S	Thu Apr 28 00:40:23 2011	(r221146)
+++ projects/altix/sys/ia64/ia64/mp_locore.S	Thu Apr 28 03:33:12 2011	(r221147)
@@ -42,86 +42,176 @@
  */
 	.align	32
 ENTRY_NOPROFILE(os_boot_rendez,0)
-	mov	r16=cr.ivr	// clear IRR bit
+{	.mmi
+	mov	r8 = cr.ivr		// clear IRR bit
 	;;
 	srlz.d
-	mov	cr.eoi=r0	// ACK the wake-up
+	mov	r16 = (IA64_PBVM_RR << 8) | (IA64_PBVM_PAGE_SHIFT << 2)
+}
+{	.mmi
+	mov	cr.eoi = r0		// ACK the wake-up
 	;;
 	srlz.d
-	rsm	IA64_PSR_IC|IA64_PSR_I
-	;;
-	mov     r16 = (4<<8)|(16<<2)
-	movl    r17 = 4<<61
+	dep.z	r17 = IA64_PBVM_RR, 61, 3
 	;;
+}
+{	.mmi
+	rsm	IA64_PSR_IC | IA64_PSR_I
 	mov     rr[r17] = r16
+	add	r2 = 8, r1
+	;;
+}
+{	.mlx
+	srlz.i
+	movl	r16 = IA64_PBVM_PGTBL
+	;;
+}
+{	.mmi
+	ld8	r17 = [r1], 16		// as_pgtbl_pte
+	ld8	r18 = [r2], 16		// as_pgtbl_itir
+	mov	r8 = r0
+	;;
+}
+{	.mmi
+	mov	cr.ifa = r16
+	mov	cr.itir = r18
+	mov	r9 = r0
 	;;
+}
+{	.mmi
 	srlz.d
-	mov	r16 = (5<<8)|(PAGE_SHIFT<<2)|1
-	movl	r17 = 5<<61
+	ptr.d	r16, r18
+	nop	0
 	;;
-	mov	rr[r17] = r16
+}
+{	.mmi
+	srlz.d
+	itr.d	dtr[r8] = r17
+	nop	0
 	;;
+}
+{	.mmi
 	srlz.d
-	mov	r16 = (6<<8)|(PAGE_SHIFT<<2)
-	movl	r17 = 6<<61
+	ld8	r16 = [r1], 16		// as_text_va
+	add	r8 = 1, r8
+	;;
+}
+{	.mmi
+	ld8	r17 = [r2], 16		// as_text_pte
+	ld8	r18 = [r1], 16		// as_text_itir
+	nop	0
 	;;
-	mov	rr[r17] = r16
+}
+{	.mmi
+	mov	cr.ifa = r16
+	mov	cr.itir = r18
+	nop	0
 	;;
+}
+{	.mmi
 	srlz.d
-	mov	r16 = (7<<8)|(PAGE_SHIFT<<2)
-	movl	r17 = 7<<61
+	ptr.d	r16, r18
+	nop	0
 	;;
-	mov	rr[r17] = r16
+}
+{	.mmi
+	srlz.d
+	itr.d	dtr[r8] = r17
+	nop	0
 	;;
+}
+{	.mmi
 	srlz.d
-	mov	r18 = 28<<2
-	movl	r16 = PTE_PRESENT+PTE_MA_WB+PTE_ACCESSED+PTE_DIRTY+ \
-			PTE_PL_KERN+PTE_AR_RWX+PTE_ED
+	ptr.i	r16, r18
+	add	r8 = 1, r8
 	;;
-	mov	cr.ifa = r17
-	mov	cr.itir = r18
-	ptr.d	r17, r18
-	ptr.i	r17, r18
+}
+{	.mmi
+	srlz.i
 	;;
+	itr.i	itr[r9] = r17
+	nop	0
+	;;
+}
+{	.mmi
 	srlz.i
 	;;
-	itr.d	dtr[r0] = r16
-	mov	r18 = IA64_DCR_DEFAULT
+	ld8	r16 = [r2], 16          // as_data_va
+	add	r9 = 1, r9
+	;;
+}
+{	.mmi
+	ld8	r17 = [r1], 16		// as_data_pte
+	ld8	r18 = [r2], 16		// as_data_itir
+	nop	0
 	;;
-	itr.i	itr[r0] = r16
-	mov	cr.dcr = r18
+}
+{	.mmi
+	mov	cr.ifa = r16
+	mov	cr.itir = r18
+	nop	0
 	;;
-	srlz.i
+}
+{	.mmi
+	srlz.d
+	ptr.d	r16, r18
+	nop	0
+	;;
+}
+{	.mmi
+	srlz.d
+	itr.d	dtr[r8] = r17
+	mov	r19 = IA64_DCR_DEFAULT
 	;;
-1:	mov	r16 = ip
-	add	r17 = 2f-1b, r17
-	movl	r18 = (IA64_PSR_AC|IA64_PSR_BN|IA64_PSR_DFH|IA64_PSR_DT|IA64_PSR_IC|IA64_PSR_IT|IA64_PSR_RT)
+}
+{	.mmi
+	srlz.d
+	ld8	r16 = [r1], 16		// as_kstack
+	add	r8 = 1, r8
 	;;
-	add	r17 = r17, r16
+}
+{	.mmi
+	ld8	r17 = [r2], 16		// as_kstack_top
+	mov	cr.dcr = r19
+	nop	0
+	;;
+}
+{	.mlx
+	srlz.i
+	movl	r18 = IA64_PSR_BN | IA64_PSR_IT | IA64_PSR_DT | IA64_PSR_IC | \
+			IA64_PSR_RT | IA64_PSR_DFH
+	;;
+}
+1:
+{	.mii
 	mov	cr.ipsr = r18
-	mov	cr.ifs = r0
+	mov	r19 = ip
 	;;
-	mov	cr.iip = r17
+	add	r19 = 2f-1b, r19
 	;;
+}
+{	.mmi
+	mov	cr.ifs = r0
+	mov	cr.iip = r19
+	nop	0
+	;;
+}
+
 	rfi
+	;;
 
 	.align	32
 2:
 {	.mlx
 	mov	ar.rsc = 0
-	movl	r16 = ia64_vector_table			// set up IVT early
-	;;
-}
-{	.mlx
-	mov	cr.iva = r16
-	movl	r16 = ap_stack
+	movl	r18 = ia64_vector_table		// set up IVT early
 	;;
 }
 {	.mmi
-	srlz.i
+	mov	cr.iva = r18
 	;;
-	ld8	r16 = [r16]
-	mov	r18 = KSTACK_PAGES*PAGE_SIZE-SIZEOF_PCB-SIZEOF_TRAPFRAME-16
+	srlz.i
+	nop	0
 	;;
 }
 {	.mlx
@@ -132,8 +222,8 @@ ENTRY_NOPROFILE(os_boot_rendez,0)
 {	.mmi
 	loadrs
 	;;
-	alloc	r17 = ar.pfs, 0, 0, 0, 0
-	add	sp = r18, r16
+	alloc	r18 = ar.pfs, 0, 0, 0, 0
+	add	sp = -16, r17
 	;;
 }
 {	.mib

Modified: projects/altix/sys/ia64/ia64/mp_machdep.c
==============================================================================
--- projects/altix/sys/ia64/ia64/mp_machdep.c	Thu Apr 28 00:40:23 2011	(r221146)
+++ projects/altix/sys/ia64/ia64/mp_machdep.c	Thu Apr 28 03:33:12 2011	(r221147)
@@ -174,7 +174,7 @@ ia64_ap_startup(void)
 {
 	uint64_t vhpt;
 
-	pcpup = ap_pcpu;
+	pcpup = ia64_ap_state.as_pcpu;
 	ia64_set_k4((intptr_t)pcpup);
 
 	vhpt = PCPU_GET(md.vhpt);
@@ -182,8 +182,8 @@ ia64_ap_startup(void)
 	ia64_set_pta(vhpt + (1 << 8) + (pmap_vhpt_log2size << 2) + 1);
 	ia64_srlz_i();
 
-	ap_awake = 1;
-	ap_delay = 0;
+	ia64_ap_state.as_awake = 1;
+	ia64_ap_state.as_delay = 0;
 
 	map_pal_code();
 	map_gateway_page();
@@ -191,14 +191,14 @@ ia64_ap_startup(void)
 	ia64_set_fpsr(IA64_FPSR_DEFAULT);
 
 	/* Wait until it's time for us to be unleashed */
-	while (ap_spin)
+	while (ia64_ap_state.as_spin)
 		cpu_spinwait();
 
 	/* Initialize curthread. */
 	KASSERT(PCPU_GET(idlethread) != NULL, ("no idle thread"));
 	PCPU_SET(curthread, PCPU_GET(idlethread));
 
-	atomic_add_int(&ap_awake, 1);
+	atomic_add_int(&ia64_ap_state.as_awake, 1);
 	while (!smp_started)
 		cpu_spinwait();
 
@@ -301,28 +301,32 @@ cpu_mp_start()
 	struct ia64_sal_result result;
 	struct ia64_fdesc *fd;
 	struct pcpu *pc;
+	u_char *stp;
 
-	ap_spin = 1;
+	ia64_ap_state.as_spin = 1;
 
 	fd = (struct ia64_fdesc *) os_boot_rendez;
 	result = ia64_sal_entry(SAL_SET_VECTORS, SAL_OS_BOOT_RENDEZ,
-	    ia64_tpa(fd->func), ia64_tpa(ia64_ap_state), 0, 0, 0, 0);
+	    ia64_tpa(fd->func), ia64_tpa((uintptr_t)&ia64_ap_state),
+	    0, 0, 0, 0);
 
 	SLIST_FOREACH(pc, &cpuhead, pc_allcpu) {
 		pc->pc_md.current_pmap = kernel_pmap;
 		pc->pc_other_cpus = all_cpus & ~pc->pc_cpumask;
 		if (pc->pc_cpuid > 0) {
-			ap_pcpu = pc;
+			ia64_ap_state.as_pcpu = pc;
 			pc->pc_md.vhpt = pmap_alloc_vhpt();
 			if (pc->pc_md.vhpt == 0) {
 				printf("SMP: WARNING: unable to allocate VHPT"
 				    " for cpu%d", pc->pc_cpuid);
 				continue;
 			}
-			ap_stack = malloc(KSTACK_PAGES * PAGE_SIZE, M_SMP,
-			    M_WAITOK);
-			ap_delay = 2000;
-			ap_awake = 0;
+			stp = malloc(KSTACK_PAGES * PAGE_SIZE, M_SMP, M_WAITOK);
+			ia64_ap_state.as_kstack = stp;
+			ia64_ap_state.as_kstack_top = stp + KSTACK_PAGES *
+			    PAGE_SIZE - 16;
+			ia64_ap_state.as_delay = 2000;
+			ia64_ap_state.as_awake = 0;
 
 			if (bootverbose)
 				printf("SMP: waking up cpu%d\n", pc->pc_cpuid);
@@ -331,10 +335,10 @@ cpu_mp_start()
 
 			do {
 				DELAY(1000);
-			} while (--ap_delay > 0);
-			pc->pc_md.awake = ap_awake;
+			} while (--ia64_ap_state.as_delay > 0);
+			pc->pc_md.awake = ia64_ap_state.as_awake;
 
-			if (!ap_awake)
+			if (!ia64_ap_state.as_awake)
 				printf("SMP: WARNING: cpu%d did not wake up\n",
 				    pc->pc_cpuid);
 		} else
@@ -374,10 +378,10 @@ cpu_mp_unleash(void *dummy)
 		}
 	}
 
-	ap_awake = 1;
-	ap_spin = 0;
+	ia64_ap_state.as_awake = 1;
+	ia64_ap_state.as_spin = 0;
 
-	while (ap_awake != smp_cpus)
+	while (ia64_ap_state.as_awake != smp_cpus)
 		cpu_spinwait();
 
 	if (smp_cpus != cpus || cpus != mp_ncpus) {

Modified: projects/altix/sys/ia64/include/smp.h
==============================================================================
--- projects/altix/sys/ia64/include/smp.h	Thu Apr 28 00:40:23 2011	(r221146)
+++ projects/altix/sys/ia64/include/smp.h	Thu Apr 28 03:33:12 2011	(r221147)
@@ -17,17 +17,16 @@
 struct pcpu;
 
 struct ia64_ap_state {
-	uint64_t	as_pgtbl_pa;
-	uint64_t	as_pgtbl_va;
-	uint32_t	as_pgtblsz;
-	uint64_t	as_text_pa;
+	uint64_t	as_pgtbl_pte;
+	uint64_t	as_pgtbl_itir;
 	uint64_t	as_text_va;
-	uint32_t	as_textsz;
-	uint64_t	as_data_pa;
+	uint64_t	as_text_pte;
+	uint64_t	as_text_itir;
 	uint64_t	as_data_va;
-	uint32_t	as_datasz;
-	uint64_t	as_kstack;
-	uint64_t	as_kstack_top;
+	uint64_t	as_data_pte;
+	uint64_t	as_data_itir;
+	void		*as_kstack;
+	void		*as_kstack_top;
 	struct pcpu	*as_pcpu;
 	volatile u_int	as_delay;
 	volatile u_int	as_awake;

From owner-svn-src-projects@FreeBSD.ORG  Thu Apr 28 11:06:15 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 67AF0106564A;
	Thu, 28 Apr 2011 11:06:15 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 533778FC16;
	Thu, 28 Apr 2011 11:06:15 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3SB6FmZ020096;
	Thu, 28 Apr 2011 11:06:15 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3SB6Fwc020072;
	Thu, 28 Apr 2011 11:06:15 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104281106.p3SB6Fwc020072@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Thu, 28 Apr 2011 11:06:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221159 - in projects/portbuild: qmanager scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 28 Apr 2011 11:06:15 -0000

Author: flz
Date: Thu Apr 28 11:06:14 2011
New Revision: 221159
URL: http://svn.freebsd.org/changeset/base/221159

Log:
  portbuild: remove hardcoded /var/portbuild.
  
  - Don't hardcode /var/portbuild.
  - Upload per-build scripts/ and sources/ directories.
  - Scripts which aren't tied to a specific build are uploaded first.
  
  This change makes it effectively possible to checkout portbuild
  anywhere and test changes without affecting any other builds.

Modified:
  projects/portbuild/qmanager/dumpdb.py
  projects/portbuild/qmanager/packagebuild
  projects/portbuild/qmanager/qmanager
  projects/portbuild/qmanager/qmanager.py
  projects/portbuild/scripts/allgohans
  projects/portbuild/scripts/build
  projects/portbuild/scripts/buildenv
  projects/portbuild/scripts/buildfailure
  projects/portbuild/scripts/buildproxy
  projects/portbuild/scripts/buildproxy-client
  projects/portbuild/scripts/buildsuccess
  projects/portbuild/scripts/claim-chroot
  projects/portbuild/scripts/clean-chroot
  projects/portbuild/scripts/cleanup-chroots
  projects/portbuild/scripts/client-metrics
  projects/portbuild/scripts/cpdistfiles
  projects/portbuild/scripts/cppackages
  projects/portbuild/scripts/do-cleanup-chroots
  projects/portbuild/scripts/docppackages
  projects/portbuild/scripts/dodistfiles
  projects/portbuild/scripts/dologs
  projects/portbuild/scripts/dopackages
  projects/portbuild/scripts/dopackages.wrapper
  projects/portbuild/scripts/dopackagestats
  projects/portbuild/scripts/dosetupnode
  projects/portbuild/scripts/flushsquid
  projects/portbuild/scripts/keeprestr
  projects/portbuild/scripts/makeduds
  projects/portbuild/scripts/makeindex
  projects/portbuild/scripts/makerestr
  projects/portbuild/scripts/makeworld
  projects/portbuild/scripts/mkbindist
  projects/portbuild/scripts/pdispatch
  projects/portbuild/scripts/pollmachine
  projects/portbuild/scripts/portbuild
  projects/portbuild/scripts/processfail
  projects/portbuild/scripts/processlogs
  projects/portbuild/scripts/prunefailure
  projects/portbuild/scripts/reportload
  projects/portbuild/scripts/setupnode
  projects/portbuild/scripts/stats
  projects/portbuild/scripts/updatesnap
  projects/portbuild/scripts/updatesnap.ports

Modified: projects/portbuild/qmanager/dumpdb.py
==============================================================================
--- projects/portbuild/qmanager/dumpdb.py	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/qmanager/dumpdb.py	Thu Apr 28 11:06:14 2011	(r221159)
@@ -4,17 +4,21 @@
 
 import sys, os, threading, socket, Queue 
 
+pbc = os.getenv('PORTBUILD_CHECKOUT') \
+    if os.getenv('PORTBUILD_CHECKOUT') else "/var/portbuild"
+pbd = os.getenv('PORTBUILD_DATA') \
+    if os.getenv('PORTBUILD_DATA') else "/var/portbuild"
+
+sys.path.insert(0, '%s/lib/python' % pbc)
+
 from signal import *
 from sys import exc_info
 from itertools import chain
 
-sys.path.insert(0, '/var/portbuild/lib/python')
-
 from freebsd_config import *
 
 from qmanagerobj import *
 
-CONFIG_DIR="/var/portbuild"
 CONFIG_SUBDIR="conf"
 CONFIG_FILENAME="server.conf"
 
@@ -127,7 +131,7 @@ def show_machines_for_arch( engine, arch
 if __name__ == '__main__':
 
     print "acquiring engine and session"
-    config = getConfig( CONFIG_DIR, CONFIG_SUBDIR, CONFIG_FILENAME )
+    config = getConfig( pbc, CONFIG_SUBDIR, CONFIG_FILENAME )
     QMANAGER_PATH = config.get( 'QMANAGER_PATH' )
     QMANAGER_DATABASE_FILE = config.get( 'QMANAGER_DATABASE_FILE' )
     (engine, session) = obj_startup( \

Modified: projects/portbuild/qmanager/packagebuild
==============================================================================
--- projects/portbuild/qmanager/packagebuild	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/qmanager/packagebuild	Thu Apr 28 11:06:14 2011	(r221159)
@@ -32,31 +32,33 @@
 # * check mtime for package staleness (cf make)
 # * option to skip phase 2
 
+import os
 import sys
 
-sys.path.insert(0, '/var/portbuild/lib/python')
+pbc = os.getenv('PORTBUILD_CHECKOUT') \
+    if os.getenv('PORTBUILD_CHECKOUT') else "/var/portbuild"
+pbd = os.getenv('PORTBUILD_DATA') \
+    if os.getenv('PORTBUILD_DATA') else "/var/portbuild"
 
-from qmanagerclient import *
+sys.path.insert(0, '%s/lib/python' % pbc)
 
+from qmanagerclient import *
 from freebsd_config import *
 
-import os, string, threading, time, subprocess
-#import random
+import string, threading, time, subprocess
 from itertools import chain
-#import gc
 from stat import *
 
 from Queue import Queue
 from heapq import *
 
-CONFIG_DIR="/var/portbuild"
 CONFIG_SUBDIR="conf"
 CONFIG_FILENAME="server.conf"
 
-config = getConfig( CONFIG_DIR, CONFIG_SUBDIR, CONFIG_FILENAME )
+config = getConfig( pbc, CONFIG_SUBDIR, CONFIG_FILENAME )
 QMANAGER_MAX_JOB_ATTEMPTS   = int( \
     config.get( 'QMANAGER_MAX_JOB_ATTEMPTS' ) )
-QMANAGER_PRIORITY_PACKAGES  = string.split( \
+QMANAGER_PRIORITY_PACKAGES = string.split( \
     config.get( 'QMANAGER_PRIORITY_PACKAGES' ) )
 QMANAGER_RUNAWAY_PERCENTAGE = float( \
     config.get( 'QMANAGER_RUNAWAY_PERCENTAGE' ) )
@@ -323,8 +325,8 @@ they still need to know about us as depe
     def packagename(self, arch, branch, buildid):
         """ Return the path where a package may be found"""
 
-        return "/var/portbuild/%s/%s/builds/%s/packages/All/%s.tbz" \
-            % (arch, branch, buildid, self.name)
+        return "%s/%s/%s/builds/%s/packages/All/%s.tbz" \
+            % (pbd, arch, branch, buildid, self.name)
 
     def is_stale(self, arch, branch, buildid):
         """ Does a package need to be (re)-built?
@@ -409,6 +411,7 @@ class worker(threading.Thread):
         self.branch = branch
         self.buildid = buildid
         self.queue = queue
+        self.basedir = pbd+"/"+arch+"/"+branch+"/builds/"+buildid
 
         self.setDaemon(True)
 
@@ -422,19 +425,19 @@ class worker(threading.Thread):
             print
         try:
             runenv={'HOME':"/root",
-                 'PATH':'/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/var/portbuild/scripts',
+                 'PATH':'/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:%s/scripts' + pbc,
                  'FD':" ".join(["%s.tbz" % p.name for p in pkg.fdep]),
                  'ED':" ".join(["%s.tbz" % p.name for p in pkg.edep]),
                  'PD':" ".join(["%s.tbz" % p.name for p in pkg.pdep]),
                  'BD':" ".join(["%s.tbz" % p.name for p in pkg.bdep]),
                  'RD':" ".join(["%s.tbz" % p.name for p in pkg.rdep])}
-	    for var in ["NOCLEAN", "NO_RESTRICTED", "NOPLISTCHECK", "NO_DISTFILES", "FETCH_ORIGINAL", "TRYBROKEN" ]:
+	    for var in ["NOCLEAN", "NO_RESTRICTED", "NOPLISTCHECK", "NO_DISTFILES", "FETCH_ORIGINAL", "TRYBROKEN", "PORTBUILD_CHECKOUT", "PORTBUILD_DATA" ]:
 	         if var in os.environ:
 		     runenv[var] = os.environ.get(var)
             build = subprocess.Popen(
-                ["/bin/sh", "/var/portbuild/scripts/pdispatch",
+                ["/bin/sh", "%s/scripts/pdispatch" % pbc,
                  self.arch, self.branch, self.buildid, self.machine,
-                 "/var/portbuild/scripts/portbuild", "%s.tbz" % pkg.name,
+                 "%s/scripts/portbuild" % self.basedir, "%s.tbz" % pkg.name,
                  pkg.path],
 		 env=runenv,    
                 stderr=subprocess.STDOUT, stdout=subprocess.PIPE, bufsize=0)
@@ -506,7 +509,7 @@ class worker(threading.Thread):
 def main(arch, branch, buildid, args):
     global index
 
-    basedir="/var/portbuild/"+arch+"/"+branch+"/builds/"+buildid
+    basedir=pbd+"/"+arch+"/"+branch+"/builds/"+buildid
     portsdir=basedir+"/ports"
 
     # get the major branch number.

Modified: projects/portbuild/qmanager/qmanager
==============================================================================
--- projects/portbuild/qmanager/qmanager	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/qmanager/qmanager	Thu Apr 28 11:06:14 2011	(r221159)
@@ -49,11 +49,15 @@
 #     - OR, NOT job description entries
 #     - query jobs.machine properties
 
+import os
 import sys
 
-sys.path.insert(0, '/var/portbuild/lib/python')
+pbc = os.getenv('PORTBUILD_CHECKOUT') \
+    if os.getenv('PORTBUILD_CHECKOUT') else "/var/portbuild"
+pbd = os.getenv('PORTBUILD_DATA') \
+    if os.getenv('PORTBUILD_DATA') else "/var/portbuild"
 
-from freebsd_config import *
+sys.path.insert(0, '%s/lib/python' % pbc)
 
 import os, threading, socket, Queue
 
@@ -61,12 +65,12 @@ from signal import *
 from itertools import chain
 
 from qmanagerobj import *
+from freebsd_config import *
 
-CONFIG_DIR="/var/portbuild"
 CONFIG_SUBDIR="conf"
 CONFIG_FILENAME="server.conf"
 
-config = getConfig( CONFIG_DIR, CONFIG_SUBDIR, CONFIG_FILENAME )
+config = getConfig( pbc, CONFIG_SUBDIR, CONFIG_FILENAME )
 QMANAGER_SOCKET_FILE = config.get( 'QMANAGER_SOCKET_FILE' )
 
 class Worker(object):

Modified: projects/portbuild/qmanager/qmanager.py
==============================================================================
--- projects/portbuild/qmanager/qmanager.py	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/qmanager/qmanager.py	Thu Apr 28 11:06:14 2011	(r221159)
@@ -49,24 +49,28 @@
 #     - OR, NOT job description entries
 #     - query jobs.machine properties
 
+import os
 import sys
 
-sys.path.insert(0, '/var/portbuild/lib/python')
+pbc = os.getenv('PORTBUILD_CHECKOUT') \
+    if os.getenv('PORTBUILD_CHECKOUT') else "/var/portbuild"
+pbd = os.getenv('PORTBUILD_DATA') \
+    if os.getenv('PORTBUILD_DATA') else "/var/portbuild"
 
-from freebsd_config import *
+sys.path.insert(0, '%s/lib/python' % pbc)
 
-import os, socket, threading, time, Queue
+import socket, threading, time, Queue
 
 from signal import *
 from itertools import chain
 
 from qmanagerobj import *
+from freebsd_config import *
 
-CONFIG_DIR="/var/portbuild"
 CONFIG_SUBDIR="conf"
 CONFIG_FILENAME="server.conf"
 
-config = getConfig( CONFIG_DIR, CONFIG_SUBDIR, CONFIG_FILENAME )
+config = getConfig( pbc, CONFIG_SUBDIR, CONFIG_FILENAME )
 QMANAGER_SOCKET_FILE = config.get( 'QMANAGER_SOCKET_FILE' )
 
 DEBUG = True

Modified: projects/portbuild/scripts/allgohans
==============================================================================
--- projects/portbuild/scripts/allgohans	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/allgohans	Thu Apr 28 11:06:14 2011	(r221159)
@@ -1,30 +1,46 @@
 #!/bin/sh
 
+pbc=${PORTBUILD_CHECKOUT:-/var/portbuild}
+pbd=${PORTBUILD_DATA:-/var/portbuild}
+
+. ${pbc}/conf/server.conf
+
 doarch() {
     arch=$1
     shift
 
-    if [ -f "${pb}/${arch}/portbuild.conf" ]; then
-	. ${pb}/${arch}/portbuild.conf
+    if [ -f "${pbd}/${arch}/portbuild.conf" ]; then
+	. ${pbd}/${arch}/portbuild.conf
     else
 	echo "Invalid arch"
 	exit 1
     fi
 
-    machines=$(awk '{print $1}' ${pb}/${arch}/mlist)
+    machines=$(awk '{print $1}' ${pbd}/${arch}/mlist)
 
     for i in ${machines}; do
-	. ${pb}/${arch}/portbuild.conf
-	if [ -f "${pb}/${arch}/portbuild.${i}" ]; then
-	    . ${pb}/${arch}/portbuild.${i}
+	. ${pbd}/${arch}/portbuild.conf
+	if [ -f "${pbd}/${arch}/portbuild.${i}" ]; then
+	    . ${pbd}/${arch}/portbuild.${i}
 	fi
 	if [ ${quiet} -eq 0 ]; then
 	    echo "[$i]"
 	fi
-	lockf -t 60 ${pb}/${arch}/lockfiles/lock.$i su ports-${arch} -c "ssh ${client_user}@$i ${sudo_cmd} $@"
+	cmdpath=${cmd}
+	if [ ${scpfirst} -ne 0 ]; then
+	    # If we need to scp first, the command given in the parameters is the local
+	    # path, which we need to upload first. The command will return the remote
+	    # temporary file, which we can subsequently execute. So this isn't really scp.
+	    cmdpath=$(su ports-${arch} -c "cat ${cmd} | ssh ${client_user}@$i 't=\$(mktemp -t ${cmd##*/}); cat >\$t; echo \$t; chmod 755 \$t'")
+	    case ${cmdpath} in /tmp/*) ;; *) echo "Failed to scp ${cmd} to $i."; return 1;; esac
+	fi
+	lockf -t 60 ${pbd}/${arch}/lockfiles/lock.$i su ports-${arch} -c "ssh ${client_user}@$i ${sudo_cmd} ${cmdpath} $@"
 	result=$?
 	if [ $result -ne 0 ]; then
-	    echo "could not execute command $@ on $i: $result"
+	    echo "could not execute command ${cmdpath} $@ on $i: $result"
+	fi
+	if [ ${scpfirst} -ne 0 ]; then
+	    su ports-${arch} -c "ssh ${client_user}@$i 'rm -f ${cmdpath}'"
 	fi
     done
 }
@@ -39,6 +55,7 @@ else
 	root=0
 fi
 
+# XXX - Have to convert this to getopt().
 if [ "$1" = "-q" ]; then
 	quiet=1
 	shift
@@ -46,11 +63,18 @@ else
 	quiet=0
 fi
 
-pb=/var/portbuild
-. ${pb}/conf/server.conf
+if [ "$1" = "-scp" ]; then
+	scpfirst=1
+	shift
+else
+	scpfirst=0
+fi
+
+cmd=$1
+shift
 
 if [ "${arch}" = "all" ]; then
-    arches=$(find ${pb}/*/portbuild.conf)
+    arches=$(find ${pbd}/*/portbuild.conf)
     for i in ${arches}; do
 	arch=$(basename $(dirname $i))
 	doarch $arch "$@"

Modified: projects/portbuild/scripts/build
==============================================================================
--- projects/portbuild/scripts/build	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/build	Thu Apr 28 11:06:14 2011	(r221159)
@@ -4,7 +4,8 @@
 # server-side script to handle various commands common to builds
 
 # configurable variables
-pb=/var/portbuild
+pbc=${PORTBUILD_CHECKOUT:-/var/portbuild}
+pbd=${PORTBUILD_DATA:-/var/portbuild}
 
 # subdirectories to process.  yes, this is a hack, but it saves code
 # duplication.
@@ -25,7 +26,7 @@ do_list() {
     arch=$1
     branch=$2
 
-    buildpar=/var/portbuild/${arch}/${branch}/builds
+    buildpar=${pbd}/${arch}/${branch}/builds
 
     if [ -d ${buildpar} ]; then
 	snaps=$(cd ${buildpar}; ls -1d 2* 2> /dev/null)
@@ -51,7 +52,7 @@ do_create() {
     buildid=$3
     shift 3
 
-    archivedir=${pb}/${arch}/archive
+    archivedir=${pbd}/${arch}/archive
 
     # create directory for all build logs
     buildlogsdir=${archivedir}/buildlogs
@@ -93,8 +94,7 @@ do_create() {
     ln -sf ${builddir} ${pbab}/builds/latest
 
     # create the links for the webserver
-    # XXX MCL hardcoding
-    errorlogs=/var/portbuild/errorlogs
+    errorlogs=${pbd}/errorlogs
 
     ln -s ${buildsdir}/latest/bak/errors ${errorlogs}/${arch}-${branch}-previous
     ln -s ${buildsdir}/latest/bak/logs ${errorlogs}/${arch}-${branch}-previous-logs
@@ -148,7 +148,7 @@ do_clone() {
 
     if [ -d ${newbuilddir} ]; then
 	if [ ! -f ${pbab}/builds/previous/.keep ]; then
-	    /var/portbuild/scripts/build destroy ${arch} ${branch} previous
+	    ${pbc}/scripts/build destroy ${arch} ${branch} previous
 	fi
         rm -f ${pbab}/builds/previous
 	mv ${pbab}/builds/latest ${pbab}/builds/previous
@@ -251,10 +251,10 @@ cleanup_client() {
 
     echo "Started cleaning up ${arch}/${branch} build ID ${buildid} on ${mach}"
 
-    test -f ${pb}/${arch}/portbuild.${mach} && . ${pb}/${arch}/portbuild.${mach}
+    test -f ${pbd}/${arch}/portbuild.${mach} && . ${pbd}/${arch}/portbuild.${mach}
 
     # Kill off builds and clean up chroot
-    ${pb}/scripts/dosetupnode ${arch} ${branch} ${buildid} ${mach} -nocopy -queue -full
+    ${pbc}/scripts/dosetupnode ${arch} ${branch} ${buildid} ${mach} -nocopy -queue -full
 
     echo "Finished cleaning up ${arch}/${branch} build ID ${buildid} on ${mach}"
 }
@@ -267,7 +267,7 @@ do_cleanup() {
     arg=$5
     shift 5
 
-    for i in `cat ${pb}/${arch}/mlist`; do
+    for i in `cat ${pbd}/${arch}/mlist`; do
 	cleanup_client ${arch} ${branch} ${buildid} ${i} ${arg} &
     done
     wait
@@ -394,7 +394,7 @@ do_destroy() {
     shift 4
 
     echo
-    buildid=$(resolve ${pb} ${arch} ${branch} ${buildid})
+    buildid=$(resolve ${pbd} ${arch} ${branch} ${buildid})
     if [ -z "${buildid}" ]; then
 	echo "Invalid build ID ${buildid}"
 	exit 1
@@ -435,7 +435,7 @@ proxy_root() {
 
     id=$(id -u)
     if [ ${id} != "0" ]; then
-	/var/portbuild/scripts/buildproxy-client "build ${cmd} ${arch} ${branch} ${buildid} ${args}"
+	${pbc}/scripts/buildproxy-client "build ${cmd} ${arch} ${branch} ${buildid} ${args}"
 	error=$?
 	if [ ${error} -eq 254 ]; then
 	    echo "Proxy error"
@@ -463,7 +463,7 @@ proxy_user() {
 	eval "do_${cmd} ${arch} ${branch} ${buildid} \"${builddir}\" ${args}"
 	error=$?
     else
-	su ports-${arch} -c "/var/portbuild/scripts/build ${cmd} ${arch} ${branch} ${buildid} \"${builddir}\" ${args}"
+	su ports-${arch} -c "${pbc}/scripts/build ${cmd} ${arch} ${branch} ${buildid} \"${builddir}\" ${args}"
 	error=$?
     fi
 
@@ -486,11 +486,11 @@ arch=$2
 branch=$3
 shift 3
 
-. ${pb}/conf/server.conf
-. ${pb}/${arch}/portbuild.conf
-. ${pb}/scripts/buildenv
+. ${pbc}/conf/server.conf
+. ${pbd}/${arch}/portbuild.conf
+. ${pbc}/scripts/buildenv
 
-pbab=${pb}/${arch}/${branch}
+pbab=${pbd}/${arch}/${branch}
 
 validate_env ${arch} ${branch} || exit 1
 
@@ -505,7 +505,7 @@ if [ $# -ge 1 ]; then
     case "$cmd" in
 	cleanup)
 	    # Resolve symlinks but don't bail if the build doesn't exist.
-	    newbuildid=$(resolve ${pb} ${arch} ${branch} ${buildid})
+	    newbuildid=$(resolve ${pbd} ${arch} ${branch} ${buildid})
 	    if [ ! -z "${newbuildid}" -a "${newbuildid}" != "${buildid}" ]; then
 		echo "Resolved ${buildid} to ${newbuildid}"
 		buildid=${newbuildid}
@@ -527,7 +527,7 @@ if [ $# -ge 1 ]; then
 	    # We can't rely on buildenv for this code path
 	    ;;
 	*)
-	    newbuildid=$(resolve ${pb} ${arch} ${branch} ${buildid})
+	    newbuildid=$(resolve ${pbd} ${arch} ${branch} ${buildid})
 	    if [ -z "${newbuildid}" ]; then
 		echo "Build ID ${buildid} does not exist"
 		exit 1
@@ -539,7 +539,7 @@ if [ $# -ge 1 ]; then
 
 	    builddir=$(realpath ${pbab}/builds/${buildid}/)
 
-	    buildenv ${pb} ${arch} ${branch} ${builddir}
+	    buildenv ${pbd} ${arch} ${branch} ${builddir}
 	    ;;
     esac
 fi

Modified: projects/portbuild/scripts/buildenv
==============================================================================
--- projects/portbuild/scripts/buildenv	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/buildenv	Thu Apr 28 11:06:14 2011	(r221159)
@@ -40,7 +40,7 @@ validate_env() {
 
 # only used on server side
 resolve() {
-    pb=$1
+    pbd=$1
     arch=$2
     branch=$3
     buildid=$4
@@ -48,7 +48,7 @@ resolve() {
     # Resolve a possibly symlinked buildid (e.g. "latest") to the
     # underlying physical directory
 
-    pbab=${pb}/${arch}/${branch}
+    pbab=${pbd}/${arch}/${branch}
     builddir=${pbab}/builds/${buildid}/
 
     if [ ! -d ${builddir} ]; then
@@ -83,7 +83,7 @@ export_src_metadata() {
 # establish commonly-used environment variables (server-side)
 #
 buildenv () {
-    pb=$1
+    pbd=$1
     arch=$2
     branch=$3
     builddir=$4
@@ -139,7 +139,7 @@ buildenv () {
     fi
 
     # probably only used in mkbindist
-    export __MAKE_CONF=${pb}/${arch}/make.conf
+    export __MAKE_CONF=${pbd}/${arch}/make.conf
 }
 
 #

Modified: projects/portbuild/scripts/buildfailure
==============================================================================
--- projects/portbuild/scripts/buildfailure	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/buildfailure	Thu Apr 28 11:06:14 2011	(r221159)
@@ -9,7 +9,8 @@ cleanup() {
 }
 
 # configurable variables
-pb=/var/portbuild
+pbc=${PORTBUILD_CHECKOUT:-/var/portbuild}
+pbd=${PORTBUILD_DATA:-/var/portbuild}
 
 usage () {
   echo "usage: buildfailure arch branch buildid pkgname"
@@ -26,14 +27,14 @@ buildid=$3
 pkgname=$4
 shift 4
 
-builddir=${pb}/${arch}/${branch}/builds/${buildid}
+builddir=${pbd}/${arch}/${branch}/builds/${buildid}
 
-. ${pb}/conf/server.conf
-. ${pb}/conf/common.conf
-. ${pb}/${arch}/portbuild.conf
-. ${pb}/scripts/buildenv
+. ${pbc}/conf/server.conf
+. ${pbc}/conf/common.conf
+. ${pbd}/${arch}/portbuild.conf
+. ${pbc}/scripts/buildenv
 
-buildenv ${pb} ${arch} ${branch} ${builddir}
+buildenv ${pbd} ${arch} ${branch} ${builddir}
 
 # Don't pick up installed packages from the host
 export LOCALBASE=/nonexistentlocal
@@ -43,7 +44,7 @@ index=${PORTSDIR}/${INDEXFILE}
 portloc=$(grep "^$pkgname|" ${index} | cut -f 2 -d \| | sed s,/usr/ports/,,)
 pkgbase=$(cd ${PORTSDIR}/${portloc}/ && make -V PKGBASE)
 
-cd ${pb}/${arch}/${branch}
+cd ${pbd}/${arch}/${branch}
 entry=$(grep "^${portloc}|" failure)
 date=$(date +%s)
 IFS='|'
@@ -58,7 +59,7 @@ else
     (echo "${portloc}|${pkgbase}|${pkgname}|${date}|${date}|1" >> failure) || cleanup
 fi
 
-link=${pb}/${arch}/${branch}/latest/${portloc}
+link=${pbd}/${arch}/${branch}/latest/${portloc}
 mkdir -p $(dirname ${link})
 errorloc=$(realpath ${builddir}/errors/${pkgname}.log)
 ln -sf ${errorloc} ${link}

Modified: projects/portbuild/scripts/buildproxy
==============================================================================
--- projects/portbuild/scripts/buildproxy	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/buildproxy	Thu Apr 28 11:06:14 2011	(r221159)
@@ -6,12 +6,16 @@
 
 import sys, socket, os, commands
 
-sys.path.insert(0, '/var/portbuild/lib/python')
+pbc = os.getenv('PORTBUILD_CHECKOUT') \
+    if os.getenv('PORTBUILD_CHECKOUT') else "/var/portbuild"
+pbd = os.getenv('PORTBUILD_DATA') \
+    if os.getenv('PORTBUILD_DATA') else "/var/portbuild"
+
+sys.path.insert(0, '%s/lib/python' % pbc)
 
 from freebsd import *
 from freebsd_config import *
 
-CONFIG_DIR="/var/portbuild"
 CONFIG_SUBDIR="conf"
 CONFIG_FILENAME="server.conf"
 
@@ -48,11 +52,11 @@ def process(cmd, sockfile):
             if not j.isalnum() and not j in "-_.":
                 return (254, "Illegal characters in input")
     
-    (status, out) = commands.getstatusoutput("/var/portbuild/scripts/build %s" % " ".join(cmd[1:]))
+    (status, out) = commands.getstatusoutput("%s/scripts/build %s" % (pbc, " ".join(cmd[1:])))
 
     return (status, out)
 
-config = getConfig( CONFIG_DIR, CONFIG_SUBDIR, CONFIG_FILENAME )
+config = getConfig( pbc, CONFIG_SUBDIR, CONFIG_FILENAME )
 BUILDPROXY_SOCKET_FILE = config.get( 'BUILDPROXY_SOCKET_FILE' )
 
 if os.path.exists(BUILDPROXY_SOCKET_FILE):

Modified: projects/portbuild/scripts/buildproxy-client
==============================================================================
--- projects/portbuild/scripts/buildproxy-client	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/buildproxy-client	Thu Apr 28 11:06:14 2011	(r221159)
@@ -5,16 +5,20 @@
 
 import sys, socket, os, commands
 
-sys.path.insert(0, '/var/portbuild/lib/python')
+pbc = os.getenv('PORTBUILD_CHECKOUT') \
+    if os.getenv('PORTBUILD_CHECKOUT') else "/var/portbuild"
+pbd = os.getenv('PORTBUILD_DATA') \
+    if os.getenv('PORTBUILD_DATA') else "/var/portbuild"
+
+sys.path.insert(0, '%s/lib/python' % pbc)
 
 from freebsd import *
 from freebsd_config import *
 
-CONFIG_DIR="/var/portbuild"
 CONFIG_SUBDIR="conf"
 CONFIG_FILENAME="server.conf"
 
-config = getConfig( CONFIG_DIR, CONFIG_SUBDIR, CONFIG_FILENAME )
+config = getConfig( pbc, CONFIG_SUBDIR, CONFIG_FILENAME )
 BUILDPROXY_SOCKET_FILE = config.get( 'BUILDPROXY_SOCKET_FILE' )
 
 try:

Modified: projects/portbuild/scripts/buildsuccess
==============================================================================
--- projects/portbuild/scripts/buildsuccess	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/buildsuccess	Thu Apr 28 11:06:14 2011	(r221159)
@@ -3,7 +3,8 @@
 # buildsuccess <arch> <branch> <buildid> <pkgname>
 
 # configurable variables
-pb=/var/portbuild
+pbc=${PORTBUILD_CHECKOUT:-/var/portbuild}
+pbd=${PORTBUILD_DATA:-/var/portbuild}
 
 usage () {
   echo "usage: buildsuccess arch branch buildid pkgname"
@@ -20,14 +21,14 @@ buildid=$3
 pkgname=$4
 shift 4
 
-builddir=${pb}/${arch}/${branch}/builds/${buildid}
+builddir=${pbd}/${arch}/${branch}/builds/${buildid}
 
-. ${pb}/conf/server.conf
-. ${pb}/conf/common.conf
-. ${pb}/${arch}/portbuild.conf
-. ${pb}/scripts/buildenv
+. ${pbc}/conf/server.conf
+. ${pbc}/conf/common.conf
+. ${pbd}/${arch}/portbuild.conf
+. ${pbc}/scripts/buildenv
 
-buildenv ${pb} ${arch} ${branch} ${builddir}
+buildenv ${pbd} ${arch} ${branch} ${builddir}
 
 # Don't pick up installed packages from the host
 export LOCALBASE=/nonexistentlocal
@@ -36,13 +37,13 @@ index=${PORTSDIR}/${INDEXFILE}
 
 portloc=$(grep "^$pkgname|" ${index} | cut -f 2 -d \| | sed s,/usr/ports/,,)
 
-cd ${pb}/${arch}/${branch}
+cd ${pbd}/${arch}/${branch}
 if grep -q "^${portloc}|" failure; then
     echo | mail -s "${pkgname} now builds on ${arch} ${branch}" ${mailto}
     grep -v "^${portloc}|" failure > failure.new
     mv failure.new failure
 fi
 
-if [ -L ${pb}/${arch}/${branch}/latest/${portloc} ]; then
-    rm -f ${pb}/${arch}/${branch}/latest/${portloc}
+if [ -L ${pbd}/${arch}/${branch}/latest/${portloc} ]; then
+    rm -f ${pbd}/${arch}/${branch}/latest/${portloc}
 fi

Modified: projects/portbuild/scripts/claim-chroot
==============================================================================
--- projects/portbuild/scripts/claim-chroot	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/claim-chroot	Thu Apr 28 11:06:14 2011	(r221159)
@@ -18,7 +18,7 @@
 # could use a lockf lock, and be able to tell if the setup process was
 # still running or died prematurely
 
-pb=/var/portbuild
+pbd=${PORTBUILD_DATA:-/var/portbuild}
 
 usage () {
     echo "usage: claim-chroot arch branch buildid"
@@ -48,7 +48,7 @@ fi
 # provide mutual exclusion against other callers, since we only want
 # one of them to perform setup
 
-builddir=${pb}/${arch}/${branch}/builds/${buildid}
+builddir=${pbd}/${arch}/${branch}/builds/${buildid}
 
 # Is the build environment populated?  Again we only want a single
 # instance to gain setup rights if not.
@@ -64,10 +64,10 @@ if [ ! -f ${builddir}/.ready ]; then
     exit 1
 fi
 
-. ${pb}/${arch}/client.conf
-. ${pb}/${arch}/common.conf
-. ${pb}/${arch}/portbuild.conf
-. ${pb}/${arch}/portbuild.$(hostname)
+. ${pbd}/${arch}/client.conf
+. ${pbd}/${arch}/common.conf
+. ${pbd}/${arch}/portbuild.conf
+. ${pbd}/${arch}/portbuild.$(hostname)
 
 buildroot=${scratchdir}
 pkgname=${pkgname%.${PKGSUFFIX}}
@@ -109,7 +109,7 @@ for dir in ${chrootdir}/*; do
 	mkdir ${dir}/used 2>/dev/null || continue
 	touch ${dir}/used/${pkgname}
 	if [ -f ${dir}/.dirty ]; then
-	    ${pb}/scripts/clean-chroot ${arch} ${branch} ${buildid} ${dir} 2 >/dev/null 2>/dev/null &
+	    ${builddir}/scripts/clean-chroot ${arch} ${branch} ${buildid} ${dir} 2 >/dev/null 2>/dev/null &
 	    continue
 	fi
 	found=1

Modified: projects/portbuild/scripts/clean-chroot
==============================================================================
--- projects/portbuild/scripts/clean-chroot	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/clean-chroot	Thu Apr 28 11:06:14 2011	(r221159)
@@ -42,12 +42,12 @@ buildid=$3
 chroot=$4
 clean=$5
 
-pb=/var/portbuild
+pbd=${PORTBUILD_DATA:-/var/portbuild}
 
-. ${pb}/${arch}/client.conf
-. ${pb}/${arch}/common.conf
-. ${pb}/${arch}/portbuild.conf
-. ${pb}/${arch}/portbuild.$(hostname)
+. ${pbd}/${arch}/client.conf
+. ${pbd}/${arch}/common.conf
+. ${pbd}/${arch}/portbuild.conf
+. ${pbd}/${arch}/portbuild.$(hostname)
 
 # directories to clean
 cleandirs="${LOCALBASE} /compat /var/db/pkg"

Modified: projects/portbuild/scripts/cleanup-chroots
==============================================================================
--- projects/portbuild/scripts/cleanup-chroots	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/cleanup-chroots	Thu Apr 28 11:06:14 2011	(r221159)
@@ -7,7 +7,7 @@
 # port builds that have timed out or shut down uncleanly) and prunes
 # them to reclaim space.
 
-pb=/var/portbuild
+pbd=${PORTBUILD_DATA:-/var/portbuild}
 
 kill_procs()
 {
@@ -44,9 +44,9 @@ cleanup_mount() {
 # note: uname is not being overridden (should not need client.conf here)
 arch=$(uname -m)
 
-. ${pb}/${arch}/client.conf
-. ${pb}/${arch}/portbuild.conf
-. ${pb}/${arch}/portbuild.$(hostname)
+. ${pbd}/${arch}/client.conf
+. ${pbd}/${arch}/portbuild.conf
+. ${pbd}/${arch}/portbuild.$(hostname)
 
 if [ "${use_zfs}" = "1" ]; then
     old=$(find ${scratchdir}/*/*/* -prune -mmin +60 2> /dev/null)

Modified: projects/portbuild/scripts/client-metrics
==============================================================================
--- projects/portbuild/scripts/client-metrics	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/client-metrics	Thu Apr 28 11:06:14 2011	(r221159)
@@ -6,7 +6,7 @@
 #       - max vnodes
 #       - number of packages built in the past hour
 
-pb=/var/portbuild
+pbd=${PORTBUILD_DATA:-/var/portbuild}
 
 arch=$(uname -m)
 me=$(hostname)
@@ -16,10 +16,10 @@ export PATH=/sbin:/bin:/usr/sbin:/usr/bi
 gmetric --name="maxvnodes" --value=`sysctl -n kern.maxvnodes` --tmax=120 --dmax=0 --type=uint32 --units="# vnodes"
 gmetric --name="vnodes" --value=`sysctl -n vfs.numvnodes` --tmax=120 --dmax=0 --type=uint32 --units="# vnodes"
 
-if [ -f ${pb}/${arch}/portbuild.conf -a -f ${pb}/${arch}/portbuild.${me} ]; then
-    . ${pb}/${arch}/client.conf
-    . ${pb}/${arch}/portbuild.conf 
-    . ${pb}/${arch}/portbuild.${me}
+if [ -f ${pbd}/${arch}/portbuild.conf -a -f ${pbd}/${arch}/portbuild.${me} ]; then
+    . ${pbd}/${arch}/client.conf
+    . ${pbd}/${arch}/portbuild.conf 
+    . ${pbd}/${arch}/portbuild.${me}
 else
     exit 1
 fi

Modified: projects/portbuild/scripts/cpdistfiles
==============================================================================
--- projects/portbuild/scripts/cpdistfiles	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/cpdistfiles	Thu Apr 28 11:06:14 2011	(r221159)
@@ -6,14 +6,16 @@ if [ $# -lt 3 ]; then
 fi
 
 # configurable variables
-pb=/var/portbuild
-. ${pb}/conf/server.conf
+pbc=${PORTBUILD_CHECKOUT:-/var/portbuild}
+pbd=${PORTBUILD_DATA:-/var/portbuild}
+
+. ${pbc}/conf/server.conf
 
 arch=$1
 branch=$2
 buildid=$3
 
-builddir=${pb}/${arch}/${branch}/builds/${buildid}
+builddir=${pbd}/${arch}/${branch}/builds/${buildid}
 
 yesreally=0
 dryrun=-n

Modified: projects/portbuild/scripts/cppackages
==============================================================================
--- projects/portbuild/scripts/cppackages	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/cppackages	Thu Apr 28 11:06:14 2011	(r221159)
@@ -1,11 +1,11 @@
 #!/bin/sh
 
 # configurable variables
-pb=/var/portbuild
+pbd=${PORTBUILD_DATA:-/var/portbuild}
 
-. ${pb}/portbuild.conf
+. ${pbd}/portbuild.conf
 
-lock=${pb}/cppackages.lock
+lock=${pbd}/cppackages.lock
 
 unset DISPLAY
 

Modified: projects/portbuild/scripts/do-cleanup-chroots
==============================================================================
--- projects/portbuild/scripts/do-cleanup-chroots	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/do-cleanup-chroots	Thu Apr 28 11:06:14 2011	(r221159)
@@ -2,4 +2,7 @@
 # 
 # clean up stale chroots on all client machines.  MCL 20081216.
 #
-/var/portbuild/scripts/allgohans all -q /var/portbuild/scripts/cleanup-chroots
+
+pbc=${PORTBUILD_CHECKOUT:-/var/portbuild}
+
+${pbc}/scripts/allgohans all -q -scp ${pbc}/scripts/cleanup-chroots

Modified: projects/portbuild/scripts/docppackages
==============================================================================
--- projects/portbuild/scripts/docppackages	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/docppackages	Thu Apr 28 11:06:14 2011	(r221159)
@@ -1,7 +1,11 @@
 #!/bin/sh
+
 if [ $# != 1 ]; then
   echo "usage: $0 branch"
   exit 1
 fi
-echo /var/portbuild/scripts/cppackages $1 | at + 1 minute
+
+pbc=${PORTBUILD_CHECKOUT:-/var/portbuild}
+
+echo ${pbc}/scripts/cppackages $1 | at + 1 minute
 atq

Modified: projects/portbuild/scripts/dodistfiles
==============================================================================
--- projects/portbuild/scripts/dodistfiles	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/dodistfiles	Thu Apr 28 11:06:14 2011	(r221159)
@@ -30,8 +30,9 @@ arch=$1
 branch=$2
 buildid=$3
 
-pb=/var/portbuild
-builddir=${pb}/${arch}/${branch}/builds/${buildid}
+pbd=${PORTBUILD_DATA:-/var/portbuild}
+
+builddir=${pbd}/${arch}/${branch}/builds/${buildid}
 
 distdir=${builddir}/distfiles
 

Modified: projects/portbuild/scripts/dologs
==============================================================================
--- projects/portbuild/scripts/dologs	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/dologs	Thu Apr 28 11:06:14 2011	(r221159)
@@ -4,21 +4,22 @@
 arch=$1
 versions="latest full"
 
-pb=/var/portbuild
+pbc=${PORTBUILD_CHECKOUT:-/var/portbuild}
+pbd=${PORTBUILD_DATA:-/var/portbuild}
 
-. ${pb}/conf/server.conf
-. ${pb}/${arch}/portbuild.conf
+. ${pbc}/conf/server.conf
+. ${pbd}/${arch}/portbuild.conf
 
-home=${pb}/errorlogs
-scripts=${pb}/scripts
+home=${pbd}/errorlogs
+scripts=${pbc}/scripts
 
-branches=`cd ${pb}/${arch} && ls -d [1-9]* 2> /dev/null`
+branches=`cd ${pbd}/${arch} && ls -d [1-9]* 2> /dev/null`
 
 for version in ${versions}; do
   for branch in ${branches}; do
     dir=$home/$arch-$branch-$version
     test -d $dir && cd $dir && ${scripts}/processlogs ${arch}
-    dir=${pb}/${arch}/${branch}
+    dir=${pbd}/${arch}/${branch}
     test -d $dir && cd $dir && ${scripts}/processfail ${arch} ${branch}
   done
   for branch in ${branches}; do

Modified: projects/portbuild/scripts/dopackages
==============================================================================
--- projects/portbuild/scripts/dopackages	Thu Apr 28 09:09:34 2011	(r221158)
+++ projects/portbuild/scripts/dopackages	Thu Apr 28 11:06:14 2011	(r221159)
@@ -4,9 +4,10 @@
 # main server-side script to run a package build
 
 # configurable variables
-pb=/var/portbuild
+pbc=${PORTBUILD_CHECKOUT:-/var/portbuild}
+pbd=${PORTBUILD_DATA:-/var/portbuild}
 
-PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:${pb}/scripts
+PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:${pbc}/scripts
 
 # writable by portmgr
 umask 002
@@ -52,26 +53,26 @@ buildid=$3
 datestamp=$4
 shift 4
 
-. ${pb}/conf/server.conf
-. ${pb}/conf/common.conf
-. ${pb}/scripts/buildenv
+. ${pbc}/conf/server.conf
+. ${pbc}/conf/common.conf
+. ${pbc}/scripts/buildenv
 validate_env ${arch} ${branch} || usage
 
 # XXX MCL too early to do this here.
-buildid=$(resolve ${pb} ${arch} ${branch} ${buildid})
+buildid=$(resolve ${pbd} ${arch} ${branch} ${buildid})
 if [ -z "${buildid}" ]; then
     echo "Invalid build ID ${buildid}"
     exit 1
 fi
 
-if [ -f ${pb}/${arch}/portbuild.conf ]; then
-    . ${pb}/conf/server.conf
-    . ${pb}/${arch}/portbuild.conf
+if [ -f ${pbd}/${arch}/portbuild.conf ]; then
+    . ${pbc}/conf/server.conf
+    . ${pbd}/${arch}/portbuild.conf
 else
     usage
 fi
 
-pbab=${pb}/${arch}/${branch}
+pbab=${pbd}/${arch}/${branch}
 
 trap "exit 1" 1 2 3 9 10 11 15
 
@@ -97,7 +98,7 @@ portstar() {
 # usage: makeindex pb arch branch builddir [target]
 # note: can take ~24 minutes!
 makeindex () {
-    pb=$1
+    pbc=$1
     arch=$2
     branch=$3
     buildid=$4
@@ -109,7 +110,7 @@ makeindex () {
     echo "generating index"
     echo "================================================"
     echo "index generation started at $(date)"
-    ${pb}/scripts/makeindex ${arch} ${branch} ${buildid} ${target} || return 1
+    ${pbc}/scripts/makeindex ${arch} ${branch} ${buildid} ${target} || return 1
     echo "index generation ended at $(date)"
     echo $(wc -l ${INDEXFILE} | awk '{print $1}') "lines in INDEX"
 
@@ -142,7 +143,7 @@ checkindex () {
 # usage: makeduds pb arch branch builddir [target]
 # note: can take ~21 minutes!
 makeduds () {
-    pb=$1
+    pbc=$1
     arch=$2
     branch=$3
     buildid=$4
@@ -157,7 +158,7 @@ makeduds () {
     if [ -e ${builddir}/duds ]; then
 	cp -p ${builddir}/duds ${builddir}/duds.old
     fi
-    if ! ${pb}/scripts/makeduds ${arch} ${branch} ${buildid} ${target}; then
+    if ! ${pbc}/scripts/makeduds ${arch} ${branch} ${buildid} ${target}; then
 	echo "error(s) detected, exiting script at $(date).  Failed duds list was:"
 	cat ${builddir}/duds
 	mailexit 1
@@ -176,7 +177,7 @@ makeduds () {
 # usage: restrictedlist pb arch branch builddir [target]
 # note: can take ~25 minutes!
 restrictedlist () {
-    pb=$1
+    pbc=$1
     arch=$2
     branch=$3
     buildid=$4
@@ -188,7 +189,7 @@ restrictedlist () {
     echo "creating restricted list"
     echo "================================================"
     echo "restricted list generation started at $(date)"
-    ${pb}/scripts/makerestr ${arch} ${branch} ${buildid} ${target} || return 1
+    ${pbc}/scripts/makerestr ${arch} ${branch} ${buildid} ${target} || return 1
     echo "restricted list generation ended at $(date)"
     echo $(grep -c '^#' ${builddir}/restricted.sh) "ports in ${builddir}/restricted.sh"
 }
@@ -196,7 +197,7 @@ restrictedlist () {
 # usage: cdromlist pb arch branch builddir
 # note: can take ~48 minutes!
 cdromlist () {
-    pb=$1
+    pbc=$1
     arch=$2
     branch=$3
     builddir=$4
@@ -218,7 +219,7 @@ cdromlist () {
 # XXX Should generate these as the packages are copied in, instead of all at once at the end
 # usage: generatemd5 pb arch branch builddir
 generatemd5 () {
-    pb=$1
+    pbc=$1
     arch=$2
     branch=$3
     builddir=$4
@@ -231,7 +232,7 @@ generatemd5 () {
 
 
 dobuild() {
-    pb=$1
+    pbc=$1
     arch=$2
     branch=$3
     builddir=$4
@@ -241,7 +242,7 @@ dobuild() {
     echo "================================================"
     echo "started at $(date)"
     start=$(date +%s)
-    ${QMANAGER_PATH}/packagebuild ${arch} ${branch} ${buildid} > ${builddir}/${journalname} 2>&1 < /dev/null
+    ${pbc}/qmanager/packagebuild ${arch} ${branch} ${buildid} > ${builddir}/${journalname} 2>&1 < /dev/null
     result=$?
     if [ $result -ne 0 ]; then
         echo "ERROR: packagebuild ${arch} ${branch} ${buildid} failed: see ${builddir}/${journalname} for details"
@@ -422,7 +423,7 @@ if [ ! -d ${builddir} ]; then
 fi
 
 # Set up our environment variables

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

From owner-svn-src-projects@FreeBSD.ORG  Thu Apr 28 12:39:31 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 75E17106564A;
	Thu, 28 Apr 2011 12:39:31 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 632668FC0A;
	Thu, 28 Apr 2011 12:39:31 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3SCdVC0023155;
	Thu, 28 Apr 2011 12:39:31 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3SCdVZJ023153;
	Thu, 28 Apr 2011 12:39:31 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104281239.p3SCdVZJ023153@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Thu, 28 Apr 2011 12:39:31 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221162 - projects/portbuild/qmanager
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 28 Apr 2011 12:39:31 -0000

Author: flz
Date: Thu Apr 28 12:39:31 2011
New Revision: 221162
URL: http://svn.freebsd.org/changeset/base/221162

Log:
  portbuild: don't hardcode qmanager socket in qclient.
  
  Use freebsd_config module to get QMANAGER_SOCKET_FILE.

Modified:
  projects/portbuild/qmanager/qclient

Modified: projects/portbuild/qmanager/qclient
==============================================================================
--- projects/portbuild/qmanager/qclient	Thu Apr 28 11:21:49 2011	(r221161)
+++ projects/portbuild/qmanager/qclient	Thu Apr 28 12:39:31 2011	(r221162)
@@ -8,7 +8,22 @@
 import socket, os, sys
 
 from optparse import OptionParser
+
+pbc = os.getenv('PORTBUILD_CHECKOUT') \
+    if os.getenv('PORTBUILD_CHECKOUT') else "/var/portbuild"
+pbd = os.getenv('PORTBUILD_DATA') \
+    if os.getenv('PORTBUILD_DATA') else "/var/portbuild"
+
+sys.path.insert(0, '%s/lib/python' % pbc)
+
 from qmanagerclient import *
+from freebsd_config import *
+
+CONFIG_SUBDIR="conf"
+CONFIG_FILENAME="server.conf"
+
+config = getConfig( pbc, CONFIG_SUBDIR, CONFIG_FILENAME )
+QMANAGER_SOCKET_FILE = config.get( 'QMANAGER_SOCKET_FILE' )
 
 def error(msg):
     print >>sys.stderr, "%s: %s" % (sys.argv[0], msg.rstrip())
@@ -88,10 +103,8 @@ def buildquery(option, opt, values, pars
     query.append("%s %s %s" % (key, operator, val))
 
 
-SOCKLOCAL = '/tmp/.qmgr'
-
 conn = QManagerClientConn(stderr = sys.stderr)
-conn.connect(SOCKLOCAL)
+conn.connect(QMANAGER_SOCKET_FILE)
 
 query=[]
 

From owner-svn-src-projects@FreeBSD.ORG  Thu Apr 28 21:25:59 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 32E60106566B;
	Thu, 28 Apr 2011 21:25:59 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 192688FC1B;
	Thu, 28 Apr 2011 21:25:59 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3SLPxUM063352;
	Thu, 28 Apr 2011 21:25:59 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3SLPwk9063346;
	Thu, 28 Apr 2011 21:25:58 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104282125.p3SLPwk9063346@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Thu, 28 Apr 2011 21:25:58 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221184 - projects/portbuild/scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 28 Apr 2011 21:25:59 -0000

Author: flz
Date: Thu Apr 28 21:25:58 2011
New Revision: 221184
URL: http://svn.freebsd.org/changeset/base/221184

Log:
  portbuild: rsync per-build scripts into /tmp.
  
  We don't always have ${builddir}, so use /tmp/${buildid} instead.

Modified:
  projects/portbuild/scripts/claim-chroot
  projects/portbuild/scripts/dosetupnode
  projects/portbuild/scripts/pdispatch
  projects/portbuild/scripts/portbuild
  projects/portbuild/scripts/setupnode

Modified: projects/portbuild/scripts/claim-chroot
==============================================================================
--- projects/portbuild/scripts/claim-chroot	Thu Apr 28 20:25:15 2011	(r221183)
+++ projects/portbuild/scripts/claim-chroot	Thu Apr 28 21:25:58 2011	(r221184)
@@ -109,7 +109,7 @@ for dir in ${chrootdir}/*; do
 	mkdir ${dir}/used 2>/dev/null || continue
 	touch ${dir}/used/${pkgname}
 	if [ -f ${dir}/.dirty ]; then
-	    ${builddir}/scripts/clean-chroot ${arch} ${branch} ${buildid} ${dir} 2 >/dev/null 2>/dev/null &
+	    /tmp/${buildid}/scripts/clean-chroot ${arch} ${branch} ${buildid} ${dir} 2 >/dev/null 2>/dev/null &
 	    continue
 	fi
 	found=1

Modified: projects/portbuild/scripts/dosetupnode
==============================================================================
--- projects/portbuild/scripts/dosetupnode	Thu Apr 28 20:25:15 2011	(r221183)
+++ projects/portbuild/scripts/dosetupnode	Thu Apr 28 21:25:58 2011	(r221184)
@@ -60,6 +60,12 @@ setup() {
     . ${pbd}/${arch}/portbuild.conf
     . ${pbd}/${arch}/portbuild.${node}
 
+    if [ "${buildid}" != "-" ]; then
+	rsync ${rsync_gzip} -e "${ssh_cmd}" -r -l -p --delete ${pbc}/scripts ${pbc}/sources \
+	    ${client_user}@${node}:/tmp/${buildid}/
+	checkerror $? || (echo "Copying scripts to ${node} failed"; return 1)
+    fi
+
     cmdpath=$(cat ${pbc}/scripts/setupnode | ssh -a ${client_user}@${node} 't=$(mktemp -t setupnode); cat >$t; echo $t; chmod 755 $t')
     case ${cmdpath} in /tmp/*) ;; *) echo "Failed to scp claim-chroot to ${host}."; return 1;; esac
 

Modified: projects/portbuild/scripts/pdispatch
==============================================================================
--- projects/portbuild/scripts/pdispatch	Thu Apr 28 20:25:15 2011	(r221183)
+++ projects/portbuild/scripts/pdispatch	Thu Apr 28 21:25:58 2011	(r221184)
@@ -199,7 +199,7 @@ else
     fi
 fi
 
-${ssh_cmd} -a -n ${client_user}@${host} ${sudo_cmd} ${builddir}/scripts/clean-chroot ${arch} ${branch} ${buildid} ${chroot} ${clean}
+${ssh_cmd} -a -n ${client_user}@${host} ${sudo_cmd} /tmp/${buildid}/scripts/clean-chroot ${arch} ${branch} ${buildid} ${chroot} ${clean}
 
   # XXX Set a dirty variable earlier and check here
 if grep -q "^build of .*ended at" ${builddir}/logs/${pkgname}.log; then

Modified: projects/portbuild/scripts/portbuild
==============================================================================
--- projects/portbuild/scripts/portbuild	Thu Apr 28 20:25:15 2011	(r221183)
+++ projects/portbuild/scripts/portbuild	Thu Apr 28 21:25:58 2011	(r221184)
@@ -298,8 +298,8 @@ while [ $# -gt 0 ]; do
   shift
 done
 
-cp -p ${builddir}/scripts/buildscript ${chroot}
-cp -p ${builddir}/sources/pnohang.c ${chroot}
+cp -p /tmp/${buildid}/scripts/buildscript ${chroot}
+cp -p /tmp/${buildid}/sources/pnohang.c ${chroot}
 
 # phase 0, compile pnohang
 chroot ${chroot} /usr/bin/gcc -o /pnohang -Wall /pnohang.c 2>&1 | tee -a ${chroot}/tmp/${pkgname}.log

Modified: projects/portbuild/scripts/setupnode
==============================================================================
--- projects/portbuild/scripts/setupnode	Thu Apr 28 20:25:15 2011	(r221183)
+++ projects/portbuild/scripts/setupnode	Thu Apr 28 21:25:58 2011	(r221184)
@@ -124,7 +124,7 @@ postcopy() {
 	fi
 
 	for i in ${wrkdir}/chroot/*; do
-	    ${sudo_cmd} ${builddir}/scripts/clean-chroot ${arch} ${branch} ${buildid} ${i} 2
+	    ${sudo_cmd} /tmp/${buildid}/scripts/clean-chroot ${arch} ${branch} ${buildid} ${i} 2
 	done
 	wait
     else

From owner-svn-src-projects@FreeBSD.ORG  Fri Apr 29 21:02:47 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id F2B14106566B;
	Fri, 29 Apr 2011 21:02:47 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id DA3C38FC0A;
	Fri, 29 Apr 2011 21:02:47 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3TL2lQG015419;
	Fri, 29 Apr 2011 21:02:47 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3TL2lKr015417;
	Fri, 29 Apr 2011 21:02:47 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104292102.p3TL2lKr015417@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Fri, 29 Apr 2011 21:02:47 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221225 - projects/altix/sys/ia64/ia64
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 29 Apr 2011 21:02:48 -0000

Author: marcel
Date: Fri Apr 29 21:02:47 2011
New Revision: 221225
URL: http://svn.freebsd.org/changeset/base/221225

Log:
  Put debug printf under bootverbose.

Modified:
  projects/altix/sys/ia64/ia64/interrupt.c

Modified: projects/altix/sys/ia64/ia64/interrupt.c
==============================================================================
--- projects/altix/sys/ia64/ia64/interrupt.c	Fri Apr 29 20:55:15 2011	(r221224)
+++ projects/altix/sys/ia64/ia64/interrupt.c	Fri Apr 29 21:02:47 2011	(r221225)
@@ -423,7 +423,9 @@ ia64_ih_irq(struct thread *td, u_int xiv
 
 	PCPU_INC(md.stats.pcs_nhwints);
 
-	printf("INTR: ITC=%u, XIV=%u\n", (u_int)tf->tf_special.ifa, xiv);
+	if (bootverbose)
+		printf("INTR: ITC=%u, XIV=%u\n", (u_int)tf->tf_special.ifa,
+		    xiv);
 
 	/* Find the interrupt thread for this XIV. */
 	i = ia64_intrs[xiv];

From owner-svn-src-projects@FreeBSD.ORG  Fri Apr 29 21:09:03 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id B00151065673;
	Fri, 29 Apr 2011 21:09:03 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 938058FC14;
	Fri, 29 Apr 2011 21:09:03 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3TL93dG015643;
	Fri, 29 Apr 2011 21:09:03 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3TL93LI015640;
	Fri, 29 Apr 2011 21:09:03 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104292109.p3TL93LI015640@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Fri, 29 Apr 2011 21:09:03 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221226 - projects/altix/sys/ia64/ia64
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 29 Apr 2011 21:09:03 -0000

Author: marcel
Date: Fri Apr 29 21:09:03 2011
New Revision: 221226
URL: http://svn.freebsd.org/changeset/base/221226

Log:
  Complete the AP wake-up revamp.

Modified:
  projects/altix/sys/ia64/ia64/mp_locore.S
  projects/altix/sys/ia64/ia64/mp_machdep.c

Modified: projects/altix/sys/ia64/ia64/mp_locore.S
==============================================================================
--- projects/altix/sys/ia64/ia64/mp_locore.S	Fri Apr 29 21:02:47 2011	(r221225)
+++ projects/altix/sys/ia64/ia64/mp_locore.S	Fri Apr 29 21:09:03 2011	(r221226)
@@ -43,62 +43,81 @@
 	.align	32
 ENTRY_NOPROFILE(os_boot_rendez,0)
 {	.mmi
+	st8	[gp] = gp		// trace = 0x00
 	mov	r8 = cr.ivr		// clear IRR bit
+	add	r2 = 8, gp
 	;;
-	srlz.d
-	mov	r16 = (IA64_PBVM_RR << 8) | (IA64_PBVM_PAGE_SHIFT << 2)
 }
 {	.mmi
+	srlz.d
 	mov	cr.eoi = r0		// ACK the wake-up
+	add	r3 = 16, gp
 	;;
+}
+{	.mmi
 	srlz.d
-	dep.z	r17 = IA64_PBVM_RR, 61, 3
+	rsm	IA64_PSR_IC | IA64_PSR_I
+	mov	r16 = (IA64_PBVM_RR << 8) | (IA64_PBVM_PAGE_SHIFT << 2)
 	;;
 }
 {	.mmi
-	rsm	IA64_PSR_IC | IA64_PSR_I
-	mov     rr[r17] = r16
-	add	r2 = 8, r1
+	srlz.d
+	st8	[gp] = r2		// trace = 0x08
+	dep.z	r17 = IA64_PBVM_RR, 61, 3
 	;;
 }
 {	.mlx
+	mov     rr[r17] = r16
+	movl	r18 = IA64_PBVM_PGTBL
+	;;
+}
+{	.mmi
 	srlz.i
-	movl	r16 = IA64_PBVM_PGTBL
+	;;
+	st8	[gp] = r3		// trace = 0x10
+	nop	0
 	;;
 }
 {	.mmi
-	ld8	r17 = [r1], 16		// as_pgtbl_pte
-	ld8	r18 = [r2], 16		// as_pgtbl_itir
-	mov	r8 = r0
+	ld8	r16 = [r2], 16		// as_pgtbl_pte
+	ld8	r17 = [r3], 16		// as_pgtbl_itir
+	nop	0
 	;;
 }
 {	.mmi
-	mov	cr.ifa = r16
-	mov	cr.itir = r18
-	mov	r9 = r0
+	mov	cr.itir = r17
+	mov	cr.ifa = r18
+	nop	0
 	;;
 }
 {	.mmi
 	srlz.d
-	ptr.d	r16, r18
+	ptr.d	r18, r17
 	nop	0
 	;;
 }
 {	.mmi
 	srlz.d
-	itr.d	dtr[r8] = r17
-	nop	0
+	st8	[gp] = r2		// trace = 0x18
+	mov	r8 = r0
 	;;
 }
 {	.mmi
+	itr.d	dtr[r8] = r16
+	;;
 	srlz.d
-	ld8	r16 = [r1], 16		// as_text_va
+	mov	r9 = r0
+	;;
+}
+{	.mmi
+	ld8	r16 = [r2], 16		// as_text_va
+	st8	[gp] = r3		// trace = 0x20
 	add	r8 = 1, r8
 	;;
 }
 {	.mmi
-	ld8	r17 = [r2], 16		// as_text_pte
-	ld8	r18 = [r1], 16		// as_text_itir
+	ld8	r17 = [r3], 16		// as_text_pte
+	ld8	r18 = [r2], 16		// as_text_itir
 	nop	0
 	;;
 }
@@ -116,12 +135,18 @@ ENTRY_NOPROFILE(os_boot_rendez,0)
 }
 {	.mmi
 	srlz.d
-	itr.d	dtr[r8] = r17
+	st8	[gp] = r3		// trace = 0x30
 	nop	0
 	;;
 }
 {	.mmi
+	itr.d	dtr[r8] = r17
+	;;
 	srlz.d
+	nop	0
+}
+{	.mmi
+	st8	[gp] = r2		// trace = 0x38
 	ptr.i	r16, r18
 	add	r8 = 1, r8
 	;;
@@ -136,42 +161,51 @@ ENTRY_NOPROFILE(os_boot_rendez,0)
 {	.mmi
 	srlz.i
 	;;
-	ld8	r16 = [r2], 16          // as_data_va
+	ld8	r16 = [r3], 16          // as_data_va
 	add	r9 = 1, r9
 	;;
 }
 {	.mmi
-	ld8	r17 = [r1], 16		// as_data_pte
-	ld8	r18 = [r2], 16		// as_data_itir
+	st8	[gp] = r3		// trace = 0x40
+	ld8	r17 = [r2], 16		// as_data_pte
 	nop	0
 	;;
 }
 {	.mmi
 	mov	cr.ifa = r16
-	mov	cr.itir = r18
+	ld8	r18 = [r3], 16		// as_data_itir
 	nop	0
 	;;
 }
 {	.mmi
+	mov	cr.itir = r18
+	;;
 	srlz.d
-	ptr.d	r16, r18
 	nop	0
 	;;
 }
 {	.mmi
+	ptr.d	r16, r18
+	;;
 	srlz.d
-	itr.d	dtr[r8] = r17
 	mov	r19 = IA64_DCR_DEFAULT
 	;;
 }
 {	.mmi
+	itr.d	dtr[r8] = r17
+	;;
 	srlz.d
-	ld8	r16 = [r1], 16		// as_kstack
 	add	r8 = 1, r8
 	;;
 }
 {	.mmi
-	ld8	r17 = [r2], 16		// as_kstack_top
+	st8	[gp] = r2		// trace = 0x48
+	;;
+	ld8	r16 = [r2], 16		// as_kstack
+	nop	0
+}
+{	.mmi
+	ld8	r17 = [r3], 16		// as_kstack_top
 	mov	cr.dcr = r19
 	nop	0
 	;;
@@ -182,52 +216,50 @@ ENTRY_NOPROFILE(os_boot_rendez,0)
 			IA64_PSR_RT | IA64_PSR_DFH
 	;;
 }
-1:
-{	.mii
+{	.mlx
 	mov	cr.ipsr = r18
-	mov	r19 = ip
+	movl	r19 = ia64_vector_table		// set up IVT early
 	;;
-	add	r19 = 2f-1b, r19
+}
+{	.mlx
+	mov	cr.iva = r19
+	movl	r18 = 1f
 	;;
 }
 {	.mmi
+	mov	cr.iip = r18
 	mov	cr.ifs = r0
-	mov	cr.iip = r19
 	nop	0
 	;;
 }
-
+{	.mmb
+	srlz.d
+	st8	[gp] = r2		// trace = 0x58
 	rfi
 	;;
+}
 
 	.align	32
-2:
+1:
 {	.mlx
-	mov	ar.rsc = 0
-	movl	r18 = ia64_vector_table		// set up IVT early
+	mov	ar.bspstore = r16
+	movl	gp = __gp
 	;;
 }
 {	.mmi
-	mov	cr.iva = r18
-	;;
-	srlz.i
+	loadrs
+	add	sp = -16, r17
 	nop	0
 	;;
 }
-{	.mlx
-	mov	ar.bspstore = r16
-	movl	gp = __gp
-	;;
-}
 {	.mmi
-	loadrs
+	mov	ar.rsc = 3
 	;;
 	alloc	r18 = ar.pfs, 0, 0, 0, 0
-	add	sp = -16, r17
 	;;
 }
 {	.mib
-	mov	ar.rsc = 3
+	nop	0
 	nop	0
 	br.call.sptk.few rp = ia64_ap_startup
 	;;

Modified: projects/altix/sys/ia64/ia64/mp_machdep.c
==============================================================================
--- projects/altix/sys/ia64/ia64/mp_machdep.c	Fri Apr 29 21:02:47 2011	(r221225)
+++ projects/altix/sys/ia64/ia64/mp_machdep.c	Fri Apr 29 21:09:03 2011	(r221226)
@@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/uuid.h>
 
 #include <machine/atomic.h>
+#include <machine/bootinfo.h>
 #include <machine/cpu.h>
 #include <machine/fpu.h>
 #include <machine/intr.h>
@@ -62,6 +63,8 @@ __FBSDID("$FreeBSD$");
 #include <vm/vm_extern.h>
 #include <vm/vm_kern.h>
 
+extern uint64_t bdata[];
+
 MALLOC_DEFINE(M_SMP, "SMP", "SMP related allocations");
 
 void ia64_ap_startup(void);
@@ -81,6 +84,21 @@ int ia64_ipi_rndzvs;
 int ia64_ipi_stop;
 
 static u_int
+sz2shft(uint64_t sz)
+{
+	uint64_t s;
+	u_int shft;
+
+	shft = 12;      /* Start with 4K */
+	s = 1 << shft;
+	while (s < sz) {
+		shft++;
+		s <<= 1;
+	}
+	return (shft);
+}
+
+static u_int
 ia64_ih_ast(struct thread *td, u_int xiv, struct trapframe *tf)
 {
 
@@ -174,14 +192,25 @@ ia64_ap_startup(void)
 {
 	uint64_t vhpt;
 
+	ia64_ap_state.as_trace = 0x100;
+
+	ia64_set_rr(IA64_RR_BASE(5), (5 << 8) | (PAGE_SHIFT << 2) | 1);
+	ia64_set_rr(IA64_RR_BASE(6), (6 << 8) | (PAGE_SHIFT << 2));
+	ia64_set_rr(IA64_RR_BASE(7), (7 << 8) | (PAGE_SHIFT << 2));
+	ia64_srlz_d();
+
 	pcpup = ia64_ap_state.as_pcpu;
 	ia64_set_k4((intptr_t)pcpup);
 
+	ia64_ap_state.as_trace = 0x108;
+
 	vhpt = PCPU_GET(md.vhpt);
 	map_vhpt(vhpt);
 	ia64_set_pta(vhpt + (1 << 8) + (pmap_vhpt_log2size << 2) + 1);
 	ia64_srlz_i();
 
+	ia64_ap_state.as_trace = 0x110;
+
 	ia64_ap_state.as_awake = 1;
 	ia64_ap_state.as_delay = 0;
 
@@ -301,48 +330,73 @@ cpu_mp_start()
 	struct ia64_sal_result result;
 	struct ia64_fdesc *fd;
 	struct pcpu *pc;
+	uintptr_t state;
 	u_char *stp;
 
-	ia64_ap_state.as_spin = 1;
-
+	state = ia64_tpa((uintptr_t)&ia64_ap_state);
 	fd = (struct ia64_fdesc *) os_boot_rendez;
 	result = ia64_sal_entry(SAL_SET_VECTORS, SAL_OS_BOOT_RENDEZ,
-	    ia64_tpa(fd->func), ia64_tpa((uintptr_t)&ia64_ap_state),
-	    0, 0, 0, 0);
+	    ia64_tpa(fd->func), state, 0, 0, 0, 0);
+
+	ia64_ap_state.as_pgtbl_pte = PTE_PRESENT | PTE_MA_WB |
+	    PTE_ACCESSED | PTE_DIRTY | PTE_PL_KERN | PTE_AR_RW |
+	    (bootinfo->bi_pbvm_pgtbl & PTE_PPN_MASK);
+	ia64_ap_state.as_pgtbl_itir = sz2shft(bootinfo->bi_pbvm_pgtblsz) << 2;
+	ia64_ap_state.as_text_va = IA64_PBVM_BASE;
+	ia64_ap_state.as_text_pte = PTE_PRESENT | PTE_MA_WB |
+	    PTE_ACCESSED | PTE_DIRTY | PTE_PL_KERN | PTE_AR_RX |
+	    (ia64_tpa(IA64_PBVM_BASE) & PTE_PPN_MASK);
+	ia64_ap_state.as_text_itir = bootinfo->bi_text_mapped << 2;
+	ia64_ap_state.as_data_va = (uintptr_t)bdata;
+	ia64_ap_state.as_data_pte = PTE_PRESENT | PTE_MA_WB |
+	    PTE_ACCESSED | PTE_DIRTY | PTE_PL_KERN | PTE_AR_RW |
+	    (ia64_tpa((uintptr_t)bdata) & PTE_PPN_MASK);
+	ia64_ap_state.as_data_itir = bootinfo->bi_data_mapped << 2;
+
+	/* Keep 'em spinning until we unleash them... */
+	ia64_ap_state.as_spin = 1;
 
 	SLIST_FOREACH(pc, &cpuhead, pc_allcpu) {
 		pc->pc_md.current_pmap = kernel_pmap;
 		pc->pc_other_cpus = all_cpus & ~pc->pc_cpumask;
-		if (pc->pc_cpuid > 0) {
-			ia64_ap_state.as_pcpu = pc;
-			pc->pc_md.vhpt = pmap_alloc_vhpt();
-			if (pc->pc_md.vhpt == 0) {
-				printf("SMP: WARNING: unable to allocate VHPT"
-				    " for cpu%d", pc->pc_cpuid);
-				continue;
-			}
-			stp = malloc(KSTACK_PAGES * PAGE_SIZE, M_SMP, M_WAITOK);
-			ia64_ap_state.as_kstack = stp;
-			ia64_ap_state.as_kstack_top = stp + KSTACK_PAGES *
-			    PAGE_SIZE - 16;
-			ia64_ap_state.as_delay = 2000;
-			ia64_ap_state.as_awake = 0;
-
-			if (bootverbose)
-				printf("SMP: waking up cpu%d\n", pc->pc_cpuid);
-
-			ipi_send(pc, ia64_ipi_wakeup);
-
-			do {
-				DELAY(1000);
-			} while (--ia64_ap_state.as_delay > 0);
-			pc->pc_md.awake = ia64_ap_state.as_awake;
-
-			if (!ia64_ap_state.as_awake)
-				printf("SMP: WARNING: cpu%d did not wake up\n",
-				    pc->pc_cpuid);
-		} else
+		/* The BSP is obviously running already. */
+		if (pc->pc_cpuid == 0) {
 			pc->pc_md.awake = 1;
+			continue;
+		}
+
+		ia64_ap_state.as_pcpu = pc;
+		pc->pc_md.vhpt = pmap_alloc_vhpt();
+		if (pc->pc_md.vhpt == 0) {
+			printf("SMP: WARNING: unable to allocate VHPT"
+			    " for cpu%d", pc->pc_cpuid);
+			continue;
+		}
+
+		stp = malloc(KSTACK_PAGES * PAGE_SIZE, M_SMP, M_WAITOK);
+		ia64_ap_state.as_kstack = stp;
+		ia64_ap_state.as_kstack_top = stp + KSTACK_PAGES * PAGE_SIZE;
+
+		ia64_ap_state.as_trace = 0;
+		ia64_ap_state.as_delay = 2000;
+		ia64_ap_state.as_awake = 0;
+
+		if (bootverbose)
+			printf("SMP: waking up cpu%d\n", pc->pc_cpuid);
+
+		/* Here she goes... */
+		ipi_send(pc, ia64_ipi_wakeup);
+		do {
+			DELAY(1000);
+		} while (--ia64_ap_state.as_delay > 0);
+
+		pc->pc_md.awake = ia64_ap_state.as_awake;
+
+		if (!ia64_ap_state.as_awake) {
+			printf("SMP: WARNING: cpu%d did not wake up (code "
+			    "%#lx)\n", pc->pc_cpuid,
+			    ia64_ap_state.as_trace - state);
+		}
 	}
 }
 

From owner-svn-src-projects@FreeBSD.ORG  Fri Apr 29 21:10:46 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 0041E1065672;
	Fri, 29 Apr 2011 21:10:45 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id E492E8FC1F;
	Fri, 29 Apr 2011 21:10:45 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3TLAjHv015775;
	Fri, 29 Apr 2011 21:10:45 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3TLAjl4015773;
	Fri, 29 Apr 2011 21:10:45 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104292110.p3TLAjl4015773@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Fri, 29 Apr 2011 21:10:45 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221228 - projects/altix/sys/ia64/include
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 29 Apr 2011 21:10:46 -0000

Author: marcel
Date: Fri Apr 29 21:10:45 2011
New Revision: 221228
URL: http://svn.freebsd.org/changeset/base/221228

Log:
  o   Add as_trace field.
  o   as_delay must be signed as it can drop below 0.

Modified:
  projects/altix/sys/ia64/include/smp.h

Modified: projects/altix/sys/ia64/include/smp.h
==============================================================================
--- projects/altix/sys/ia64/include/smp.h	Fri Apr 29 21:10:41 2011	(r221227)
+++ projects/altix/sys/ia64/include/smp.h	Fri Apr 29 21:10:45 2011	(r221228)
@@ -17,6 +17,7 @@
 struct pcpu;
 
 struct ia64_ap_state {
+	uint64_t	as_trace;
 	uint64_t	as_pgtbl_pte;
 	uint64_t	as_pgtbl_itir;
 	uint64_t	as_text_va;
@@ -28,7 +29,7 @@ struct ia64_ap_state {
 	void		*as_kstack;
 	void		*as_kstack_top;
 	struct pcpu	*as_pcpu;
-	volatile u_int	as_delay;
+	volatile int	as_delay;
 	volatile u_int	as_awake;
 	volatile u_int	as_spin;
 };

From owner-svn-src-projects@FreeBSD.ORG  Fri Apr 29 21:19:30 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D09771065688;
	Fri, 29 Apr 2011 21:19:30 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id C07158FC19;
	Fri, 29 Apr 2011 21:19:30 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3TLJUM5016130;
	Fri, 29 Apr 2011 21:19:30 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3TLJU0G016128;
	Fri, 29 Apr 2011 21:19:30 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104292119.p3TLJU0G016128@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Fri, 29 Apr 2011 21:19:30 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221230 - projects/altix/sys/conf
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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, 29 Apr 2011 21:19:30 -0000

Author: marcel
Date: Fri Apr 29 21:19:30 2011
New Revision: 221230
URL: http://svn.freebsd.org/changeset/base/221230

Log:
  Provide symbol bdata to mark the base of the data segment.

Modified:
  projects/altix/sys/conf/ldscript.ia64

Modified: projects/altix/sys/conf/ldscript.ia64
==============================================================================
--- projects/altix/sys/conf/ldscript.ia64	Fri Apr 29 21:18:41 2011	(r221229)
+++ projects/altix/sys/conf/ldscript.ia64	Fri Apr 29 21:19:30 2011	(r221230)
@@ -60,6 +60,7 @@ SECTIONS
      page in the loader virtual memory. */
   . = ALIGN(65536);
 
+  PROVIDE (bdata = .);
   .data           :
   {
     *(.ivt.data)

From owner-svn-src-projects@FreeBSD.ORG  Sat Apr 30 01:49:36 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 9FD76106564A;
	Sat, 30 Apr 2011 01:49:36 +0000 (UTC)
	(envelope-from linimon@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 8F25B8FC17;
	Sat, 30 Apr 2011 01:49:36 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3U1nae0024443;
	Sat, 30 Apr 2011 01:49:36 GMT (envelope-from linimon@svn.freebsd.org)
Received: (from linimon@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3U1nahm024441;
	Sat, 30 Apr 2011 01:49:36 GMT (envelope-from linimon@svn.freebsd.org)
Message-Id: <201104300149.p3U1nahm024441@svn.freebsd.org>
From: Mark Linimon <linimon@FreeBSD.org>
Date: Sat, 30 Apr 2011 01:49:36 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221239 - projects/portbuild/scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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: Sat, 30 Apr 2011 01:49:36 -0000

Author: linimon (doc,ports committer)
Date: Sat Apr 30 01:49:36 2011
New Revision: 221239
URL: http://svn.freebsd.org/changeset/base/221239

Log:
  Fix a bogus error message.

Modified:
  projects/portbuild/scripts/dosetupnode

Modified: projects/portbuild/scripts/dosetupnode
==============================================================================
--- projects/portbuild/scripts/dosetupnode	Sat Apr 30 01:29:18 2011	(r221238)
+++ projects/portbuild/scripts/dosetupnode	Sat Apr 30 01:49:36 2011	(r221239)
@@ -67,7 +67,7 @@ setup() {
     fi
 
     cmdpath=$(cat ${pbc}/scripts/setupnode | ssh -a ${client_user}@${node} 't=$(mktemp -t setupnode); cat >$t; echo $t; chmod 755 $t')
-    case ${cmdpath} in /tmp/*) ;; *) echo "Failed to scp claim-chroot to ${host}."; return 1;; esac
+    case ${cmdpath} in /tmp/*) ;; *) echo "Failed to run dosetupnode on ${host}."; return 1;; esac
 
     client_setup="${ssh_cmd} -n ${client_user}@${node} ${cmdpath} ${pbd} ${arch} ${branch} ${buildid} ${scratchdir} \"${portsmd5}\" \"${srcmd5}\" \"${bindistmd5}\""
     args="${nocopy} ${force}"

From owner-svn-src-projects@FreeBSD.ORG  Sat Apr 30 02:44:15 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id C80BD106566B;
	Sat, 30 Apr 2011 02:44:15 +0000 (UTC)
	(envelope-from linimon@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id B83958FC08;
	Sat, 30 Apr 2011 02:44:15 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3U2iFm3026143;
	Sat, 30 Apr 2011 02:44:15 GMT (envelope-from linimon@svn.freebsd.org)
Received: (from linimon@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3U2iFRm026141;
	Sat, 30 Apr 2011 02:44:15 GMT (envelope-from linimon@svn.freebsd.org)
Message-Id: <201104300244.p3U2iFRm026141@svn.freebsd.org>
From: Mark Linimon <linimon@FreeBSD.org>
Date: Sat, 30 Apr 2011 02:44:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221241 - projects/portbuild/scripts
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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: Sat, 30 Apr 2011 02:44:15 -0000

Author: linimon (doc,ports committer)
Date: Sat Apr 30 02:44:15 2011
New Revision: 221241
URL: http://svn.freebsd.org/changeset/base/221241

Log:
  Bomb out if there are no bindist files.
  
  While here, remove an antique line.

Modified:
  projects/portbuild/scripts/dopackages

Modified: projects/portbuild/scripts/dopackages
==============================================================================
--- projects/portbuild/scripts/dopackages	Sat Apr 30 02:31:56 2011	(r221240)
+++ projects/portbuild/scripts/dopackages	Sat Apr 30 02:44:15 2011	(r221241)
@@ -403,6 +403,14 @@ if [ "$trybroken" = 1 ]; then
     export TRYBROKEN=1
 fi
 
+builddir=${pbab}/builds/${buildid}
+
+# bomb out if there are no bindist files
+if [ ! -f ${builddir}/bindist.tbz -o ! -f ${builddir}/bindist.tbz.md5 ]; then
+    echo "missing bindist.tbz and/or bindist.tbz.md5; exiting script at $(date)."
+    mailexit 1
+fi
+
 # Start setting up build environment
 
 if [ "${skipstart}" -eq 0 ]; then
@@ -413,10 +421,9 @@ if [ "${skipstart}" -eq 0 ]; then
     # MCL dopackages: "build create arch branch"
     build clone ${arch} ${branch} ${buildid} ${newbuildid}
     buildid=${newbuildid}
+    builddir=${pbab}/builds/${buildid}
 fi
 
-builddir=${pbab}/builds/${buildid}
-
 # bomb out if build clone failed
 if [ ! -d ${builddir} ]; then
     mailexit 1
@@ -692,8 +699,6 @@ fi
 
 cd ${builddir}/packages/All
 if [ "$nofinish" = 0 ]; then
-    rm -f Makefile
-    
     if [ "$norestr" = 0 ]; then
         # Before deleting restricted packages, save a copy so we don't
         # have to rebuild them next time

From owner-svn-src-projects@FreeBSD.ORG  Sat Apr 30 20:14:20 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 79455106564A;
	Sat, 30 Apr 2011 20:14:20 +0000 (UTC) (envelope-from flz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 665628FC0A;
	Sat, 30 Apr 2011 20:14:20 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3UKEKVS060592;
	Sat, 30 Apr 2011 20:14:20 GMT (envelope-from flz@svn.freebsd.org)
Received: (from flz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3UKEK1P060590;
	Sat, 30 Apr 2011 20:14:20 GMT (envelope-from flz@svn.freebsd.org)
Message-Id: <201104302014.p3UKEK1P060590@svn.freebsd.org>
From: Florent Thoumie <flz@FreeBSD.org>
Date: Sat, 30 Apr 2011 20:14:20 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221268 - projects/portbuild/qmanager
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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: Sat, 30 Apr 2011 20:14:20 -0000

Author: flz
Date: Sat Apr 30 20:14:20 2011
New Revision: 221268
URL: http://svn.freebsd.org/changeset/base/221268

Log:
  portbuild: various fixes.
  
  - Fix path to portbuild now that per-build scripts are in /tmp/${buildid}.
  - Resolve buildid, in case it's "latest" or "previous".

Modified:
  projects/portbuild/qmanager/packagebuild

Modified: projects/portbuild/qmanager/packagebuild
==============================================================================
--- projects/portbuild/qmanager/packagebuild	Sat Apr 30 17:59:54 2011	(r221267)
+++ projects/portbuild/qmanager/packagebuild	Sat Apr 30 20:14:20 2011	(r221268)
@@ -411,7 +411,6 @@ class worker(threading.Thread):
         self.branch = branch
         self.buildid = buildid
         self.queue = queue
-        self.basedir = pbd+"/"+arch+"/"+branch+"/builds/"+buildid
 
         self.setDaemon(True)
 
@@ -437,7 +436,7 @@ class worker(threading.Thread):
             build = subprocess.Popen(
                 ["/bin/sh", "%s/scripts/pdispatch" % pbc,
                  self.arch, self.branch, self.buildid, self.machine,
-                 "%s/scripts/portbuild" % self.basedir, "%s.tbz" % pkg.name,
+                 "/tmp/%s/scripts/portbuild" % self.buildid, "%s.tbz" % pkg.name,
                  pkg.path],
 		 env=runenv,    
                 stderr=subprocess.STDOUT, stdout=subprocess.PIPE, bufsize=0)
@@ -509,7 +508,8 @@ class worker(threading.Thread):
 def main(arch, branch, buildid, args):
     global index
 
-    basedir=pbd+"/"+arch+"/"+branch+"/builds/"+buildid
+    basedir=os.path.realpath(pbd+"/"+arch+"/"+branch+"/builds/"+buildid)
+    buildid=basedir.split("/")[-1]
     portsdir=basedir+"/ports"
 
     # get the major branch number.

From owner-svn-src-projects@FreeBSD.ORG  Sat Apr 30 21:00:37 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id A00301065674;
	Sat, 30 Apr 2011 21:00:37 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 89B968FC17;
	Sat, 30 Apr 2011 21:00:37 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3UL0b8O062133;
	Sat, 30 Apr 2011 21:00:37 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3UL0b9B062111;
	Sat, 30 Apr 2011 21:00:37 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104302100.p3UL0b9B062111@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Sat, 30 Apr 2011 21:00:37 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221272 - in projects/altix/sys: amd64/amd64 amd64/conf
	amd64/include arm/arm arm/conf boot/i386/boot2
	boot/i386/common boot/i386/zfsboot boot/ia64/common
	boot/ia64/efi cam cddl/contrib...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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: Sat, 30 Apr 2011 21:00:37 -0000

Author: marcel
Date: Sat Apr 30 21:00:36 2011
New Revision: 221272
URL: http://svn.freebsd.org/changeset/base/221272

Log:
  Merge svn+ssh://svn.freebsd.org/base/head@221271

Added:
  projects/altix/sys/dev/ath/ath_hal/ar9001/ar9130.ini
     - copied unchanged from r221271, head/sys/dev/ath/ath_hal/ar9001/ar9130.ini
  projects/altix/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c
     - copied unchanged from r221271, head/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c
  projects/altix/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.c
     - copied unchanged from r221271, head/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.c
  projects/altix/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.h
     - copied unchanged from r221271, head/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.h
  projects/altix/sys/dev/ath/ath_hal/ar9001/ar9130_phy.c
     - copied unchanged from r221271, head/sys/dev/ath/ath_hal/ar9001/ar9130_phy.c
  projects/altix/sys/dev/ath/ath_hal/ar9001/ar9130_phy.h
     - copied unchanged from r221271, head/sys/dev/ath/ath_hal/ar9001/ar9130_phy.h
  projects/altix/sys/dev/ath/ath_hal/ar9001/ar9130reg.h
     - copied unchanged from r221271, head/sys/dev/ath/ath_hal/ar9001/ar9130reg.h
  projects/altix/sys/dev/vxge/
     - copied from r221271, head/sys/dev/vxge/
  projects/altix/sys/mips/atheros/ar724x_pci.c
     - copied unchanged from r221271, head/sys/mips/atheros/ar724x_pci.c
  projects/altix/sys/mips/conf/PB92
     - copied unchanged from r221271, head/sys/mips/conf/PB92
  projects/altix/sys/mips/conf/PB92.hints
     - copied unchanged from r221271, head/sys/mips/conf/PB92.hints
  projects/altix/sys/modules/vxge/
     - copied from r221271, head/sys/modules/vxge/
Modified:
  projects/altix/sys/amd64/amd64/identcpu.c
  projects/altix/sys/amd64/amd64/minidump_machdep.c
  projects/altix/sys/amd64/conf/GENERIC
  projects/altix/sys/amd64/include/specialreg.h
  projects/altix/sys/arm/arm/dump_machdep.c
  projects/altix/sys/arm/arm/minidump_machdep.c
  projects/altix/sys/arm/arm/nexus.c
  projects/altix/sys/arm/conf/CAMBRIA
  projects/altix/sys/boot/i386/boot2/Makefile
  projects/altix/sys/boot/i386/common/drv.c
  projects/altix/sys/boot/i386/zfsboot/Makefile
  projects/altix/sys/boot/i386/zfsboot/zfsldr.S
  projects/altix/sys/boot/ia64/common/copy.c
  projects/altix/sys/boot/ia64/efi/efimd.c
  projects/altix/sys/cam/cam_xpt.c
  projects/altix/sys/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S
  projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
  projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
  projects/altix/sys/conf/NOTES
  projects/altix/sys/conf/files
  projects/altix/sys/conf/kern.pre.mk
  projects/altix/sys/conf/options
  projects/altix/sys/contrib/pf/net/if_pflog.c
  projects/altix/sys/contrib/pf/net/pf.c
  projects/altix/sys/contrib/pf/net/pf_ioctl.c
  projects/altix/sys/ddb/db_command.c
  projects/altix/sys/ddb/db_ps.c
  projects/altix/sys/dev/ath/ath_hal/ah.c
  projects/altix/sys/dev/ath/ath_hal/ah_devid.h
  projects/altix/sys/dev/ath/ath_hal/ah_eeprom_v14.c
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar2133.c
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_power.c
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
  projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416reg.h
  projects/altix/sys/dev/ath/if_ath.c
  projects/altix/sys/dev/ath/if_ath_ahb.c
  projects/altix/sys/dev/e1000/if_igb.h
  projects/altix/sys/dev/fdt/fdtbus.c
  projects/altix/sys/dev/ixgbe/ixgbe.h
  projects/altix/sys/dev/md/md.c
  projects/altix/sys/dev/pci/pci.c
  projects/altix/sys/dev/puc/pucdata.c
  projects/altix/sys/dev/usb/net/if_mos.c
  projects/altix/sys/dev/usb/wlan/if_rum.c
  projects/altix/sys/dev/watchdog/watchdog.c
  projects/altix/sys/dev/xen/netfront/netfront.c
  projects/altix/sys/fs/ext2fs/ext2_alloc.c
  projects/altix/sys/fs/ext2fs/ext2_balloc.c
  projects/altix/sys/fs/ext2fs/ext2_dinode.h
  projects/altix/sys/fs/ext2fs/ext2_dir.h
  projects/altix/sys/fs/ext2fs/ext2_extern.h
  projects/altix/sys/fs/ext2fs/ext2_inode.c
  projects/altix/sys/fs/ext2fs/ext2_lookup.c
  projects/altix/sys/fs/ext2fs/ext2_readwrite.c
  projects/altix/sys/fs/ext2fs/ext2_vfsops.c
  projects/altix/sys/fs/ext2fs/ext2_vnops.c
  projects/altix/sys/fs/ext2fs/ext2fs.h
  projects/altix/sys/fs/ext2fs/inode.h
  projects/altix/sys/fs/nfsclient/nfs_clvfsops.c
  projects/altix/sys/i386/conf/GENERIC
  projects/altix/sys/i386/i386/identcpu.c
  projects/altix/sys/i386/i386/minidump_machdep.c
  projects/altix/sys/i386/include/specialreg.h
  projects/altix/sys/ia64/conf/ALTIX
  projects/altix/sys/ia64/conf/GENERIC
  projects/altix/sys/ia64/ia64/dump_machdep.c
  projects/altix/sys/ia64/ia64/nexus.c
  projects/altix/sys/kern/bus_if.m
  projects/altix/sys/kern/kern_shutdown.c
  projects/altix/sys/kern/subr_bus.c
  projects/altix/sys/kern/subr_rman.c
  projects/altix/sys/kern/vfs_subr.c
  projects/altix/sys/mips/atheros/apb.c
  projects/altix/sys/mips/atheros/ar71xx_chip.c
  projects/altix/sys/mips/atheros/ar71xx_cpudef.h
  projects/altix/sys/mips/atheros/ar71xx_pci.c
  projects/altix/sys/mips/atheros/ar724x_chip.c
  projects/altix/sys/mips/atheros/ar724xreg.h
  projects/altix/sys/mips/atheros/ar91xx_chip.c
  projects/altix/sys/mips/atheros/files.ar71xx
  projects/altix/sys/mips/conf/AR71XX
  projects/altix/sys/mips/conf/AR91XX_BASE
  projects/altix/sys/mips/mips/dump_machdep.c
  projects/altix/sys/mips/mips/mainbus.c
  projects/altix/sys/mips/mips/nexus.c
  projects/altix/sys/mips/rmi/xlr_pci.c
  projects/altix/sys/modules/Makefile
  projects/altix/sys/modules/ath/Makefile
  projects/altix/sys/modules/ext2fs/Makefile
  projects/altix/sys/modules/if_carp/Makefile
  projects/altix/sys/net/if_enc.c
  projects/altix/sys/net/if_lagg.c
  projects/altix/sys/netinet/in_pcb.c
  projects/altix/sys/netinet/ip_carp.c
  projects/altix/sys/netinet/ip_icmp.c
  projects/altix/sys/netinet/ip_input.c
  projects/altix/sys/netinet/raw_ip.c
  projects/altix/sys/netinet/sctp_asconf.c
  projects/altix/sys/netinet/sctp_bsd_addr.c
  projects/altix/sys/netinet/sctp_input.c
  projects/altix/sys/netinet/sctp_output.c
  projects/altix/sys/netinet/sctp_pcb.c
  projects/altix/sys/netinet/sctp_sysctl.c
  projects/altix/sys/netinet/sctp_usrreq.c
  projects/altix/sys/netinet/sctp_var.h
  projects/altix/sys/netinet/sctputil.c
  projects/altix/sys/netinet/tcp_input.c
  projects/altix/sys/netinet/tcp_output.c
  projects/altix/sys/netinet/tcp_subr.c
  projects/altix/sys/netinet/tcp_syncache.c
  projects/altix/sys/netinet/tcp_timer.c
  projects/altix/sys/netinet/tcp_timewait.c
  projects/altix/sys/netinet/tcp_usrreq.c
  projects/altix/sys/netinet/tcp_var.h
  projects/altix/sys/netinet/udp_usrreq.c
  projects/altix/sys/netinet6/in6_pcb.c
  projects/altix/sys/netinet6/ip6_ipsec.c
  projects/altix/sys/netinet6/sctp6_usrreq.c
  projects/altix/sys/netinet6/udp6_usrreq.c
  projects/altix/sys/netipsec/ipsec_input.c
  projects/altix/sys/netipsec/ipsec_output.c
  projects/altix/sys/netipsec/key.c
  projects/altix/sys/netipsec/xform_ah.c
  projects/altix/sys/netipsec/xform_esp.c
  projects/altix/sys/netipsec/xform_ipcomp.c
  projects/altix/sys/netipsec/xform_ipip.c
  projects/altix/sys/nfsclient/nfs_vfsops.c
  projects/altix/sys/pc98/conf/GENERIC
  projects/altix/sys/powerpc/conf/GENERIC
  projects/altix/sys/powerpc/conf/GENERIC64
  projects/altix/sys/powerpc/powerpc/dump_machdep.c
  projects/altix/sys/rpc/clnt.h
  projects/altix/sys/rpc/clnt_rc.c
  projects/altix/sys/rpc/clnt_vc.c
  projects/altix/sys/rpc/rpcb_clnt.c
  projects/altix/sys/sparc64/conf/GENERIC
  projects/altix/sys/sun4v/conf/GENERIC
  projects/altix/sys/sys/bus.h
  projects/altix/sys/sys/rman.h
  projects/altix/sys/sys/watchdog.h
  projects/altix/sys/ufs/ffs/ffs_vnops.c
  projects/altix/sys/x86/x86/dump_machdep.c
  projects/altix/sys/x86/x86/nexus.c
  projects/altix/sys/x86/x86/tsc.c
Directory Properties:
  projects/altix/lib/libstand/   (props changed)
  projects/altix/sys/   (props changed)
  projects/altix/sys/amd64/include/xen/   (props changed)
  projects/altix/sys/boot/i386/efi/   (props changed)
  projects/altix/sys/boot/ia64/efi/   (props changed)
  projects/altix/sys/boot/ia64/ski/   (props changed)
  projects/altix/sys/boot/powerpc/boot1.chrp/   (props changed)
  projects/altix/sys/boot/powerpc/ofw/   (props changed)
  projects/altix/sys/cddl/contrib/opensolaris/   (props changed)
  projects/altix/sys/conf/   (props changed)
  projects/altix/sys/contrib/dev/acpica/   (props changed)
  projects/altix/sys/contrib/octeon-sdk/   (props changed)
  projects/altix/sys/contrib/pf/   (props changed)
  projects/altix/sys/contrib/x86emu/   (props changed)
  projects/altix/sys/kern/subr_busdma.c   (props changed)

Modified: projects/altix/sys/amd64/amd64/identcpu.c
==============================================================================
--- projects/altix/sys/amd64/amd64/identcpu.c	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/amd64/amd64/identcpu.c	Sat Apr 30 21:00:36 2011	(r221272)
@@ -296,7 +296,7 @@ printcpuinfo(void)
 				"\035<b28>"
 				"\036<b29>"
 				"\037<b30>"
-				"\040<b31>"
+				"\040HV"	/* Hypervisor */
 				);
 			}
 

Modified: projects/altix/sys/amd64/amd64/minidump_machdep.c
==============================================================================
--- projects/altix/sys/amd64/amd64/minidump_machdep.c	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/amd64/amd64/minidump_machdep.c	Sat Apr 30 21:00:36 2011	(r221272)
@@ -27,6 +27,8 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
+#include "opt_watchdog.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/conf.h>
@@ -34,6 +36,9 @@ __FBSDID("$FreeBSD$");
 #include <sys/kernel.h>
 #include <sys/kerneldump.h>
 #include <sys/msgbuf.h>
+#ifdef SW_WATCHDOG
+#include <sys/watchdog.h>
+#endif
 #include <vm/vm.h>
 #include <vm/pmap.h>
 #include <machine/atomic.h>
@@ -167,6 +172,9 @@ blk_write(struct dumperinfo *di, char *p
 			report_progress(progress, dumpsize);
 			counter &= (1<<24) - 1;
 		}
+#ifdef SW_WATCHDOG
+		wdog_kern_pat(WD_LASTVAL);
+#endif
 		if (ptr) {
 			error = dump_write(di, ptr, 0, dumplo, len);
 			if (error)

Modified: projects/altix/sys/amd64/conf/GENERIC
==============================================================================
--- projects/altix/sys/amd64/conf/GENERIC	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/amd64/conf/GENERIC	Sat Apr 30 21:00:36 2011	(r221272)
@@ -34,8 +34,8 @@ options 	UFS_ACL			# Support for access 
 options 	UFS_DIRHASH		# Improve performance on big directories
 options 	UFS_GJOURNAL		# Enable gjournal-based UFS journaling
 options 	MD_ROOT			# MD is a potential root device
-options 	NFSCLIENT		# Network Filesystem Client
-options 	NFSSERVER		# Network Filesystem Server
+options 	NFSCL			# New Network Filesystem Client
+options 	NFSD			# New Network Filesystem Server
 options 	NFSLOCKD		# Network Lock Manager
 options 	NFS_ROOT		# NFS usable as /, requires NFSCLIENT
 options 	MSDOSFS			# MSDOS Filesystem
@@ -316,6 +316,7 @@ device		udav		# Davicom DM9601E USB
 device		rum		# Ralink Technology RT2501USB wireless NICs
 device		uath		# Atheros AR5523 wireless NICs
 device		ural		# Ralink Technology RT2500USB wireless NICs
+device		urtw		# Realtek RTL8187B/L wireless NICs
 device		zyd		# ZyDAS zb1211/zb1211b wireless NICs
 
 # FireWire support

Modified: projects/altix/sys/amd64/include/specialreg.h
==============================================================================
--- projects/altix/sys/amd64/include/specialreg.h	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/amd64/include/specialreg.h	Sat Apr 30 21:00:36 2011	(r221272)
@@ -134,6 +134,7 @@
 #define	CPUID2_MOVBE	0x00400000
 #define	CPUID2_POPCNT	0x00800000
 #define	CPUID2_AESNI	0x02000000
+#define	CPUID2_HV	0x80000000
 
 /*
  * Important bits in the Thermal and Power Management flags

Modified: projects/altix/sys/arm/arm/dump_machdep.c
==============================================================================
--- projects/altix/sys/arm/arm/dump_machdep.c	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/arm/arm/dump_machdep.c	Sat Apr 30 21:00:36 2011	(r221272)
@@ -27,6 +27,8 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
+#include "opt_watchdog.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/conf.h>
@@ -35,6 +37,9 @@ __FBSDID("$FreeBSD$");
 #include <sys/kernel.h>
 #include <sys/proc.h>
 #include <sys/kerneldump.h>
+#ifdef SW_WATCHDOG
+#include <sys/watchdog.h>
+#endif
 #include <vm/vm.h>
 #include <vm/pmap.h>
 #include <machine/elf.h>
@@ -189,6 +194,9 @@ cb_dumpdata(struct md_pa *mdp, int seqnr
 			cpu_tlb_flushID_SE(0);
 			cpu_cpwait();
 		}
+#ifdef SW_WATCHDOG
+		wdog_kern_pat(WD_LASTVAL);
+#endif
 		error = dump_write(di, 
 		    (void *)(pa - (pa & L1_ADDR_BITS)),0, dumplo, sz);
 		if (error)

Modified: projects/altix/sys/arm/arm/minidump_machdep.c
==============================================================================
--- projects/altix/sys/arm/arm/minidump_machdep.c	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/arm/arm/minidump_machdep.c	Sat Apr 30 21:00:36 2011	(r221272)
@@ -29,6 +29,8 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
+#include "opt_watchdog.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/conf.h>
@@ -36,6 +38,9 @@ __FBSDID("$FreeBSD$");
 #include <sys/kernel.h>
 #include <sys/kerneldump.h>
 #include <sys/msgbuf.h>
+#ifdef SW_WATCHDOG
+#include <sys/watchdog.h>
+#endif
 #include <vm/vm.h>
 #include <vm/pmap.h>
 #include <machine/pmap.h>
@@ -138,6 +143,9 @@ blk_write(struct dumperinfo *di, char *p
 			counter &= (1<<22) - 1;
 		}
 
+#ifdef SW_WATCHDOG
+		wdog_kern_pat(WD_LASTVAL);
+#endif
 		if (ptr) {
 			error = dump_write(di, ptr, 0, dumplo, len);
 			if (error)

Modified: projects/altix/sys/arm/arm/nexus.c
==============================================================================
--- projects/altix/sys/arm/arm/nexus.c	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/arm/arm/nexus.c	Sat Apr 30 21:00:36 2011	(r221272)
@@ -138,10 +138,10 @@ nexus_attach(device_t dev)
 {
 
 	mem_rman.rm_start = 0;
-	mem_rman.rm_end = ~0u;
+	mem_rman.rm_end = ~0ul;
 	mem_rman.rm_type = RMAN_ARRAY;
 	mem_rman.rm_descr = "I/O memory addresses";
-	if (rman_init(&mem_rman) || rman_manage_region(&mem_rman, 0, ~0u))
+	if (rman_init(&mem_rman) || rman_manage_region(&mem_rman, 0, ~0))
 		panic("nexus_probe mem_rman");
 
 	/*

Modified: projects/altix/sys/arm/conf/CAMBRIA
==============================================================================
--- projects/altix/sys/arm/conf/CAMBRIA	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/arm/conf/CAMBRIA	Sat Apr 30 21:00:36 2011	(r221272)
@@ -144,7 +144,7 @@ device		ath_rf5112
 device		ath_rf5413
 #
 #device		ath_ar5416
-#options 	AH_SUPPORT_AR5416	# NB: for 11n descriptor format
+options 	AH_SUPPORT_AR5416	# NB: for 11n descriptor format
 #device		ath_ar9160
 #device		ath_ar9280
 

Modified: projects/altix/sys/boot/i386/boot2/Makefile
==============================================================================
--- projects/altix/sys/boot/i386/boot2/Makefile	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/boot/i386/boot2/Makefile	Sat Apr 30 21:00:36 2011	(r221272)
@@ -32,6 +32,7 @@ CFLAGS=	-Os \
 	-mno-align-long-strings \
 	-mrtd \
 	-mregparm=3 \
+	-DUSE_XREAD \
 	-D${BOOT2_UFS} \
 	-DFLAGS=${BOOT_BOOT1_FLAGS} \
 	-DSIOPRT=${BOOT_COMCONSOLE_PORT} \

Modified: projects/altix/sys/boot/i386/common/drv.c
==============================================================================
--- projects/altix/sys/boot/i386/common/drv.c	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/boot/i386/common/drv.c	Sat Apr 30 21:00:36 2011	(r221272)
@@ -26,7 +26,7 @@ __FBSDID("$FreeBSD$");
 #include "rbx.h"
 #include "util.h"
 #include "drv.h"
-#ifndef GPT
+#ifdef USE_XREAD
 #include "xreadorg.h"
 #endif
 
@@ -58,7 +58,7 @@ drvsize(struct dsk *dskp)
 }
 #endif	/* GPT */
 
-#ifdef GPT
+#ifndef USE_XREAD
 static struct {
 	uint16_t	len;
 	uint16_t	count;
@@ -66,7 +66,7 @@ static struct {
 	uint16_t	seg;
 	uint64_t	lba;
 } packet;
-#endif	/* GPT */
+#endif
 
 int
 drvread(struct dsk *dskp, void *buf, daddr_t lba, unsigned nblk)
@@ -75,7 +75,7 @@ drvread(struct dsk *dskp, void *buf, dad
 
 	if (!OPT_CHECK(RBX_QUIET))
 		printf("%c\b", c = c << 8 | c >> 24);
-#ifdef GPT
+#ifndef USE_XREAD
 	packet.len = 0x10;
 	packet.count = nblk;
 	packet.off = VTOPOFF(buf);
@@ -87,7 +87,7 @@ drvread(struct dsk *dskp, void *buf, dad
 	v86.edx = dskp->drive;
 	v86.ds = VTOPSEG(&packet);
 	v86.esi = VTOPOFF(&packet);
-#else	/* !GPT */
+#else	/* USE_XREAD */
 	v86.ctl = V86_ADDR | V86_CALLF | V86_FLAGS;
 	v86.addr = XREADORG;		/* call to xread in boot1 */
 	v86.es = VTOPSEG(buf);
@@ -95,7 +95,7 @@ drvread(struct dsk *dskp, void *buf, dad
 	v86.ebx = VTOPOFF(buf);
 	v86.ecx = lba >> 32;
 	v86.edx = nblk << 8 | dskp->drive;
-#endif	/* !GPT */
+#endif	/* USE_XREAD */
 	v86int();
 	if (V86_CY(v86.efl)) {
 		printf("%s: error %u lba %u\n",

Modified: projects/altix/sys/boot/i386/zfsboot/Makefile
==============================================================================
--- projects/altix/sys/boot/i386/zfsboot/Makefile	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/boot/i386/zfsboot/Makefile	Sat Apr 30 21:00:36 2011	(r221272)
@@ -6,9 +6,6 @@ FILES=		zfsboot
 
 NM?=		nm
 
-# A value of 0x80 enables LBA support.
-BOOT_BOOT1_FLAGS?=	0x80
-
 BOOT_COMCONSOLE_PORT?= 0x3f8
 BOOT_COMCONSOLE_SPEED?= 9600
 B2SIOFMT?=	0x3
@@ -25,7 +22,6 @@ CFLAGS=	-DBOOTPROG=\"zfsboot\" \
 	-mno-align-long-strings \
 	-mrtd \
 	-DBOOT2 \
-	-DFLAGS=${BOOT_BOOT1_FLAGS} \
 	-DSIOPRT=${BOOT_COMCONSOLE_PORT} \
 	-DSIOFMT=${B2SIOFMT} \
 	-DSIOSPD=${BOOT_COMCONSOLE_SPEED} \
@@ -64,8 +60,7 @@ zfsldr.out: zfsldr.o
 	${LD} ${LDFLAGS} -e start -Ttext ${ORG1} -o ${.TARGET} zfsldr.o
 
 CLEANFILES+=	zfsboot2 zfsboot.ld zfsboot.ldr zfsboot.bin zfsboot.out \
-		zfsboot.o zfsboot.s zfsboot.s.tmp xreadorg.h sio.o cons.o \
-		drv.o util.o
+		zfsboot.o zfsboot.s zfsboot.s.tmp sio.o cons.o drv.o util.o
 
 # We currently allow 65536 bytes for zfsboot - in practice it could be
 # any size up to 3.5Mb but keeping it fixed size simplifies zfsldr.
@@ -92,20 +87,13 @@ zfsboot.out: ${BTXCRT} zfsboot.o sio.o d
 
 zfsboot.o: zfsboot.s
 
-SRCS=	zfsboot.c xreadorg.h
+SRCS=	zfsboot.c
 
-zfsboot.s: zfsboot.c xreadorg.h ${.CURDIR}/../../zfs/zfsimpl.c
+zfsboot.s: zfsboot.c ${.CURDIR}/../../zfs/zfsimpl.c
 	${CC} ${CFLAGS} -S -o zfsboot.s.tmp ${.CURDIR}/zfsboot.c
 	sed -e '/align/d' -e '/nop/d' < zfsboot.s.tmp > zfsboot.s
 	rm -f zfsboot.s.tmp
 
-xreadorg.h: zfsldr.out
-	${NM} -t d ${.ALLSRC} | awk '/([0-9])+ T xread/ \
-	    { x = $$1 - ORG1; \
-	    printf("#define XREADORG %#x\n", REL1 + x) }' \
-	    ORG1=`printf "%d" ${ORG1}` \
-	    REL1=`printf "%d" ${REL1}` > ${.TARGET}
-
 .if ${MACHINE_CPUARCH} == "amd64"
 beforedepend zfsboot.s: machine
 CLEANFILES+=	machine

Modified: projects/altix/sys/boot/i386/zfsboot/zfsldr.S
==============================================================================
--- projects/altix/sys/boot/i386/zfsboot/zfsldr.S	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/boot/i386/zfsboot/zfsldr.S	Sat Apr 30 21:00:36 2011	(r221272)
@@ -30,16 +30,12 @@
 		.set PRT_NUM,0x4		# Partitions
 		.set PRT_BSD,0xa5		# Partition type
 
-/* Flag Bits */
-		.set FL_PACKET,0x80		# Packet mode
-
 /* Misc. Constants */
 		.set SIZ_PAG,0x1000		# Page size
 		.set SIZ_SEC,0x200		# Sector size
 
 		.set NSECT,0x80
 		.globl start
-		.globl xread
 		.code16
 
 start:		jmp main			# Start recognizably
@@ -49,7 +45,7 @@ start:		jmp main			# Start recognizably
  * FAT disks have this at the start of their MBR. While normal BIOS's will
  * work fine without this section, IBM's El Torito emulation "fixes" up the
  * BPB by writing into the memory copy of the MBR. Rather than have data
- * written into our xread routine, we'll define a BPB to work around it.
+ * written into our code, we'll define a BPB to work around it.
  * The data marked with (T) indicates a field required for a ThinkPad to
  * recognize the disk and (W) indicates fields written from IBM BIOS code.
  * The use of the BPB is based on what OpenBSD and NetBSD implemented in
@@ -80,34 +76,7 @@ ebpb:		.byte	0		# BIOS physical drive nu
 
 		.org 0x25,0x90
 /*
- * Trampoline used by boot2 to call read to read data from the disk via
- * the BIOS.  Call with:
- *
- * %ecx:%eax	- long    - LBA to read in
- * %es:(%bx)	- caddr_t - buffer to read data into
- * %dl		- byte    - drive to read from
- * %dh		- byte    - num sectors to read
- */
-
-xread:		push %ss			# Address
-		pop %ds				#  data
-/*
- * Setup an EDD disk packet and pass it to read
- */
-xread.1:	pushl %ecx			# Starting absolute block
-		pushl %eax			#  block number
-		push %es			# Address of
-		push %bx			#  transfer buffer
-		xor %ax,%ax			# Number of
-		movb %dh,%al			#  blocks to
-		push %ax			#  transfer
-		push $0x10			# Size of packet
-		mov %sp,%bp			# Packet pointer
-		callw read			# Read from disk
-		lea 0x10(%bp),%sp		# Clear stack
-		lret				# To far caller
-/*
- * Load the rest of boot2 and BTX up, copy the parts to the right locations,
+ * Load the rest of zfsboot2 and BTX up, copy the parts to the right locations,
  * and start it all up.
  */
 
@@ -181,7 +150,7 @@ main.4: 	xor %dx,%dx			# Partition:drive
  * itself to 0x9000 - doing it in this order means that none of the
  * memcpy regions overlap which would corrupt the copy.  Normally, BTX
  * clients start at MEM_USR, or 0xa000, but when we use btxld to
- * create boot2, we use an entry point of 0x2000.  That entry point is
+ * create zfsboot2, we use an entry point of 0x2000.  That entry point is
  * relative to MEM_USR; thus boot2.bin starts at 0xc000.
  *
  * The load area and the target area for the client overlap so we have
@@ -241,15 +210,29 @@ seta20.3:	sti				# Enable interrupts
 
 
 /*
- * Trampoline used to call read from within boot1.
+ * Trampoline used to call read from within zfsldr.  Sets up an EDD
+ * packet on the stack and passes it to read.
+ *
+ * %eax		- int     - LBA to read in relative to partition start
+ * %dl		- byte    - drive to read from
+ * %dh		- byte    - num sectors to read
+ * %si		- ptr     - MBR partition entry
  */
 nread:		xor %eax,%eax			# Sector offset in partition
-nread.1:	mov $MEM_BUF,%bx		# Transfer buffer
-		xor %ecx,%ecx			# Get
+nread.1:	xor %ecx,%ecx			# Get
 		addl 0x8(%si),%eax		#  LBA
 		adc $0,%ecx
-		push %cs			# Read from
-		callw xread.1	 		#  disk
+		pushl %ecx			# Starting absolute block
+		pushl %eax			#  block number
+		push %es			# Address of
+		push $MEM_BUF			#  transfer buffer
+		xor %ax,%ax			# Number of
+		movb %dh,%al			#  blocks to
+		push %ax			#  transfer
+		push $0x10			# Size of packet
+		mov %sp,%bp			# Packet pointer
+		callw read			# Read from disk
+		lea 0x10(%bp),%sp		# Clear stack
 		jnc return			# If success, return
 		mov $msg_read,%si		# Otherwise, set the error
 						#  message and fall through to
@@ -293,9 +276,7 @@ return: 	retw				# To caller
  * %dl	- byte     - drive number
  * stack - 10 bytes - EDD Packet
  */
-read:		testb $FL_PACKET,%cs:MEM_REL+flags-start # LBA support enabled?
-		jz read.1			# No, use CHS
-		cmpb $0x80,%dl			# Hard drive?
+read:		cmpb $0x80,%dl			# Hard drive?
 		jb read.1			# No, use CHS
 		mov $0x55aa,%bx			# Magic
 		push %dx			# Save
@@ -311,73 +292,9 @@ read:		testb $FL_PACKET,%cs:MEM_REL+flag
 		movb $0x42,%ah			# BIOS: Extended
 		int $0x13			#  read
 		retw				# To caller
-#if 0	
-read.1:	 	push %dx			# Save
-		movb $0x8,%ah			# BIOS: Get drive
-		int $0x13			#  parameters
-		movb %dh,%ch			# Max head number
-		pop %dx				# Restore
-		jc return			# If error
-		andb $0x3f,%cl			# Sectors per track
-		jz ereturn			# If zero
-		cli				# Disable interrupts
-		mov 0x8(%bp),%eax		# Get LBA
-		push %dx			# Save
-		movzbl %cl,%ebx			# Divide by
-		xor %edx,%edx			#  sectors
-		div %ebx			#  per track
-		movb %ch,%bl			# Max head number
-		movb %dl,%ch			# Sector number
-		inc %bx				# Divide by
-		xorb %dl,%dl			#  number
-		div %ebx			#  of heads
-		movb %dl,%bh			# Head number
-		pop %dx				# Restore
-		cmpl $0x3ff,%eax		# Cylinder number supportable?
-		sti				# Enable interrupts
-		ja ereturn			# No, return an error
-		xchgb %al,%ah			# Set up cylinder
-		rorb $0x2,%al			#  number
-		orb %ch,%al			# Merge
-		inc %ax				#  sector
-		xchg %ax,%cx	 		#  number
-		movb %bh,%dh			# Head number
-		subb %ah,%al			# Sectors this track
-		mov 0x2(%bp),%ah		# Blocks to read
-		cmpb %ah,%al			# To read
-		jb read.2			#  this
-#ifdef	TRACK_AT_A_TIME
-		movb %ah,%al			#  track
-#else
-		movb $1,%al			#  one sector
-#endif
-read.2: 	mov $0x5,%di	 		# Try count
-read.3: 	les 0x4(%bp),%bx		# Transfer buffer
-		push %ax			# Save
-		movb $0x2,%ah			# BIOS: Read
-		int $0x13			#  from disk
-		pop %bx				# Restore
-		jnc read.4			# If success
-		dec %di				# Retry?
-		jz read.6			# No
-		xorb %ah,%ah			# BIOS: Reset
-		int $0x13			#  disk system
-		xchg %bx,%ax	 		# Block count
-		jmp read.3			# Continue
-read.4: 	movzbw %bl,%ax	 		# Sectors read
-		add %ax,0x8(%bp)		# Adjust
-		jnc read.5			#  LBA,
-		incw 0xa(%bp)	 		#  transfer
-read.5: 	shlb %bl			#  buffer
-		add %bl,0x5(%bp)		#  pointer,
-		sub %al,0x2(%bp)		#  block count
-		ja read.1			# If not done
-read.6: 	retw				# To caller
-#else
 read.1:		mov $msg_chs,%si
 		jmp error
 msg_chs:	.asciz "CHS not supported"
-#endif
 
 /* Messages */
 
@@ -386,8 +303,6 @@ msg_part:	.asciz "Boot"
 
 prompt: 	.asciz " error\r\n"
 
-flags:		.byte FLAGS			# Flags
-
 		.org PRT_OFF,0x90
 
 /* Partition table */

Modified: projects/altix/sys/boot/ia64/common/copy.c
==============================================================================
--- projects/altix/sys/boot/ia64/common/copy.c	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/boot/ia64/common/copy.c	Sat Apr 30 21:00:36 2011	(r221272)
@@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$");
 
 #include <stand.h>
 #include <machine/param.h>
+#include <machine/pte.h>
 
 #include "libia64.h"
 
@@ -40,6 +41,7 @@ uint32_t ia64_pgtblsz;
 static int
 pgtbl_extend(u_int idx)
 {
+	vm_paddr_t pa;
 	uint64_t *pgtbl;
 	uint32_t pgtblsz;
 	u_int pot;
@@ -65,9 +67,10 @@ pgtbl_extend(u_int idx)
 		pgtblsz <<= 1;
 
 	/* Allocate naturally aligned memory. */
-	pgtbl = (void *)ia64_platform_alloc(0, pgtblsz);
-	if (pgtbl == NULL)
+	pa = ia64_platform_alloc(0, pgtblsz);
+	if (pa == ~0UL)
 		return (ENOMEM);
+	pgtbl = (void *)pa;
 
 	/* Initialize new page table. */
 	if (ia64_pgtbl != NULL && ia64_pgtbl != pgtbl)
@@ -85,7 +88,7 @@ pgtbl_extend(u_int idx)
 void *
 ia64_va2pa(vm_offset_t va, size_t *len)
 {
-	uint64_t pa;
+	uint64_t pa, pte;
 	u_int idx, ofs;
 	int error;
 
@@ -111,16 +114,18 @@ ia64_va2pa(vm_offset_t va, size_t *len)
 	}
 
 	ofs = va & IA64_PBVM_PAGE_MASK;
-	pa = ia64_pgtbl[idx];
-	if (pa == 0) {
+	pte = ia64_pgtbl[idx];
+	if ((pte & PTE_PRESENT) == 0) {
 		pa = ia64_platform_alloc(va - ofs, IA64_PBVM_PAGE_SIZE);
-		if (pa == 0) {
+		if (pa == ~0UL) {
 			error = ENOMEM;
 			goto fail;
 		}
-		ia64_pgtbl[idx] = pa;
+		pte = PTE_AR_RWX | PTE_DIRTY | PTE_ACCESSED | PTE_PRESENT;
+		pte |= (pa & PTE_PPN_MASK);
+		ia64_pgtbl[idx] = pte;
 	}
-	pa += ofs;
+	pa = (pte & PTE_PPN_MASK) + ofs;
 
 	/* We can not cross page boundaries (in general). */
 	if (*len + ofs > IA64_PBVM_PAGE_SIZE)

Modified: projects/altix/sys/boot/ia64/efi/efimd.c
==============================================================================
--- projects/altix/sys/boot/ia64/efi/efimd.c	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/boot/ia64/efi/efimd.c	Sat Apr 30 21:00:36 2011	(r221272)
@@ -90,6 +90,10 @@ ia64_efi_memmap_update(void)
 	return (TRUE);
 }
 
+/*
+ * Returns 0 on failure. Successful allocations return an address
+ * larger or equal to IA64_EFI_ALLOC_BOUNDARY.
+ */
 static vm_paddr_t
 ia64_efi_alloc(vm_size_t sz)
 {
@@ -144,11 +148,12 @@ ia64_efi_alloc(vm_size_t sz)
 vm_paddr_t
 ia64_platform_alloc(vm_offset_t va, vm_size_t sz)
 {
+	vm_paddr_t pa;
 
 	if (va == 0) {
 		/* Page table itself. */
 		if (sz > IA64_EFI_PGTBLSZ_MAX)
-			return (0);
+			return (~0UL);
 		if (ia64_efi_pgtbl == 0)
 			ia64_efi_pgtbl = ia64_efi_alloc(IA64_EFI_PGTBLSZ_MAX);
 		if (ia64_efi_pgtbl != 0)
@@ -156,7 +161,7 @@ ia64_platform_alloc(vm_offset_t va, vm_s
 		return (ia64_efi_pgtbl);
 	} else if (va < IA64_PBVM_BASE) {
 		/* Should not happen. */
-		return (0);
+		return (~0UL);
 	}
 
 	/* Loader virtual memory page. */
@@ -169,7 +174,8 @@ ia64_platform_alloc(vm_offset_t va, vm_s
 		return (ia64_efi_chunk + va);
 
 	/* Allocate a page at a time when we go beyond the chunk. */
-	return (ia64_efi_alloc(sz));
+	pa = ia64_efi_alloc(sz);
+	return ((pa == 0) ? ~0UL : pa);
 }
 
 void

Modified: projects/altix/sys/cam/cam_xpt.c
==============================================================================
--- projects/altix/sys/cam/cam_xpt.c	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/cam/cam_xpt.c	Sat Apr 30 21:00:36 2011	(r221272)
@@ -2328,19 +2328,18 @@ xpt_action(union ccb *start_ccb)
 void
 xpt_action_default(union ccb *start_ccb)
 {
+#ifdef CAMDEBUG
+	char cdb_str[(SCSI_MAX_CDBLEN * 3) + 1];
+#endif
+	struct cam_path *path;
 
-	CAM_DEBUG(start_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("xpt_action_default\n"));
+	path = start_ccb->ccb_h.path;
+	CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_action_default\n"));
 
 	switch (start_ccb->ccb_h.func_code) {
 	case XPT_SCSI_IO:
 	{
 		struct cam_ed *device;
-#ifdef CAMDEBUG
-		char cdb_str[(SCSI_MAX_CDBLEN * 3) + 1];
-		struct cam_path *path;
-
-		path = start_ccb->ccb_h.path;
-#endif
 
 		/*
 		 * For the sake of compatibility with SCSI-1
@@ -2358,7 +2357,7 @@ xpt_action_default(union ccb *start_ccb)
 		 * This means that this code will be exercised while probing
 		 * devices with an ANSI revision greater than 2.
 		 */
-		device = start_ccb->ccb_h.path->device;
+		device = path->device;
 		if (device->protocol_version <= SCSI_REV_2
 		 && start_ccb->ccb_h.target_lun < 8
 		 && (start_ccb->ccb_h.flags & CAM_CDB_POINTER) == 0) {
@@ -2382,13 +2381,16 @@ xpt_action_default(union ccb *start_ccb)
 	case XPT_ATA_IO:
 		if (start_ccb->ccb_h.func_code == XPT_ATA_IO) {
 			start_ccb->ataio.resid = 0;
+			CAM_DEBUG(path, CAM_DEBUG_CDB,("%s. ACB: %s\n",
+			    ata_op_string(&start_ccb->ataio.cmd),
+			    ata_cmd_string(&start_ccb->ataio.cmd,
+					  cdb_str, sizeof(cdb_str))));
 		}
 		/* FALLTHROUGH */
 	case XPT_RESET_DEV:
 	case XPT_ENG_EXEC:
 	case XPT_SMP_IO:
 	{
-		struct cam_path *path = start_ccb->ccb_h.path;
 		int frozen;
 
 		frozen = cam_ccbq_insert_ccb(&path->device->ccbq, start_ccb);
@@ -2427,7 +2429,7 @@ xpt_action_default(union ccb *start_ccb)
 			break;
 		}
 #endif
-		sim = start_ccb->ccb_h.path->bus->sim;
+		sim = path->bus->sim;
 		(*(sim->sim_action))(sim, start_ccb);
 		break;
 	}
@@ -2495,7 +2497,7 @@ xpt_action_default(union ccb *start_ccb)
 	{
 		struct cam_sim *sim;
 
-		sim = start_ccb->ccb_h.path->bus->sim;
+		sim = path->bus->sim;
 		(*(sim->sim_action))(sim, start_ccb);
 		break;
 	}
@@ -2503,20 +2505,19 @@ xpt_action_default(union ccb *start_ccb)
 	{
 		struct cam_sim *sim;
 
-		sim = start_ccb->ccb_h.path->bus->sim;
+		sim = path->bus->sim;
 		(*(sim->sim_action))(sim, start_ccb);
 		break;
 	}
 	case XPT_PATH_STATS:
-		start_ccb->cpis.last_reset =
-			start_ccb->ccb_h.path->bus->last_reset;
+		start_ccb->cpis.last_reset = path->bus->last_reset;
 		start_ccb->ccb_h.status = CAM_REQ_CMP;
 		break;
 	case XPT_GDEV_TYPE:
 	{
 		struct cam_ed *dev;
 
-		dev = start_ccb->ccb_h.path->device;
+		dev = path->device;
 		if ((dev->flags & CAM_DEV_UNCONFIGURED) != 0) {
 			start_ccb->ccb_h.status = CAM_DEV_NOT_THERE;
 		} else {
@@ -2540,7 +2541,7 @@ xpt_action_default(union ccb *start_ccb)
 	{
 		struct cam_ed *dev;
 
-		dev = start_ccb->ccb_h.path->device;
+		dev = path->device;
 		if ((dev->flags & CAM_DEV_UNCONFIGURED) != 0) {
 			start_ccb->ccb_h.status = CAM_DEV_NOT_THERE;
 		} else {
@@ -2549,8 +2550,8 @@ xpt_action_default(union ccb *start_ccb)
 			struct cam_et *tar;
 
 			cgds = &start_ccb->cgds;
-			bus = cgds->ccb_h.path->bus;
-			tar = cgds->ccb_h.path->target;
+			bus = path->bus;
+			tar = path->target;
 			cgds->dev_openings = dev->ccbq.dev_openings;
 			cgds->dev_active = dev->ccbq.dev_active;
 			cgds->devq_openings = dev->ccbq.devq_openings;
@@ -2580,7 +2581,7 @@ xpt_action_default(union ccb *start_ccb)
 		/*
 		 * Don't want anyone mucking with our data.
 		 */
-		device = start_ccb->ccb_h.path->device;
+		device = path->device;
 		periph_head = &device->periphs;
 		cgdl = &start_ccb->cgdl;
 
@@ -2697,7 +2698,7 @@ xpt_action_default(union ccb *start_ccb)
 
 		csa = &start_ccb->csa;
 		added = csa->event_enable;
-		async_head = &csa->ccb_h.path->device->asyncs;
+		async_head = &path->device->asyncs;
 
 		/*
 		 * If there is already an entry for us, simply
@@ -2720,7 +2721,7 @@ xpt_action_default(union ccb *start_ccb)
 			if (csa->event_enable == 0) {
 				SLIST_REMOVE(async_head, cur_entry,
 					     async_node, links);
-				xpt_release_device(csa->ccb_h.path->device);
+				xpt_release_device(path->device);
 				free(cur_entry, M_CAMXPT);
 			} else {
 				cur_entry->event_enable = csa->event_enable;
@@ -2737,7 +2738,7 @@ xpt_action_default(union ccb *start_ccb)
 			cur_entry->callback_arg = csa->callback_arg;
 			cur_entry->callback = csa->callback;
 			SLIST_INSERT_HEAD(async_head, cur_entry, links);
-			xpt_acquire_device(csa->ccb_h.path->device);
+			xpt_acquire_device(path->device);
 		}
 		start_ccb->ccb_h.status = CAM_REQ_CMP;
 		break;
@@ -2748,7 +2749,7 @@ xpt_action_default(union ccb *start_ccb)
 		struct cam_ed *dev;
 
 		crs = &start_ccb->crs;
-		dev = crs->ccb_h.path->device;
+		dev = path->device;
 		if (dev == NULL) {
 
 			crs->ccb_h.status = CAM_DEV_NOT_THERE;
@@ -2760,11 +2761,11 @@ xpt_action_default(union ccb *start_ccb)
  			if (INQ_DATA_TQ_ENABLED(&dev->inq_data)) {
 				/* Don't ever go below one opening */
 				if (crs->openings > 0) {
-					xpt_dev_ccbq_resize(crs->ccb_h.path,
+					xpt_dev_ccbq_resize(path,
 							    crs->openings);
 
 					if (bootverbose) {
-						xpt_print(crs->ccb_h.path,
+						xpt_print(path,
 						    "tagged openings now %d\n",
 						    crs->openings);
 					}
@@ -2826,7 +2827,7 @@ xpt_action_default(union ccb *start_ccb)
 		}
 
 		if ((start_ccb->ccb_h.flags & CAM_DEV_QFREEZE) == 0) {
-			xpt_release_devq_rl(crs->ccb_h.path, /*runlevel*/
+			xpt_release_devq_rl(path, /*runlevel*/
 			    (crs->release_flags & RELSIM_RELEASE_RUNLEVEL) ?
 				crs->release_timeout : 0,
 			    /*count*/1, /*run_queue*/TRUE);
@@ -2872,7 +2873,7 @@ xpt_action_default(union ccb *start_ccb)
 	{
 		struct ccb_relsim *crs = &start_ccb->crs;
 
-		xpt_freeze_devq_rl(crs->ccb_h.path, /*runlevel*/
+		xpt_freeze_devq_rl(path, /*runlevel*/
 		    (crs->release_flags & RELSIM_RELEASE_RUNLEVEL) ?
 		    crs->release_timeout : 0, /*count*/1);
 		start_ccb->ccb_h.status = CAM_REQ_CMP;
@@ -2880,7 +2881,7 @@ xpt_action_default(union ccb *start_ccb)
 	}
 	case XPT_NOOP:
 		if ((start_ccb->ccb_h.flags & CAM_DEV_QFREEZE) != 0)
-			xpt_freeze_devq(start_ccb->ccb_h.path, 1);
+			xpt_freeze_devq(path, 1);
 		start_ccb->ccb_h.status = CAM_REQ_CMP;
 		break;
 	default:

Modified: projects/altix/sys/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S
==============================================================================
--- projects/altix/sys/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S	Sat Apr 30 21:00:36 2011	(r221272)
@@ -39,7 +39,7 @@ ENTRY(atomic_cas_32, 3)
 	cmpxchg4.acq    r8 = [r32], r34, ar.ccv
 	;;
 	br.ret.sptk     rp
-END(atomic_cas_64)
+END(atomic_cas_32)
 
 /*
  * uint64_t atomic_cas_64(volatile uint64_t *p, uint64_t cmp, uint64_t v)

Modified: projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
==============================================================================
--- projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c	Sat Apr 30 21:00:36 2011	(r221272)
@@ -21,6 +21,9 @@
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  */
+/*
+ * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
+ */
 
 #include <sys/dmu.h>
 #include <sys/dmu_impl.h>
@@ -851,61 +854,6 @@ guid_compare(const void *arg1, const voi
 	return (0);
 }
 
-/*
- * This function is a callback used by dmu_objset_find() (which
- * enumerates the object sets) to build an avl tree that maps guids
- * to datasets.  The resulting table is used when processing DRR_WRITE_BYREF
- * send stream records.  These records, which are used in dedup'ed
- * streams, do not contain data themselves, but refer to a copy
- * of the data block that has already been written because it was
- * earlier in the stream.  That previous copy is identified by the
- * guid of the dataset with the referenced data.
- */
-int
-find_ds_by_guid(const char *name, void *arg)
-{
-	avl_tree_t *guid_map = arg;
-	dsl_dataset_t *ds, *snapds;
-	guid_map_entry_t *gmep;
-	dsl_pool_t *dp;
-	int err;
-	uint64_t lastobj, firstobj;
-
-	if (dsl_dataset_hold(name, FTAG, &ds) != 0)
-		return (0);
-
-	dp = ds->ds_dir->dd_pool;
-	rw_enter(&dp->dp_config_rwlock, RW_READER);
-	firstobj = ds->ds_dir->dd_phys->dd_origin_obj;
-	lastobj = ds->ds_phys->ds_prev_snap_obj;
-
-	while (lastobj != firstobj) {
-		err = dsl_dataset_hold_obj(dp, lastobj, guid_map, &snapds);
-		if (err) {
-			/*
-			 * Skip this snapshot and move on. It's not
-			 * clear why this would ever happen, but the
-			 * remainder of the snapshot streadm can be
-			 * processed.
-			 */
-			rw_exit(&dp->dp_config_rwlock);
-			dsl_dataset_rele(ds, FTAG);
-			return (0);
-		}
-
-		gmep = kmem_alloc(sizeof (guid_map_entry_t), KM_SLEEP);
-		gmep->guid = snapds->ds_phys->ds_guid;
-		gmep->gme_ds = snapds;
-		avl_add(guid_map, gmep);
-		lastobj = snapds->ds_phys->ds_prev_snap_obj;
-	}
-
-	rw_exit(&dp->dp_config_rwlock);
-	dsl_dataset_rele(ds, FTAG);
-
-	return (0);
-}
-
 static void
 free_guid_map_onexit(void *arg)
 {
@@ -1413,9 +1361,6 @@ dmu_recv_stream(dmu_recv_cookie_t *drc, 
 			avl_create(ra.guid_to_ds_map, guid_compare,
 			    sizeof (guid_map_entry_t),
 			    offsetof(guid_map_entry_t, avlnode));
-			(void) dmu_objset_find(drc->drc_top_ds, find_ds_by_guid,
-			    (void *)ra.guid_to_ds_map,
-			    DS_FIND_CHILDREN);
 			ra.err = zfs_onexit_add_cb(minor,
 			    free_guid_map_onexit, ra.guid_to_ds_map,
 			    action_handlep);
@@ -1427,6 +1372,8 @@ dmu_recv_stream(dmu_recv_cookie_t *drc, 
 			if (ra.err)
 				goto out;
 		}
+
+		drc->drc_guid_to_ds_map = ra.guid_to_ds_map;
 	}
 
 	/*
@@ -1565,6 +1512,30 @@ recv_end_sync(void *arg1, void *arg2, dm
 }
 
 static int
+add_ds_to_guidmap(avl_tree_t *guid_map, dsl_dataset_t *ds)
+{
+	dsl_pool_t *dp = ds->ds_dir->dd_pool;
+	uint64_t snapobj = ds->ds_phys->ds_prev_snap_obj;
+	dsl_dataset_t *snapds;
+	guid_map_entry_t *gmep;
+	int err;
+
+	ASSERT(guid_map != NULL);
+
+	rw_enter(&dp->dp_config_rwlock, RW_READER);
+	err = dsl_dataset_hold_obj(dp, snapobj, guid_map, &snapds);
+	if (err == 0) {
+		gmep = kmem_alloc(sizeof (guid_map_entry_t), KM_SLEEP);
+		gmep->guid = snapds->ds_phys->ds_guid;
+		gmep->gme_ds = snapds;
+		avl_add(guid_map, gmep);
+	}
+
+	rw_exit(&dp->dp_config_rwlock);
+	return (err);
+}
+
+static int
 dmu_recv_existing_end(dmu_recv_cookie_t *drc)
 {
 	struct recvendsyncarg resa;
@@ -1604,6 +1575,8 @@ dmu_recv_existing_end(dmu_recv_cookie_t 
 
 out:
 	mutex_exit(&ds->ds_recvlock);
+	if (err == 0 && drc->drc_guid_to_ds_map != NULL)
+		(void) add_ds_to_guidmap(drc->drc_guid_to_ds_map, ds);
 	dsl_dataset_disown(ds, dmu_recv_tag);
 	(void) dsl_dataset_destroy(drc->drc_real_ds, dmu_recv_tag, B_FALSE);
 	return (err);
@@ -1633,6 +1606,8 @@ dmu_recv_new_end(dmu_recv_cookie_t *drc)
 		/* clean up the fs we just recv'd into */
 		(void) dsl_dataset_destroy(ds, dmu_recv_tag, B_FALSE);
 	} else {
+		if (drc->drc_guid_to_ds_map != NULL)
+			(void) add_ds_to_guidmap(drc->drc_guid_to_ds_map, ds);
 		/* release the hold from dmu_recv_begin */
 		dsl_dataset_disown(ds, dmu_recv_tag);
 	}

Modified: projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
==============================================================================
--- projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h	Sat Apr 30 21:00:36 2011	(r221272)
@@ -21,6 +21,9 @@
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  */
+/*
+ * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
+ */
 
 /* Portions Copyright 2010 Robert Milkowski */
 
@@ -718,6 +721,7 @@ typedef struct dmu_recv_cookie {
 	char *drc_top_ds;
 	boolean_t drc_newfs;
 	boolean_t drc_force;
+	struct avl_tree *drc_guid_to_ds_map;
 } dmu_recv_cookie_t;
 
 int dmu_recv_begin(char *tofs, char *tosnap, char *topds, struct drr_begin *,

Modified: projects/altix/sys/conf/NOTES
==============================================================================
--- projects/altix/sys/conf/NOTES	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/conf/NOTES	Sat Apr 30 21:00:36 2011	(r221272)
@@ -2094,6 +2094,7 @@ device		nxge		# Neterion Xframe 10GbE Se
 device		ti		# Alteon Networks Tigon I/II gigabit Ethernet
 device		txp		# 3Com 3cR990 (``Typhoon'')
 device		vx		# 3Com 3c590, 3c595 (``Vortex'')
+device		vxge		# Exar/Neterion XFrame 3100 10GbE
 
 # PCI FDDI NICs.
 device		fpa
@@ -2729,6 +2730,9 @@ device		uath
 # Ralink Technology RT2500USB wireless driver
 device		ural
 #
+# Realtek RTL8187B/L wireless driver
+device		urtw
+#
 # ZyDas ZD1211/ZD1211B wireless driver
 device		zyd
 

Modified: projects/altix/sys/conf/files
==============================================================================
--- projects/altix/sys/conf/files	Sat Apr 30 20:49:00 2011	(r221271)
+++ projects/altix/sys/conf/files	Sat Apr 30 21:00:36 2011	(r221272)
@@ -757,6 +757,14 @@ dev/ath/ath_hal/ar5416/ar5416_reset.c \
 dev/ath/ath_hal/ar5416/ar5416_xmit.c \
 	optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 \
 	compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+# ar9130 (depends upon ar5416) - also requires AH_SUPPORT_AR9130
+dev/ath/ath_hal/ar9001/ar9130_attach.c optional ath_hal | ath_ar9130 \
+	compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar9001/ar9130_phy.c optional ath_hal | ath_ar9130 \
+	compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar9001/ar9130_eeprom.c optional ath_hal | ath_ar9130 \

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

From owner-svn-src-projects@FreeBSD.ORG  Sat Apr 30 21:55:08 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id B2027106564A;
	Sat, 30 Apr 2011 21:55:08 +0000 (UTC)
	(envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 7E04E8FC0A;
	Sat, 30 Apr 2011 21:55:08 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3ULt8vt063746;
	Sat, 30 Apr 2011 21:55:08 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3ULt8Yp063745;
	Sat, 30 Apr 2011 21:55:08 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201104302155.p3ULt8Yp063745@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Sat, 30 Apr 2011 21:55:08 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221273 - projects/largeSMP
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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: Sat, 30 Apr 2011 21:55:08 -0000

Author: attilio
Date: Sat Apr 30 21:55:08 2011
New Revision: 221273
URL: http://svn.freebsd.org/changeset/base/221273

Log:
  Create a project branch for managing kernel and userland conversion to
  big CPUs count booting possibility.

Added:
     - copied from r221272, head/
Directory Properties:
  projects/largeSMP/   (props changed)

From owner-svn-src-projects@FreeBSD.ORG  Sat Apr 30 22:17:40 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id EC1BB106564A;
	Sat, 30 Apr 2011 22:17:40 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id D8CEF8FC0A;
	Sat, 30 Apr 2011 22:17:40 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3UMHeM2064555;
	Sat, 30 Apr 2011 22:17:40 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3UMHehF064553;
	Sat, 30 Apr 2011 22:17:40 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201104302217.p3UMHehF064553@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Sat, 30 Apr 2011 22:17:40 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221276 - projects/altix/sys/ia64/ia64
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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: Sat, 30 Apr 2011 22:17:41 -0000

Author: marcel
Date: Sat Apr 30 22:17:40 2011
New Revision: 221276
URL: http://svn.freebsd.org/changeset/base/221276

Log:
  White-space fixes.

Modified:
  projects/altix/sys/ia64/ia64/machdep.c

Modified: projects/altix/sys/ia64/ia64/machdep.c
==============================================================================
--- projects/altix/sys/ia64/ia64/machdep.c	Sat Apr 30 22:15:14 2011	(r221275)
+++ projects/altix/sys/ia64/ia64/machdep.c	Sat Apr 30 22:17:40 2011	(r221276)
@@ -759,15 +759,15 @@ ia64_init(void)
 	if (bootinfo->bi_kernend)
 		kernend = round_page(bootinfo->bi_kernend);
 
-        /*
-         * Region 6 is direct mapped UC and region 7 is direct mapped
-         * WC. The details of this is controlled by the Alt {I,D}TLB
-         * handlers. Here we just make sure that they have the largest
-         * possible page size to minimise TLB usage.
-         */
-        ia64_set_rr(IA64_RR_BASE(6), (6 << 8) | (PAGE_SHIFT << 2));
-        ia64_set_rr(IA64_RR_BASE(7), (7 << 8) | (PAGE_SHIFT << 2));
-        ia64_srlz_d();
+	/*
+	 * Region 6 is direct mapped UC and region 7 is direct mapped
+	 * WC. The details of this is controlled by the Alt {I,D}TLB
+	 * handlers. Here we just make sure that they have the largest
+	 * possible page size to minimise TLB usage.
+	 */
+	ia64_set_rr(IA64_RR_BASE(6), (6 << 8) | (PAGE_SHIFT << 2));
+	ia64_set_rr(IA64_RR_BASE(7), (7 << 8) | (PAGE_SHIFT << 2));
+	ia64_srlz_d();
 
 	/*
 	 * Wire things up so we can call the firmware.
@@ -778,18 +778,18 @@ ia64_init(void)
 	ia64_sal_init();
 	calculate_frequencies();
 
-        /*
-         * Setup the PCPU data for the bootstrap processor. It is needed
-         * by printf(). Also, since printf() has critical sections, we
-         * need to initialize at least pc_curthread.
-         */
-        pcpup = &pcpu0;
-        ia64_set_k4((u_int64_t)pcpup);
-        pcpu_init(pcpup, 0, sizeof(pcpu0));
-        dpcpu_init((void *)kernend, 0);
-        cpu_pcpu_setup(pcpup, ~0U, ia64_get_lid());
-        kernend += DPCPU_SIZE;
-        PCPU_SET(curthread, &thread0);
+	/*
+	 * Setup the PCPU data for the bootstrap processor. It is needed
+	 * by printf(). Also, since printf() has critical sections, we
+	 * need to initialize at least pc_curthread.
+	 */
+	pcpup = &pcpu0;
+	ia64_set_k4((u_int64_t)pcpup);
+	pcpu_init(pcpup, 0, sizeof(pcpu0));
+	dpcpu_init((void *)kernend, 0);
+	cpu_pcpu_setup(pcpup, ~0U, ia64_get_lid());
+	kernend += DPCPU_SIZE;
+	PCPU_SET(curthread, &thread0);
 
 	/*
 	 * Initialize the console before we print anything out.

From owner-svn-src-projects@FreeBSD.ORG  Sat Apr 30 22:24:46 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 22B02106566B;
	Sat, 30 Apr 2011 22:24:46 +0000 (UTC)
	(envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 04E278FC19;
	Sat, 30 Apr 2011 22:24:46 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3UMOjE3064817;
	Sat, 30 Apr 2011 22:24:45 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3UMOjbF064816;
	Sat, 30 Apr 2011 22:24:45 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201104302224.p3UMOjbF064816@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Sat, 30 Apr 2011 22:24:45 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221277 - in projects/largeSMP: contrib/top share/mk
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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: Sat, 30 Apr 2011 22:24:46 -0000

Author: attilio
Date: Sat Apr 30 22:24:45 2011
New Revision: 221277
URL: http://svn.freebsd.org/changeset/base/221277

Log:
  MFC @ 221273

Modified:
Directory Properties:
  projects/largeSMP/   (props changed)
  projects/largeSMP/cddl/contrib/opensolaris/   (props changed)
  projects/largeSMP/contrib/bind9/   (props changed)
  projects/largeSMP/contrib/binutils/   (props changed)
  projects/largeSMP/contrib/bzip2/   (props changed)
  projects/largeSMP/contrib/dialog/   (props changed)
  projects/largeSMP/contrib/ee/   (props changed)
  projects/largeSMP/contrib/expat/   (props changed)
  projects/largeSMP/contrib/file/   (props changed)
  projects/largeSMP/contrib/gcc/   (props changed)
  projects/largeSMP/contrib/gdb/   (props changed)
  projects/largeSMP/contrib/gdtoa/   (props changed)
  projects/largeSMP/contrib/gnu-sort/   (props changed)
  projects/largeSMP/contrib/groff/   (props changed)
  projects/largeSMP/contrib/less/   (props changed)
  projects/largeSMP/contrib/libpcap/   (props changed)
  projects/largeSMP/contrib/libstdc++/   (props changed)
  projects/largeSMP/contrib/llvm/   (props changed)
  projects/largeSMP/contrib/llvm/tools/clang/   (props changed)
  projects/largeSMP/contrib/ncurses/   (props changed)
  projects/largeSMP/contrib/netcat/   (props changed)
  projects/largeSMP/contrib/ntp/   (props changed)
  projects/largeSMP/contrib/one-true-awk/   (props changed)
  projects/largeSMP/contrib/openbsm/   (props changed)
  projects/largeSMP/contrib/openpam/   (props changed)
  projects/largeSMP/contrib/pf/   (props changed)
  projects/largeSMP/contrib/sendmail/   (props changed)
  projects/largeSMP/contrib/tcpdump/   (props changed)
  projects/largeSMP/contrib/tcsh/   (props changed)
  projects/largeSMP/contrib/top/   (props changed)
  projects/largeSMP/contrib/top/install-sh   (props changed)
  projects/largeSMP/contrib/tzcode/stdtime/   (props changed)
  projects/largeSMP/contrib/tzcode/zic/   (props changed)
  projects/largeSMP/contrib/tzdata/   (props changed)
  projects/largeSMP/contrib/wpa/   (props changed)
  projects/largeSMP/contrib/xz/   (props changed)
  projects/largeSMP/crypto/openssh/   (props changed)
  projects/largeSMP/crypto/openssl/   (props changed)
  projects/largeSMP/gnu/lib/   (props changed)
  projects/largeSMP/gnu/usr.bin/binutils/   (props changed)
  projects/largeSMP/gnu/usr.bin/cc/cc_tools/   (props changed)
  projects/largeSMP/gnu/usr.bin/gdb/   (props changed)
  projects/largeSMP/lib/libc/   (props changed)
  projects/largeSMP/lib/libc/stdtime/   (props changed)
  projects/largeSMP/lib/libutil/   (props changed)
  projects/largeSMP/lib/libz/   (props changed)
  projects/largeSMP/sbin/   (props changed)
  projects/largeSMP/sbin/ipfw/   (props changed)
  projects/largeSMP/share/mk/bsd.arch.inc.mk   (props changed)
  projects/largeSMP/share/zoneinfo/   (props changed)
  projects/largeSMP/sys/   (props changed)
  projects/largeSMP/sys/amd64/include/xen/   (props changed)
  projects/largeSMP/sys/boot/   (props changed)
  projects/largeSMP/sys/boot/i386/efi/   (props changed)
  projects/largeSMP/sys/boot/ia64/efi/   (props changed)
  projects/largeSMP/sys/boot/ia64/ski/   (props changed)
  projects/largeSMP/sys/boot/powerpc/boot1.chrp/   (props changed)
  projects/largeSMP/sys/boot/powerpc/ofw/   (props changed)
  projects/largeSMP/sys/cddl/contrib/opensolaris/   (props changed)
  projects/largeSMP/sys/conf/   (props changed)
  projects/largeSMP/sys/contrib/dev/acpica/   (props changed)
  projects/largeSMP/sys/contrib/octeon-sdk/   (props changed)
  projects/largeSMP/sys/contrib/pf/   (props changed)
  projects/largeSMP/sys/contrib/x86emu/   (props changed)
  projects/largeSMP/usr.bin/calendar/   (props changed)
  projects/largeSMP/usr.bin/csup/   (props changed)
  projects/largeSMP/usr.bin/procstat/   (props changed)
  projects/largeSMP/usr.sbin/ndiscvt/   (props changed)
  projects/largeSMP/usr.sbin/zic/   (props changed)

From owner-svn-src-projects@FreeBSD.ORG  Sat Apr 30 22:30:18 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id BB0C01065674;
	Sat, 30 Apr 2011 22:30:18 +0000 (UTC)
	(envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id A77498FC0A;
	Sat, 30 Apr 2011 22:30:18 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3UMUIRr065013;
	Sat, 30 Apr 2011 22:30:18 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3UMUI0N065009;
	Sat, 30 Apr 2011 22:30:18 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201104302230.p3UMUI0N065009@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Sat, 30 Apr 2011 22:30:18 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221278 - in projects/largeSMP/sys: kern sys
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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: Sat, 30 Apr 2011 22:30:18 -0000

Author: attilio
Date: Sat Apr 30 22:30:18 2011
New Revision: 221278
URL: http://svn.freebsd.org/changeset/base/221278

Log:
  idle_cpus_mask is just used in the SMP case and within sched_4BSD.
  Declare appropriately.

Modified:
  projects/largeSMP/sys/kern/sched_4bsd.c
  projects/largeSMP/sys/kern/subr_smp.c
  projects/largeSMP/sys/sys/smp.h

Modified: projects/largeSMP/sys/kern/sched_4bsd.c
==============================================================================
--- projects/largeSMP/sys/kern/sched_4bsd.c	Sat Apr 30 22:24:45 2011	(r221277)
+++ projects/largeSMP/sys/kern/sched_4bsd.c	Sat Apr 30 22:30:18 2011	(r221278)
@@ -155,6 +155,8 @@ static struct runq runq;
  */
 static struct runq runq_pcpu[MAXCPU];
 long runq_length[MAXCPU];
+
+static cpumask_t idle_cpus_mask;
 #endif
 
 struct pcpuidlestat {

Modified: projects/largeSMP/sys/kern/subr_smp.c
==============================================================================
--- projects/largeSMP/sys/kern/subr_smp.c	Sat Apr 30 22:24:45 2011	(r221277)
+++ projects/largeSMP/sys/kern/subr_smp.c	Sat Apr 30 22:30:18 2011	(r221278)
@@ -55,7 +55,6 @@ __FBSDID("$FreeBSD$");
 #ifdef SMP
 volatile cpumask_t stopped_cpus;
 volatile cpumask_t started_cpus;
-cpumask_t idle_cpus_mask;
 cpumask_t hlt_cpus_mask;
 cpumask_t logical_cpus_mask;
 

Modified: projects/largeSMP/sys/sys/smp.h
==============================================================================
--- projects/largeSMP/sys/sys/smp.h	Sat Apr 30 22:24:45 2011	(r221277)
+++ projects/largeSMP/sys/sys/smp.h	Sat Apr 30 22:30:18 2011	(r221278)
@@ -73,7 +73,6 @@ extern int smp_active;
 extern int smp_cpus;
 extern volatile cpumask_t started_cpus;
 extern volatile cpumask_t stopped_cpus;
-extern cpumask_t idle_cpus_mask;
 extern cpumask_t hlt_cpus_mask;
 extern cpumask_t logical_cpus_mask;
 #endif /* SMP */

From owner-svn-src-projects@FreeBSD.ORG  Sat Apr 30 22:33:11 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 6EE85106564A;
	Sat, 30 Apr 2011 22:33:11 +0000 (UTC)
	(envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 5B3C88FC0A;
	Sat, 30 Apr 2011 22:33:11 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3UMXBfU065203;
	Sat, 30 Apr 2011 22:33:11 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3UMXBtr065201;
	Sat, 30 Apr 2011 22:33:11 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201104302233.p3UMXBtr065201@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Sat, 30 Apr 2011 22:33:11 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221279 - projects/largeSMP/sys/dev/hwpmc
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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: Sat, 30 Apr 2011 22:33:11 -0000

Author: attilio
Date: Sat Apr 30 22:33:11 2011
New Revision: 221279
URL: http://svn.freebsd.org/changeset/base/221279

Log:
  Remove unnecessary usage of memory barriers when dealing with
  pmc_cpumask.
  
  Discussed with:	fabient

Modified:
  projects/largeSMP/sys/dev/hwpmc/hwpmc_mod.c

Modified: projects/largeSMP/sys/dev/hwpmc/hwpmc_mod.c
==============================================================================
--- projects/largeSMP/sys/dev/hwpmc/hwpmc_mod.c	Sat Apr 30 22:30:18 2011	(r221278)
+++ projects/largeSMP/sys/dev/hwpmc/hwpmc_mod.c	Sat Apr 30 22:33:11 2011	(r221279)
@@ -4083,7 +4083,7 @@ pmc_process_interrupt(int cpu, struct pm
 
  done:
 	/* mark CPU as needing processing */
-	atomic_set_rel_int(&pmc_cpumask, (1 << cpu));
+	atomic_set_int(&pmc_cpumask, (1 << cpu));
 
 	return (error);
 }
@@ -4193,7 +4193,7 @@ pmc_process_samples(int cpu)
 			break;
 		if (ps->ps_nsamples == PMC_SAMPLE_INUSE) {
 			/* Need a rescan at a later time. */
-			atomic_set_rel_int(&pmc_cpumask, (1 << cpu));
+			atomic_set_int(&pmc_cpumask, (1 << cpu));
 			break;
 		}
 
@@ -4782,7 +4782,7 @@ pmc_cleanup(void)
 	PMCDBG(MOD,INI,0, "%s", "cleanup");
 
 	/* switch off sampling */
-	atomic_store_rel_int(&pmc_cpumask, 0);
+	atomic_store_int(&pmc_cpumask, 0);
 	pmc_intr = NULL;
 
 	sx_xlock(&pmc_sx);

From owner-svn-src-projects@FreeBSD.ORG  Sat Apr 30 22:34:44 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 62E71106566B;
	Sat, 30 Apr 2011 22:34:44 +0000 (UTC)
	(envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 4F6E38FC14;
	Sat, 30 Apr 2011 22:34:44 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3UMYiVG065280;
	Sat, 30 Apr 2011 22:34:44 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3UMYil1065278;
	Sat, 30 Apr 2011 22:34:44 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201104302234.p3UMYil1065278@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Sat, 30 Apr 2011 22:34:44 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221280 - projects/largeSMP/sys/dev/hwpmc
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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: Sat, 30 Apr 2011 22:34:44 -0000

Author: attilio
Date: Sat Apr 30 22:34:44 2011
New Revision: 221280
URL: http://svn.freebsd.org/changeset/base/221280

Log:
  Fix a typo/error.

Modified:
  projects/largeSMP/sys/dev/hwpmc/hwpmc_mod.c

Modified: projects/largeSMP/sys/dev/hwpmc/hwpmc_mod.c
==============================================================================
--- projects/largeSMP/sys/dev/hwpmc/hwpmc_mod.c	Sat Apr 30 22:33:11 2011	(r221279)
+++ projects/largeSMP/sys/dev/hwpmc/hwpmc_mod.c	Sat Apr 30 22:34:44 2011	(r221280)
@@ -4782,7 +4782,7 @@ pmc_cleanup(void)
 	PMCDBG(MOD,INI,0, "%s", "cleanup");
 
 	/* switch off sampling */
-	atomic_store_int(&pmc_cpumask, 0);
+	pmc_cpumask = 0;
 	pmc_intr = NULL;
 
 	sx_xlock(&pmc_sx);

From owner-svn-src-projects@FreeBSD.ORG  Sat Apr 30 23:02:18 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 4C34C106564A;
	Sat, 30 Apr 2011 23:02:18 +0000 (UTC)
	(envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 2CE748FC0A;
	Sat, 30 Apr 2011 23:02:18 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3UN2IEj066243;
	Sat, 30 Apr 2011 23:02:18 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3UN2HtD066235;
	Sat, 30 Apr 2011 23:02:17 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201104302302.p3UN2HtD066235@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Sat, 30 Apr 2011 23:02:17 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221283 - in projects/largeSMP/sys/i386: i386 include
	xen
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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: Sat, 30 Apr 2011 23:02:18 -0000

Author: attilio
Date: Sat Apr 30 23:02:17 2011
New Revision: 221283
URL: http://svn.freebsd.org/changeset/base/221283

Log:
  Remove the support for lazy cr3 switching from i386.
  amd64 has already this micro-optimization removed.
  
  Submitted by:	kib

Modified:
  projects/largeSMP/sys/i386/i386/apic_vector.s
  projects/largeSMP/sys/i386/i386/db_trace.c
  projects/largeSMP/sys/i386/i386/mp_machdep.c
  projects/largeSMP/sys/i386/i386/pmap.c
  projects/largeSMP/sys/i386/i386/swtch.s
  projects/largeSMP/sys/i386/include/smp.h
  projects/largeSMP/sys/i386/xen/pmap.c

Modified: projects/largeSMP/sys/i386/i386/apic_vector.s
==============================================================================
--- projects/largeSMP/sys/i386/i386/apic_vector.s	Sat Apr 30 23:00:41 2011	(r221282)
+++ projects/largeSMP/sys/i386/i386/apic_vector.s	Sat Apr 30 23:02:17 2011	(r221283)
@@ -357,20 +357,4 @@ IDTVEC(rendezvous)
 	POP_FRAME
 	iret
 	
-/*
- * Clean up when we lose out on the lazy context switch optimization.
- * ie: when we are about to release a PTD but a cpu is still borrowing it.
- */
-	SUPERALIGN_TEXT
-IDTVEC(lazypmap)
-	PUSH_FRAME
-	SET_KERNEL_SREGS
-	cld
-
-	call	pmap_lazyfix_action
-
-	movl	lapic, %eax
-	movl	$0, LA_EOI(%eax)	/* End Of Interrupt to APIC */
-	POP_FRAME
-	iret
 #endif /* SMP */

Modified: projects/largeSMP/sys/i386/i386/db_trace.c
==============================================================================
--- projects/largeSMP/sys/i386/i386/db_trace.c	Sat Apr 30 23:00:41 2011	(r221282)
+++ projects/largeSMP/sys/i386/i386/db_trace.c	Sat Apr 30 23:02:17 2011	(r221283)
@@ -312,8 +312,7 @@ db_nextframe(struct i386_frame **fp, db_
 			frame_type = TRAP_TIMERINT;
 		else if (strcmp(name, "Xcpustop") == 0 ||
 		    strcmp(name, "Xrendezvous") == 0 ||
-		    strcmp(name, "Xipi_intr_bitmap_handler") == 0 ||
-		    strcmp(name, "Xlazypmap") == 0)
+		    strcmp(name, "Xipi_intr_bitmap_handler") == 0)
 			frame_type = TRAP_INTERRUPT;
 	}
 

Modified: projects/largeSMP/sys/i386/i386/mp_machdep.c
==============================================================================
--- projects/largeSMP/sys/i386/i386/mp_machdep.c	Sat Apr 30 23:00:41 2011	(r221282)
+++ projects/largeSMP/sys/i386/i386/mp_machdep.c	Sat Apr 30 23:02:17 2011	(r221283)
@@ -165,7 +165,6 @@ u_long *ipi_invlrng_counts[MAXCPU];
 u_long *ipi_invlpg_counts[MAXCPU];
 u_long *ipi_invlcache_counts[MAXCPU];
 u_long *ipi_rendezvous_counts[MAXCPU];
-u_long *ipi_lazypmap_counts[MAXCPU];
 static u_long *ipi_hardclock_counts[MAXCPU];
 #endif
 
@@ -552,10 +551,6 @@ cpu_mp_start(void)
 	setidt(IPI_INVLCACHE, IDTVEC(invlcache),
 	       SDT_SYS386IGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL));
 
-	/* Install an inter-CPU IPI for lazy pmap release */
-	setidt(IPI_LAZYPMAP, IDTVEC(lazypmap),
-	       SDT_SYS386IGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL));
-
 	/* Install an inter-CPU IPI for all-CPU rendezvous */
 	setidt(IPI_RENDEZVOUS, IDTVEC(rendezvous),
 	       SDT_SYS386IGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL));
@@ -1682,8 +1677,6 @@ mp_ipi_intrcnt(void *dummy)
 		intrcnt_add(buf, &ipi_ast_counts[i]);
 		snprintf(buf, sizeof(buf), "cpu%d:rendezvous", i);
 		intrcnt_add(buf, &ipi_rendezvous_counts[i]);
-		snprintf(buf, sizeof(buf), "cpu%d:lazypmap", i);
-		intrcnt_add(buf, &ipi_lazypmap_counts[i]);
 		snprintf(buf, sizeof(buf), "cpu%d:hardclock", i);
 		intrcnt_add(buf, &ipi_hardclock_counts[i]);
 	}		

Modified: projects/largeSMP/sys/i386/i386/pmap.c
==============================================================================
--- projects/largeSMP/sys/i386/i386/pmap.c	Sat Apr 30 23:00:41 2011	(r221282)
+++ projects/largeSMP/sys/i386/i386/pmap.c	Sat Apr 30 23:02:17 2011	(r221283)
@@ -1881,98 +1881,6 @@ retry:
 * Pmap allocation/deallocation routines.
  ***************************************************/
 
-#ifdef SMP
-/*
- * Deal with a SMP shootdown of other users of the pmap that we are
- * trying to dispose of.  This can be a bit hairy.
- */
-static cpumask_t *lazymask;
-static u_int lazyptd;
-static volatile u_int lazywait;
-
-void pmap_lazyfix_action(void);
-
-void
-pmap_lazyfix_action(void)
-{
-	cpumask_t mymask = PCPU_GET(cpumask);
-
-#ifdef COUNT_IPIS
-	(*ipi_lazypmap_counts[PCPU_GET(cpuid)])++;
-#endif
-	if (rcr3() == lazyptd)
-		load_cr3(PCPU_GET(curpcb)->pcb_cr3);
-	atomic_clear_int(lazymask, mymask);
-	atomic_store_rel_int(&lazywait, 1);
-}
-
-static void
-pmap_lazyfix_self(cpumask_t mymask)
-{
-
-	if (rcr3() == lazyptd)
-		load_cr3(PCPU_GET(curpcb)->pcb_cr3);
-	atomic_clear_int(lazymask, mymask);
-}
-
-
-static void
-pmap_lazyfix(pmap_t pmap)
-{
-	cpumask_t mymask, mask;
-	u_int spins;
-
-	while ((mask = pmap->pm_active) != 0) {
-		spins = 50000000;
-		mask = mask & -mask;	/* Find least significant set bit */
-		mtx_lock_spin(&smp_ipi_mtx);
-#ifdef PAE
-		lazyptd = vtophys(pmap->pm_pdpt);
-#else
-		lazyptd = vtophys(pmap->pm_pdir);
-#endif
-		mymask = PCPU_GET(cpumask);
-		if (mask == mymask) {
-			lazymask = &pmap->pm_active;
-			pmap_lazyfix_self(mymask);
-		} else {
-			atomic_store_rel_int((u_int *)&lazymask,
-			    (u_int)&pmap->pm_active);
-			atomic_store_rel_int(&lazywait, 0);
-			ipi_selected(mask, IPI_LAZYPMAP);
-			while (lazywait == 0) {
-				ia32_pause();
-				if (--spins == 0)
-					break;
-			}
-		}
-		mtx_unlock_spin(&smp_ipi_mtx);
-		if (spins == 0)
-			printf("pmap_lazyfix: spun for 50000000\n");
-	}
-}
-
-#else	/* SMP */
-
-/*
- * Cleaning up on uniprocessor is easy.  For various reasons, we're
- * unlikely to have to even execute this code, including the fact
- * that the cleanup is deferred until the parent does a wait(2), which
- * means that another userland process has run.
- */
-static void
-pmap_lazyfix(pmap_t pmap)
-{
-	u_int cr3;
-
-	cr3 = vtophys(pmap->pm_pdir);
-	if (cr3 == rcr3()) {
-		load_cr3(PCPU_GET(curpcb)->pcb_cr3);
-		pmap->pm_active &= ~(PCPU_GET(cpumask));
-	}
-}
-#endif	/* SMP */
-
 /*
  * Release any resources held by the given physical map.
  * Called when a pmap initialized by pmap_pinit is being released.
@@ -1990,7 +1898,6 @@ pmap_release(pmap_t pmap)
 	KASSERT(pmap->pm_root == NULL,
 	    ("pmap_release: pmap has reserved page table page(s)"));
 
-	pmap_lazyfix(pmap);
 	mtx_lock_spin(&allpmaps_lock);
 	LIST_REMOVE(pmap, pm_list);
 	mtx_unlock_spin(&allpmaps_lock);

Modified: projects/largeSMP/sys/i386/i386/swtch.s
==============================================================================
--- projects/largeSMP/sys/i386/i386/swtch.s	Sat Apr 30 23:00:41 2011	(r221282)
+++ projects/largeSMP/sys/i386/i386/swtch.s	Sat Apr 30 23:02:17 2011	(r221283)
@@ -174,12 +174,6 @@ ENTRY(cpu_switch)
 
 	/* switch address space */
 	movl	PCB_CR3(%edx),%eax
-#ifdef PAE
-	cmpl	%eax,IdlePDPT			/* Kernel address space? */
-#else
-	cmpl	%eax,IdlePTD			/* Kernel address space? */
-#endif
-	je	sw0
 	READ_CR3(%ebx)				/* The same address space? */
 	cmpl	%ebx,%eax
 	je	sw0

Modified: projects/largeSMP/sys/i386/include/smp.h
==============================================================================
--- projects/largeSMP/sys/i386/include/smp.h	Sat Apr 30 23:00:41 2011	(r221282)
+++ projects/largeSMP/sys/i386/include/smp.h	Sat Apr 30 23:02:17 2011	(r221283)
@@ -42,7 +42,6 @@ extern u_long *ipi_invlrng_counts[MAXCPU
 extern u_long *ipi_invlpg_counts[MAXCPU];
 extern u_long *ipi_invlcache_counts[MAXCPU];
 extern u_long *ipi_rendezvous_counts[MAXCPU];
-extern u_long *ipi_lazypmap_counts[MAXCPU];
 #endif
 
 /* IPI handlers */
@@ -53,8 +52,7 @@ inthand_t
 	IDTVEC(invlcache),	/* Write back and invalidate cache */
 	IDTVEC(ipi_intr_bitmap_handler), /* Bitmap based IPIs */ 
 	IDTVEC(cpustop),	/* CPU stops & waits to be restarted */
-	IDTVEC(rendezvous),	/* handle CPU rendezvous */
-	IDTVEC(lazypmap);	/* handle lazy pmap release */
+	IDTVEC(rendezvous);	/* handle CPU rendezvous */
 
 /* functions in mp_machdep.c */
 void	cpu_add(u_int apic_id, char boot_cpu);

Modified: projects/largeSMP/sys/i386/xen/pmap.c
==============================================================================
--- projects/largeSMP/sys/i386/xen/pmap.c	Sat Apr 30 23:00:41 2011	(r221282)
+++ projects/largeSMP/sys/i386/xen/pmap.c	Sat Apr 30 23:02:17 2011	(r221283)
@@ -1681,98 +1681,6 @@ retry:
 * Pmap allocation/deallocation routines.
  ***************************************************/
 
-#ifdef SMP
-/*
- * Deal with a SMP shootdown of other users of the pmap that we are
- * trying to dispose of.  This can be a bit hairy.
- */
-static cpumask_t *lazymask;
-static u_int lazyptd;
-static volatile u_int lazywait;
-
-void pmap_lazyfix_action(void);
-
-void
-pmap_lazyfix_action(void)
-{
-	cpumask_t mymask = PCPU_GET(cpumask);
-
-#ifdef COUNT_IPIS
-	(*ipi_lazypmap_counts[PCPU_GET(cpuid)])++;
-#endif
-	if (rcr3() == lazyptd)
-		load_cr3(PCPU_GET(curpcb)->pcb_cr3);
-	atomic_clear_int(lazymask, mymask);
-	atomic_store_rel_int(&lazywait, 1);
-}
-
-static void
-pmap_lazyfix_self(cpumask_t mymask)
-{
-
-	if (rcr3() == lazyptd)
-		load_cr3(PCPU_GET(curpcb)->pcb_cr3);
-	atomic_clear_int(lazymask, mymask);
-}
-
-
-static void
-pmap_lazyfix(pmap_t pmap)
-{
-	cpumask_t mymask, mask;
-	u_int spins;
-
-	while ((mask = pmap->pm_active) != 0) {
-		spins = 50000000;
-		mask = mask & -mask;	/* Find least significant set bit */
-		mtx_lock_spin(&smp_ipi_mtx);
-#ifdef PAE
-		lazyptd = vtophys(pmap->pm_pdpt);
-#else
-		lazyptd = vtophys(pmap->pm_pdir);
-#endif
-		mymask = PCPU_GET(cpumask);
-		if (mask == mymask) {
-			lazymask = &pmap->pm_active;
-			pmap_lazyfix_self(mymask);
-		} else {
-			atomic_store_rel_int((u_int *)&lazymask,
-			    (u_int)&pmap->pm_active);
-			atomic_store_rel_int(&lazywait, 0);
-			ipi_selected(mask, IPI_LAZYPMAP);
-			while (lazywait == 0) {
-				ia32_pause();
-				if (--spins == 0)
-					break;
-			}
-		}
-		mtx_unlock_spin(&smp_ipi_mtx);
-		if (spins == 0)
-			printf("pmap_lazyfix: spun for 50000000\n");
-	}
-}
-
-#else	/* SMP */
-
-/*
- * Cleaning up on uniprocessor is easy.  For various reasons, we're
- * unlikely to have to even execute this code, including the fact
- * that the cleanup is deferred until the parent does a wait(2), which
- * means that another userland process has run.
- */
-static void
-pmap_lazyfix(pmap_t pmap)
-{
-	u_int cr3;
-
-	cr3 = vtophys(pmap->pm_pdir);
-	if (cr3 == rcr3()) {
-		load_cr3(PCPU_GET(curpcb)->pcb_cr3);
-		pmap->pm_active &= ~(PCPU_GET(cpumask));
-	}
-}
-#endif	/* SMP */
-
 /*
  * Release any resources held by the given physical map.
  * Called when a pmap initialized by pmap_pinit is being released.

From owner-svn-src-projects@FreeBSD.ORG  Sat Apr 30 23:12:38 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 685B11065678;
	Sat, 30 Apr 2011 23:12:38 +0000 (UTC)
	(envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 47AF38FC0A;
	Sat, 30 Apr 2011 23:12:38 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3UNCcDQ066601;
	Sat, 30 Apr 2011 23:12:38 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3UNCc1Y066595;
	Sat, 30 Apr 2011 23:12:38 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201104302312.p3UNCc1Y066595@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Sat, 30 Apr 2011 23:12:38 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221284 - in projects/largeSMP/sys: amd64/amd64
	amd64/include i386/i386 i386/include i386/xen
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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: Sat, 30 Apr 2011 23:12:38 -0000

Author: attilio
Date: Sat Apr 30 23:12:37 2011
New Revision: 221284
URL: http://svn.freebsd.org/changeset/base/221284

Log:
  Add the function md_assert_nopreempt(), which is a very consistent
  function on the possibility of a thread to not preempt.
  
  As this function is very tied to x86 (interrupts disabled checkings)
  it is not intended to be used in MI code.

Modified:
  projects/largeSMP/sys/amd64/amd64/mp_machdep.c
  projects/largeSMP/sys/amd64/include/smp.h
  projects/largeSMP/sys/i386/i386/mp_machdep.c
  projects/largeSMP/sys/i386/include/smp.h
  projects/largeSMP/sys/i386/xen/mp_machdep.c

Modified: projects/largeSMP/sys/amd64/amd64/mp_machdep.c
==============================================================================
--- projects/largeSMP/sys/amd64/amd64/mp_machdep.c	Sat Apr 30 23:02:17 2011	(r221283)
+++ projects/largeSMP/sys/amd64/amd64/mp_machdep.c	Sat Apr 30 23:12:37 2011	(r221284)
@@ -1428,6 +1428,22 @@ cpususpend_handler(void)
 	intr_restore(rf);
 }
 
+void
+md_assert_nopreempt(void)
+{
+#ifdef INVARIANTS
+	struct thread *td;
+	register_t rflags;
+
+	td = curthread;
+	rflags = read_rflags();
+
+	if ((rflags & PSL_I) != 0 && td->td_critnest <= 0)
+		panic("Preemption still allowed, thread %s\n",
+		    (td->td_pinned <= 0) ? "not pinned" : "pinned");
+#endif
+}
+
 /*
  * This is called once the rest of the system is up and running and we're
  * ready to let the AP's out of the pen.

Modified: projects/largeSMP/sys/amd64/include/smp.h
==============================================================================
--- projects/largeSMP/sys/amd64/include/smp.h	Sat Apr 30 23:02:17 2011	(r221283)
+++ projects/largeSMP/sys/amd64/include/smp.h	Sat Apr 30 23:12:37 2011	(r221284)
@@ -64,6 +64,7 @@ void 	ipi_bitmap_handler(struct trapfram
 void	ipi_cpu(int cpu, u_int ipi);
 int	ipi_nmi_handler(void);
 void	ipi_selected(cpumask_t cpus, u_int ipi);
+void	md_assert_nopreempt(void);
 u_int	mp_bootaddress(u_int);
 int	mp_grab_cpu_hlt(void);
 void	smp_cache_flush(void);

Modified: projects/largeSMP/sys/i386/i386/mp_machdep.c
==============================================================================
--- projects/largeSMP/sys/i386/i386/mp_machdep.c	Sat Apr 30 23:02:17 2011	(r221283)
+++ projects/largeSMP/sys/i386/i386/mp_machdep.c	Sat Apr 30 23:12:37 2011	(r221284)
@@ -1486,6 +1486,22 @@ cpustop_handler(void)
 	}
 }
 
+void
+md_assert_nopreempt(void)
+{
+#ifdef INVARIANTS
+	struct thread *td;
+	register_t rflags;
+
+	td = curthread;
+	rflags = read_rflags();
+
+	if ((rflags & PSL_I) != 0 && td->td_critnest <= 0)
+		panic("Preemption still allowed, thread %s\n",
+		    (td->td_pinned <= 0) ? "not pinned" : "pinned");
+#endif
+}
+
 /*
  * This is called once the rest of the system is up and running and we're
  * ready to let the AP's out of the pen.

Modified: projects/largeSMP/sys/i386/include/smp.h
==============================================================================
--- projects/largeSMP/sys/i386/include/smp.h	Sat Apr 30 23:02:17 2011	(r221283)
+++ projects/largeSMP/sys/i386/include/smp.h	Sat Apr 30 23:12:37 2011	(r221284)
@@ -65,6 +65,7 @@ void 	ipi_bitmap_handler(struct trapfram
 void	ipi_cpu(int cpu, u_int ipi);
 int	ipi_nmi_handler(void);
 void	ipi_selected(cpumask_t cpus, u_int ipi);
+void	md_assert_nopreempt(void);
 u_int	mp_bootaddress(u_int);
 int	mp_grab_cpu_hlt(void);
 void	smp_cache_flush(void);

Modified: projects/largeSMP/sys/i386/xen/mp_machdep.c
==============================================================================
--- projects/largeSMP/sys/i386/xen/mp_machdep.c	Sat Apr 30 23:02:17 2011	(r221283)
+++ projects/largeSMP/sys/i386/xen/mp_machdep.c	Sat Apr 30 23:12:37 2011	(r221284)
@@ -1241,6 +1241,22 @@ cpustop_handler(void)
 	}
 }
 
+void
+md_assert_nopreempt(void)
+{
+#ifdef INVARIANTS
+	struct thread *td;
+	register_t rflags;
+
+	td = curthread;
+	rflags = read_rflags();
+
+	if ((rflags & PSL_I) != 0 && td->td_critnest <= 0)
+		panic("Preemption still allowed, thread %s\n",
+		    (td->td_pinned <= 0) ? "not pinned" : "pinned");
+#endif
+}
+
 /*
  * This is called once the rest of the system is up and running and we're
  * ready to let the AP's out of the pen.

From owner-svn-src-projects@FreeBSD.ORG  Sat Apr 30 23:28:08 2011
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:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 31C35106566B;
	Sat, 30 Apr 2011 23:28:08 +0000 (UTC)
	(envelope-from attilio@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 02E8F8FC12;
	Sat, 30 Apr 2011 23:28:08 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p3UNS7Q6067090;
	Sat, 30 Apr 2011 23:28:07 GMT (envelope-from attilio@svn.freebsd.org)
Received: (from attilio@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p3UNS7Wu067088;
	Sat, 30 Apr 2011 23:28:07 GMT (envelope-from attilio@svn.freebsd.org)
Message-Id: <201104302328.p3UNS7Wu067088@svn.freebsd.org>
From: Attilio Rao <attilio@FreeBSD.org>
Date: Sat, 30 Apr 2011 23:28:07 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r221285 - projects/largeSMP/sys/kern
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
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/listinfo/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: Sat, 30 Apr 2011 23:28:08 -0000

Author: attilio
Date: Sat Apr 30 23:28:07 2011
New Revision: 221285
URL: http://svn.freebsd.org/changeset/base/221285

Log:
  - Remove the following sysctl:
    kern.sched.ipiwakeup.onecpu
    kern.sched.ipiwakeup.htt2
  
    Because they are absolutely obsolete. Probabilly the whole wakeup
    forward mechanism should be revisited for a better fitting in modern
    hw.
  - As map2 variable is no longer used rename map3 to map2
  - Fix a string by making more informative the msg and removing the
    arguments passing
  
  Approved by:	julian

Modified:
  projects/largeSMP/sys/kern/sched_4bsd.c

Modified: projects/largeSMP/sys/kern/sched_4bsd.c
==============================================================================
--- projects/largeSMP/sys/kern/sched_4bsd.c	Sat Apr 30 23:12:37 2011	(r221284)
+++ projects/largeSMP/sys/kern/sched_4bsd.c	Sat Apr 30 23:28:07 2011	(r221285)
@@ -235,16 +235,6 @@ SYSCTL_INT(_kern_sched_ipiwakeup, OID_AU
 	   &forward_wakeup_use_loop, 0,
 	   "Use a loop to find idle cpus");
 
-static int forward_wakeup_use_single = 0;
-SYSCTL_INT(_kern_sched_ipiwakeup, OID_AUTO, onecpu, CTLFLAG_RW,
-	   &forward_wakeup_use_single, 0,
-	   "Only signal one idle cpu");
-
-static int forward_wakeup_use_htt = 0;
-SYSCTL_INT(_kern_sched_ipiwakeup, OID_AUTO, htt2, CTLFLAG_RW,
-	   &forward_wakeup_use_htt, 0,
-	   "account for htt");
-
 #endif
 #if 0
 static int sched_followon = 0;
@@ -1064,7 +1054,7 @@ static int
 forward_wakeup(int cpunum)
 {
 	struct pcpu *pc;
-	cpumask_t dontuse, id, map, map2, map3, me;
+	cpumask_t dontuse, id, map, map2, me;
 
 	mtx_assert(&sched_lock, MA_OWNED);
 
@@ -1089,13 +1079,13 @@ forward_wakeup(int cpunum)
 		return (0);
 
 	dontuse = me | stopped_cpus | hlt_cpus_mask;
-	map3 = 0;
+	map2 = 0;
 	if (forward_wakeup_use_loop) {
 		SLIST_FOREACH(pc, &cpuhead, pc_allcpu) {
 			id = pc->pc_cpumask;
 			if ((id & dontuse) == 0 &&
 			    pc->pc_curthread == pc->pc_idlethread) {
-				map3 |= id;
+				map2 |= id;
 			}
 		}
 	}
@@ -1106,33 +1096,19 @@ forward_wakeup(int cpunum)
 
 		/* If they are both on, compare and use loop if different. */
 		if (forward_wakeup_use_loop) {
-			if (map != map3) {
-				printf("map (%02X) != map3 (%02X)\n", map,
-				    map3);
-				map = map3;
+			if (map != map2) {
+				printf("map != map2, loop method preferred\n");
+				map = map2;
 			}
 		}
 	} else {
-		map = map3;
+		map = map2;
 	}
 
 	/* If we only allow a specific CPU, then mask off all the others. */
 	if (cpunum != NOCPU) {
 		KASSERT((cpunum <= mp_maxcpus),("forward_wakeup: bad cpunum."));
 		map &= (1 << cpunum);
-	} else {
-		/* Try choose an idle die. */
-		if (forward_wakeup_use_htt) {
-			map2 =  (map & (map >> 1)) & 0x5555;
-			if (map2) {
-				map = map2;
-			}
-		}
-
-		/* Set only one bit. */
-		if (forward_wakeup_use_single) {
-			map = map & ((~map) + 1);
-		}
 	}
 	if (map) {
 		forward_wakeups_delivered++;