svn commit: r225928 - in user/attilio/vmcontention: bin/ps contrib/llvm contrib/llvm/lib/Support contrib/llvm/tools/clang contrib/sendmail/src contrib/top etc/mtree lib/libc/gen share/doc share/doc...

Attilio Rao attilio at FreeBSD.org
Sun Oct 2 16:25:52 UTC 2011


Author: attilio
Date: Sun Oct  2 16:25:51 2011
New Revision: 225928
URL: http://svn.freebsd.org/changeset/base/225928

Log:
  MFC

Added:
  user/attilio/vmcontention/contrib/llvm/LICENSE.TXT
     - copied unchanged from r225926, head/contrib/llvm/LICENSE.TXT
  user/attilio/vmcontention/contrib/llvm/lib/Support/COPYRIGHT.regex
     - copied unchanged from r225926, head/contrib/llvm/lib/Support/COPYRIGHT.regex
  user/attilio/vmcontention/contrib/llvm/tools/clang/LICENSE.TXT
     - copied unchanged from r225926, head/contrib/llvm/tools/clang/LICENSE.TXT
  user/attilio/vmcontention/share/doc/llvm/
     - copied from r225926, head/share/doc/llvm/
Modified:
  user/attilio/vmcontention/bin/ps/ps.1
  user/attilio/vmcontention/contrib/sendmail/src/main.c
  user/attilio/vmcontention/contrib/sendmail/src/sendmail.h
  user/attilio/vmcontention/contrib/sendmail/src/usersmtp.c
  user/attilio/vmcontention/etc/mtree/BSD.usr.dist
  user/attilio/vmcontention/lib/libc/gen/ctermid.3
  user/attilio/vmcontention/lib/libc/gen/ctermid.c
  user/attilio/vmcontention/share/doc/Makefile
  user/attilio/vmcontention/sys/arm/at91/at91_mci.c
  user/attilio/vmcontention/sys/arm/at91/at91_pio.c
  user/attilio/vmcontention/sys/arm/at91/at91_rtc.c
  user/attilio/vmcontention/sys/arm/at91/at91_spi.c
  user/attilio/vmcontention/sys/arm/at91/at91_ssc.c
  user/attilio/vmcontention/sys/arm/at91/at91_twi.c
  user/attilio/vmcontention/sys/arm/at91/uart_dev_at91usart.c
  user/attilio/vmcontention/sys/arm/econa/if_ece.c
  user/attilio/vmcontention/sys/dev/ath/ah_osdep.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ah_internal.h
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ah_regdomain.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5212/ar5112.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5312/ar5312_attach.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416reg.h
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c
  user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c
  user/attilio/vmcontention/sys/dev/puc/pucdata.c
  user/attilio/vmcontention/sys/kern/kern_sig.c
  user/attilio/vmcontention/sys/mips/mips/machdep.c
  user/attilio/vmcontention/sys/net80211/ieee80211_proto.c
  user/attilio/vmcontention/sys/net80211/ieee80211_sta.c
  user/attilio/vmcontention/sys/net80211/ieee80211_tdma.c
  user/attilio/vmcontention/sys/netinet6/nd6.c
  user/attilio/vmcontention/sys/powerpc/powerpc/cpu.c
  user/attilio/vmcontention/sys/sparc64/include/asmacros.h
  user/attilio/vmcontention/sys/sparc64/include/atomic.h
  user/attilio/vmcontention/sys/sparc64/pci/schizo.c
  user/attilio/vmcontention/sys/sparc64/sparc64/exception.S
  user/attilio/vmcontention/sys/sparc64/sparc64/genassym.c
  user/attilio/vmcontention/sys/sparc64/sparc64/machdep.c
  user/attilio/vmcontention/sys/sparc64/sparc64/pmap.c
  user/attilio/vmcontention/sys/sys/param.h
  user/attilio/vmcontention/usr.bin/fstat/fstat.c
Directory Properties:
  user/attilio/vmcontention/   (props changed)
  user/attilio/vmcontention/cddl/contrib/opensolaris/   (props changed)
  user/attilio/vmcontention/contrib/bind9/   (props changed)
  user/attilio/vmcontention/contrib/binutils/   (props changed)
  user/attilio/vmcontention/contrib/bzip2/   (props changed)
  user/attilio/vmcontention/contrib/compiler-rt/   (props changed)
  user/attilio/vmcontention/contrib/dialog/   (props changed)
  user/attilio/vmcontention/contrib/ee/   (props changed)
  user/attilio/vmcontention/contrib/expat/   (props changed)
  user/attilio/vmcontention/contrib/file/   (props changed)
  user/attilio/vmcontention/contrib/gcc/   (props changed)
  user/attilio/vmcontention/contrib/gdb/   (props changed)
  user/attilio/vmcontention/contrib/gdtoa/   (props changed)
  user/attilio/vmcontention/contrib/gnu-sort/   (props changed)
  user/attilio/vmcontention/contrib/groff/   (props changed)
  user/attilio/vmcontention/contrib/less/   (props changed)
  user/attilio/vmcontention/contrib/libpcap/   (props changed)
  user/attilio/vmcontention/contrib/libstdc++/   (props changed)
  user/attilio/vmcontention/contrib/llvm/   (props changed)
  user/attilio/vmcontention/contrib/llvm/tools/clang/   (props changed)
  user/attilio/vmcontention/contrib/ncurses/   (props changed)
  user/attilio/vmcontention/contrib/netcat/   (props changed)
  user/attilio/vmcontention/contrib/ntp/   (props changed)
  user/attilio/vmcontention/contrib/one-true-awk/   (props changed)
  user/attilio/vmcontention/contrib/openbsm/   (props changed)
  user/attilio/vmcontention/contrib/openpam/   (props changed)
  user/attilio/vmcontention/contrib/openresolv/   (props changed)
  user/attilio/vmcontention/contrib/pf/   (props changed)
  user/attilio/vmcontention/contrib/sendmail/   (props changed)
  user/attilio/vmcontention/contrib/tcpdump/   (props changed)
  user/attilio/vmcontention/contrib/tcsh/   (props changed)
  user/attilio/vmcontention/contrib/tnftp/   (props changed)
  user/attilio/vmcontention/contrib/top/   (props changed)
  user/attilio/vmcontention/contrib/top/install-sh   (props changed)
  user/attilio/vmcontention/contrib/tzcode/stdtime/   (props changed)
  user/attilio/vmcontention/contrib/tzcode/zic/   (props changed)
  user/attilio/vmcontention/contrib/tzdata/   (props changed)
  user/attilio/vmcontention/contrib/wpa/   (props changed)
  user/attilio/vmcontention/contrib/xz/   (props changed)
  user/attilio/vmcontention/crypto/heimdal/   (props changed)
  user/attilio/vmcontention/crypto/openssh/   (props changed)
  user/attilio/vmcontention/crypto/openssl/   (props changed)
  user/attilio/vmcontention/gnu/lib/   (props changed)
  user/attilio/vmcontention/gnu/usr.bin/binutils/   (props changed)
  user/attilio/vmcontention/gnu/usr.bin/cc/cc_tools/   (props changed)
  user/attilio/vmcontention/gnu/usr.bin/gdb/   (props changed)
  user/attilio/vmcontention/lib/libc/   (props changed)
  user/attilio/vmcontention/lib/libc/stdtime/   (props changed)
  user/attilio/vmcontention/lib/libutil/   (props changed)
  user/attilio/vmcontention/lib/libz/   (props changed)
  user/attilio/vmcontention/sbin/   (props changed)
  user/attilio/vmcontention/sbin/ipfw/   (props changed)
  user/attilio/vmcontention/share/mk/bsd.arch.inc.mk   (props changed)
  user/attilio/vmcontention/share/zoneinfo/   (props changed)
  user/attilio/vmcontention/sys/   (props changed)
  user/attilio/vmcontention/sys/amd64/include/xen/   (props changed)
  user/attilio/vmcontention/sys/boot/   (props changed)
  user/attilio/vmcontention/sys/boot/i386/efi/   (props changed)
  user/attilio/vmcontention/sys/boot/ia64/efi/   (props changed)
  user/attilio/vmcontention/sys/boot/ia64/ski/   (props changed)
  user/attilio/vmcontention/sys/boot/powerpc/boot1.chrp/   (props changed)
  user/attilio/vmcontention/sys/boot/powerpc/ofw/   (props changed)
  user/attilio/vmcontention/sys/cddl/contrib/opensolaris/   (props changed)
  user/attilio/vmcontention/sys/conf/   (props changed)
  user/attilio/vmcontention/sys/contrib/dev/acpica/   (props changed)
  user/attilio/vmcontention/sys/contrib/octeon-sdk/   (props changed)
  user/attilio/vmcontention/sys/contrib/pf/   (props changed)
  user/attilio/vmcontention/sys/contrib/x86emu/   (props changed)
  user/attilio/vmcontention/usr.bin/calendar/   (props changed)
  user/attilio/vmcontention/usr.bin/csup/   (props changed)
  user/attilio/vmcontention/usr.bin/procstat/   (props changed)
  user/attilio/vmcontention/usr.sbin/ndiscvt/   (props changed)
  user/attilio/vmcontention/usr.sbin/rtadvctl/   (props changed)
  user/attilio/vmcontention/usr.sbin/rtadvd/   (props changed)
  user/attilio/vmcontention/usr.sbin/rtsold/   (props changed)
  user/attilio/vmcontention/usr.sbin/zic/   (props changed)

Modified: user/attilio/vmcontention/bin/ps/ps.1
==============================================================================
--- user/attilio/vmcontention/bin/ps/ps.1	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/bin/ps/ps.1	Sun Oct  2 16:25:51 2011	(r225928)
@@ -29,7 +29,7 @@
 .\"     @(#)ps.1	8.3 (Berkeley) 4/18/94
 .\" $FreeBSD$
 .\"
-.Dd July 1, 2011
+.Dd October 1, 2011
 .Dt PS 1
 .Os
 .Sh NAME
@@ -54,6 +54,11 @@ utility
 displays a header line, followed by lines containing information about
 all of your
 processes that have controlling terminals.
+If the
+.Fl x
+options is specified,
+.Nm
+will also display processes that do not have controlling terminals.
 .Pp
 A different set of processes can be selected for display by using any
 combination of the
@@ -90,8 +95,8 @@ and
 .Fl o
 options).
 The default output format includes, for each process, the process' ID,
-controlling terminal, CPU time (including both user and system time),
-state, and associated command.
+controlling terminal, state, CPU time (including both user and system time)
+and associated command.
 .Pp
 The process file system (see
 .Xr procfs 5 )
@@ -103,13 +108,9 @@ The options are as follows:
 .Bl -tag -width indent
 .It Fl a
 Display information about other users' processes as well as your own.
-This will skip any processes which do not have a controlling terminal,
-unless the
-.Fl x
-option is also specified.
-This can be disabled by setting the
+If the
 .Va security.bsd.see_other_uids
-sysctl to zero.
+sysctl is set to zero, this option is honored only if the UID of the user is 0.
 .It Fl c
 Change the
 .Dq command
@@ -216,6 +217,9 @@ with the standard input.
 .It Fl t
 Display information about processes attached to the specified terminal
 devices.
+Full pathnames, as well as abbreviations (see explanation of the
+.Cm tt
+keyword) can be specified.
 .It Fl U
 Display the processes belonging to the specified usernames.
 .It Fl u
@@ -427,12 +431,15 @@ The process is being traced or debugged.
 An abbreviation for the pathname of the controlling terminal, if any.
 The abbreviation consists of the three letters following
 .Pa /dev/tty ,
-or, for the console,
-.Dq Li con .
+or, for psuedo-terminals, the corresponding entry in
+.Pa /dev/pts .
 This is followed by a
 .Ql -
 if the process can no longer reach that
 controlling terminal (i.e., it has been revoked).
+The full pathname of the controlling terminal is available via the
+.Cm tty
+keyword.
 .It Cm wchan
 The event (an address in the system) on which a process waits.
 When printed numerically, the initial part of the address is

Copied: user/attilio/vmcontention/contrib/llvm/LICENSE.TXT (from r225926, head/contrib/llvm/LICENSE.TXT)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/attilio/vmcontention/contrib/llvm/LICENSE.TXT	Sun Oct  2 16:25:51 2011	(r225928, copy of r225926, head/contrib/llvm/LICENSE.TXT)
@@ -0,0 +1,69 @@
+==============================================================================
+LLVM Release License
+==============================================================================
+University of Illinois/NCSA
+Open Source License
+
+Copyright (c) 2003-2011 University of Illinois at Urbana-Champaign.
+All rights reserved.
+
+Developed by:
+
+    LLVM Team
+
+    University of Illinois at Urbana-Champaign
+
+    http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimers.
+
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimers in the
+      documentation and/or other materials provided with the distribution.
+
+    * Neither the names of the LLVM Team, University of Illinois at
+      Urbana-Champaign, nor the names of its contributors may be used to
+      endorse or promote products derived from this Software without specific
+      prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+==============================================================================
+Copyrights and Licenses for Third Party Software Distributed with LLVM:
+==============================================================================
+The LLVM software contains code written by third parties.  Such software will
+have its own individual LICENSE.TXT file in the directory in which it appears.
+This file will describe the copyrights, license, and restrictions which apply
+to that code.
+
+The disclaimer of warranty in the University of Illinois Open Source License
+applies to all code in the LLVM Distribution, and nothing in any of the
+other licenses gives permission to use the names of the LLVM Team or the
+University of Illinois to endorse or promote products derived from this
+Software.
+
+The following pieces of software have additional or alternate copyrights,
+licenses, and/or restrictions:
+
+Program             Directory
+-------             ---------
+Autoconf            llvm/autoconf
+                    llvm/projects/ModuleMaker/autoconf
+                    llvm/projects/sample/autoconf
+CellSPU backend     llvm/lib/Target/CellSPU/README.txt
+Google Test         llvm/utils/unittest/googletest
+OpenBSD regex       llvm/lib/Support/{reg*, COPYRIGHT.regex}

Copied: user/attilio/vmcontention/contrib/llvm/lib/Support/COPYRIGHT.regex (from r225926, head/contrib/llvm/lib/Support/COPYRIGHT.regex)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/attilio/vmcontention/contrib/llvm/lib/Support/COPYRIGHT.regex	Sun Oct  2 16:25:51 2011	(r225928, copy of r225926, head/contrib/llvm/lib/Support/COPYRIGHT.regex)
@@ -0,0 +1,54 @@
+$OpenBSD: COPYRIGHT,v 1.3 2003/06/02 20:18:36 millert Exp $
+
+Copyright 1992, 1993, 1994 Henry Spencer.  All rights reserved.
+This software is not subject to any license of the American Telephone
+and Telegraph Company or of the Regents of the University of California.
+
+Permission is granted to anyone to use this software for any purpose on
+any computer system, and to alter it and redistribute it, subject
+to the following restrictions:
+
+1. The author is not responsible for the consequences of use of this
+   software, no matter how awful, even if they arise from flaws in it.
+
+2. The origin of this software must not be misrepresented, either by
+   explicit claim or by omission.  Since few users ever read sources,
+   credits must appear in the documentation.
+
+3. Altered versions must be plainly marked as such, and must not be
+   misrepresented as being the original software.  Since few users
+   ever read sources, credits must appear in the documentation.
+
+4. This notice may not be removed or altered.
+
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+/*-
+ * Copyright (c) 1994
+ *	The Regents of the University of California.  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.
+ * 3. 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.
+ *
+ *	@(#)COPYRIGHT	8.1 (Berkeley) 3/16/94
+ */

Copied: user/attilio/vmcontention/contrib/llvm/tools/clang/LICENSE.TXT (from r225926, head/contrib/llvm/tools/clang/LICENSE.TXT)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/attilio/vmcontention/contrib/llvm/tools/clang/LICENSE.TXT	Sun Oct  2 16:25:51 2011	(r225928, copy of r225926, head/contrib/llvm/tools/clang/LICENSE.TXT)
@@ -0,0 +1,63 @@
+==============================================================================
+LLVM Release License
+==============================================================================
+University of Illinois/NCSA
+Open Source License
+
+Copyright (c) 2007-2011 University of Illinois at Urbana-Champaign.
+All rights reserved.
+
+Developed by:
+
+    LLVM Team
+
+    University of Illinois at Urbana-Champaign
+
+    http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimers.
+
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimers in the
+      documentation and/or other materials provided with the distribution.
+
+    * Neither the names of the LLVM Team, University of Illinois at
+      Urbana-Champaign, nor the names of its contributors may be used to
+      endorse or promote products derived from this Software without specific
+      prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+==============================================================================
+The LLVM software contains code written by third parties.  Such software will
+have its own individual LICENSE.TXT file in the directory in which it appears.
+This file will describe the copyrights, license, and restrictions which apply
+to that code.
+
+The disclaimer of warranty in the University of Illinois Open Source License
+applies to all code in the LLVM Distribution, and nothing in any of the
+other licenses gives permission to use the names of the LLVM Team or the
+University of Illinois to endorse or promote products derived from this
+Software.
+
+The following pieces of software have additional or alternate copyrights,
+licenses, and/or restrictions:
+
+Program             Directory
+-------             ---------
+<none yet>
+

Modified: user/attilio/vmcontention/contrib/sendmail/src/main.c
==============================================================================
--- user/attilio/vmcontention/contrib/sendmail/src/main.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/contrib/sendmail/src/main.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -109,8 +109,8 @@ GIDSET_T	InitialGidSet[NGROUPS_MAX];
 #if SASL
 static sasl_callback_t srvcallbacks[] =
 {
-	{	SASL_CB_VERIFYFILE,	&safesaslfile,	NULL	},
-	{	SASL_CB_PROXY_POLICY,	&proxy_policy,	NULL	},
+	{	SASL_CB_VERIFYFILE,	(sasl_callback_ft)&safesaslfile,	NULL	},
+	{	SASL_CB_PROXY_POLICY,	(sasl_callback_ft)&proxy_policy,	NULL	},
 	{	SASL_CB_LIST_END,	NULL,		NULL	}
 };
 #endif /* SASL */

Modified: user/attilio/vmcontention/contrib/sendmail/src/sendmail.h
==============================================================================
--- user/attilio/vmcontention/contrib/sendmail/src/sendmail.h	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/contrib/sendmail/src/sendmail.h	Sun Oct  2 16:25:51 2011	(r225928)
@@ -133,10 +133,15 @@ SM_UNUSED(static char SmailId[]) = "@(#)
 
 # if SASL == 2 || SASL >= 20000
 #  include <sasl/sasl.h>
+#  include <sasl/saslplug.h>
 #  include <sasl/saslutil.h>
+#  if SASL_VERSION_FULL < 0x020119
+typedef int (*sasl_callback_ft)(void);
+#  endif
 # else /* SASL == 2 || SASL >= 20000 */
 #  include <sasl.h>
 #  include <saslutil.h>
+typedef int (*sasl_callback_ft)(void);
 # endif /* SASL == 2 || SASL >= 20000 */
 # if defined(SASL_VERSION_MAJOR) && defined(SASL_VERSION_MINOR) && defined(SASL_VERSION_STEP)
 #  define SASL_VERSION (SASL_VERSION_MAJOR * 10000)  + (SASL_VERSION_MINOR * 100) + SASL_VERSION_STEP

Modified: user/attilio/vmcontention/contrib/sendmail/src/usersmtp.c
==============================================================================
--- user/attilio/vmcontention/contrib/sendmail/src/usersmtp.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/contrib/sendmail/src/usersmtp.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -524,15 +524,15 @@ static int attemptauth	__P((MAILER *, MC
 
 static sasl_callback_t callbacks[] =
 {
-	{	SASL_CB_GETREALM,	&saslgetrealm,	NULL	},
+	{	SASL_CB_GETREALM,	(sasl_callback_ft)&saslgetrealm,	NULL	},
 #define CB_GETREALM_IDX	0
-	{	SASL_CB_PASS,		&getsecret,	NULL	},
+	{	SASL_CB_PASS,		(sasl_callback_ft)&getsecret,	NULL	},
 #define CB_PASS_IDX	1
-	{	SASL_CB_USER,		&getsimple,	NULL	},
+	{	SASL_CB_USER,		(sasl_callback_ft)&getsimple,	NULL	},
 #define CB_USER_IDX	2
-	{	SASL_CB_AUTHNAME,	&getsimple,	NULL	},
+	{	SASL_CB_AUTHNAME,	(sasl_callback_ft)&getsimple,	NULL	},
 #define CB_AUTHNAME_IDX	3
-	{	SASL_CB_VERIFYFILE,	&safesaslfile,	NULL	},
+	{	SASL_CB_VERIFYFILE,	(sasl_callback_ft)&safesaslfile,	NULL	},
 #define CB_SAFESASL_IDX	4
 	{	SASL_CB_LIST_END,	NULL,		NULL	}
 };

Modified: user/attilio/vmcontention/etc/mtree/BSD.usr.dist
==============================================================================
--- user/attilio/vmcontention/etc/mtree/BSD.usr.dist	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/etc/mtree/BSD.usr.dist	Sun Oct  2 16:25:51 2011	(r225928)
@@ -93,6 +93,10 @@
                 intel_wpi
                 ..
             ..
+            llvm
+                clang
+                ..
+            ..
             ncurses
             ..
             ntp

Modified: user/attilio/vmcontention/lib/libc/gen/ctermid.3
==============================================================================
--- user/attilio/vmcontention/lib/libc/gen/ctermid.3	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/lib/libc/gen/ctermid.3	Sun Oct  2 16:25:51 2011	(r225928)
@@ -28,7 +28,7 @@
 .\"     @(#)ctermid.3	8.1 (Berkeley) 6/4/93
 .\" $FreeBSD$
 .\"
-.Dd June 4, 1993
+.Dd October 1, 2011
 .Dt CTERMID 3
 .Os
 .Sh NAME
@@ -77,7 +77,8 @@ pointer,
 .Dv NULL
 is returned.
 .Pp
-The current implementation simply returns
+If no suitable lookup of the controlling terminal name can be performed,
+this implementation returns
 .Ql /dev/tty .
 .Sh RETURN VALUES
 Upon successful completion, a

Modified: user/attilio/vmcontention/lib/libc/gen/ctermid.c
==============================================================================
--- user/attilio/vmcontention/lib/libc/gen/ctermid.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/lib/libc/gen/ctermid.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -1,6 +1,6 @@
 /*-
- * Copyright (c) 1990, 1993
- *	The Regents of the University of California.  All rights reserved.
+ * Copyright (c) 2011 Ed Schouten <ed at FreeBSD.org>
+ * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -10,14 +10,11 @@
  * 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
+ * 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 REGENTS OR CONTRIBUTORS BE LIABLE
+ * 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)
@@ -27,31 +24,47 @@
  * SUCH DAMAGE.
  */
 
-#if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "@(#)ctermid.c	8.1 (Berkeley) 6/4/93";
-#endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <stdio.h>
+#include <sys/param.h>
+#include <sys/stat.h>
+#include <sys/sysctl.h>
+
+#include <errno.h>
 #include <paths.h>
+#include <stdio.h>
 #include <string.h>
 
+#define	LEN_PATH_DEV	(sizeof(_PATH_DEV) - 1)
+
 char *
 ctermid(char *s)
 {
-	static char def[] = _PATH_TTY;
-
-	if (s) {
-		bcopy(def, s, sizeof(_PATH_TTY));
-		return(s);
-	}
-	return(def);
+	static char def[sizeof(_PATH_DEV) + SPECNAMELEN];
+	struct stat sb;
+	size_t dlen;
+	int sverrno;
+
+	if (s == NULL) {
+		s = def;
+		dlen = sizeof(def) - LEN_PATH_DEV;
+	} else
+		dlen = L_ctermid - LEN_PATH_DEV;
+	strcpy(s, _PATH_TTY);
+
+	/* Attempt to perform a lookup of the actual TTY pathname. */
+	sverrno = errno;
+	if (stat(_PATH_TTY, &sb) == 0 && S_ISCHR(sb.st_mode))
+		(void)sysctlbyname("kern.devname", s + LEN_PATH_DEV,
+		    &dlen, &sb.st_rdev, sizeof(sb.st_rdev));
+	errno = sverrno;
+	return (s);
 }
 
-
 char *
 ctermid_r(char *s)
 {
-	return (s) ? ctermid(s) : NULL;
+
+	return (s != NULL ? ctermid(s) : NULL);
 }

Modified: user/attilio/vmcontention/share/doc/Makefile
==============================================================================
--- user/attilio/vmcontention/share/doc/Makefile	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/share/doc/Makefile	Sun Oct  2 16:25:51 2011	(r225928)
@@ -3,12 +3,16 @@
 
 .include <bsd.own.mk>
 
-SUBDIR=	${_bind9} IPv6 legal ${_roffdocs}
+SUBDIR=	${_bind9} IPv6 legal ${_llvm} ${_roffdocs}
 
 .if ${MK_BIND} != "no"
 _bind9=	bind9
 .endif
 
+.if ${MK_CLANG} != "no"
+_llvm=	llvm
+.endif
+
 # FIXME this is not a real solution ...
 .if ${MK_GROFF} != "no"
 _roffdocs=	papers psd smm usd

Modified: user/attilio/vmcontention/sys/arm/at91/at91_mci.c
==============================================================================
--- user/attilio/vmcontention/sys/arm/at91/at91_mci.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/arm/at91/at91_mci.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -243,7 +243,7 @@ at91_mci_attach(device_t dev)
 	child = device_add_child(dev, "mmc", 0);
 	device_set_ivars(dev, &sc->host);
 	err = bus_generic_attach(dev);
-out:;
+out:
 	if (err)
 		at91_mci_deactivate(dev);
 	return (err);

Modified: user/attilio/vmcontention/sys/arm/at91/at91_pio.c
==============================================================================
--- user/attilio/vmcontention/sys/arm/at91/at91_pio.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/arm/at91/at91_pio.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -162,7 +162,7 @@ at91_pio_attach(device_t dev)
 		goto out;
 	}
 	sc->cdev->si_drv1 = sc;
-out:;
+out:
 	if (err)
 		at91_pio_deactivate(dev);
 	return (err);

Modified: user/attilio/vmcontention/sys/arm/at91/at91_rtc.c
==============================================================================
--- user/attilio/vmcontention/sys/arm/at91/at91_rtc.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/arm/at91/at91_rtc.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -118,7 +118,7 @@ at91_rtc_attach(device_t dev)
 		goto out;
 	}
 	clock_register(dev, 1000000);
-out:;
+out:
 	if (err)
 		at91_rtc_deactivate(dev);
 	return (err);

Modified: user/attilio/vmcontention/sys/arm/at91/at91_spi.c
==============================================================================
--- user/attilio/vmcontention/sys/arm/at91/at91_spi.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/arm/at91/at91_spi.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -134,7 +134,7 @@ at91_spi_attach(device_t dev)
 
 	device_add_child(dev, "spibus", -1);
 	bus_generic_attach(dev);
-out:;
+out:
 	if (err)
 		at91_spi_deactivate(dev);
 	return (err);
@@ -259,7 +259,7 @@ at91_spi_transfer(device_t dev, device_t
 	for (j = 0; j < i; j++)
 		bus_dmamap_unload(sc->dmatag, sc->map[j]);
 	return (err);
-out:;
+out:
 	for (j = 0; j < i; j++)
 		bus_dmamap_unload(sc->dmatag, sc->map[j]);
 	return (EIO);

Modified: user/attilio/vmcontention/sys/arm/at91/at91_ssc.c
==============================================================================
--- user/attilio/vmcontention/sys/arm/at91/at91_ssc.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/arm/at91/at91_ssc.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -150,7 +150,7 @@ at91_ssc_attach(device_t dev)
 	WR4(sc, SSC_TFMR,
 	    0x1f | SSC_TFMR_DATDEF | SSC_TFMR_MSFBF | SSC_TFMR_FSOS_NEG_PULSE);
 
-out:;
+out:
 	if (err)
 		at91_ssc_deactivate(dev);
 	return (err);

Modified: user/attilio/vmcontention/sys/arm/at91/at91_twi.c
==============================================================================
--- user/attilio/vmcontention/sys/arm/at91/at91_twi.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/arm/at91/at91_twi.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -139,7 +139,7 @@ at91_twi_attach(device_t dev)
 		device_printf(dev, "could not allocate iicbus instance\n");
 	/* probe and attach the iicbus */
 	bus_generic_attach(dev);
-out:;
+out:
 	if (err)
 		at91_twi_deactivate(dev);
 	return (err);
@@ -365,7 +365,7 @@ at91_twi_transfer(device_t dev, struct i
 		if ((err = at91_twi_wait(sc, TWI_SR_TXCOMP)))
 			break;
 	}
-out:;
+out:
 	if (err) {
 		WR4(sc, TWI_CR, TWI_CR_SWRST);
 		WR4(sc, TWI_CR, TWI_CR_MSEN | TWI_CR_SVDIS);

Modified: user/attilio/vmcontention/sys/arm/at91/uart_dev_at91usart.c
==============================================================================
--- user/attilio/vmcontention/sys/arm/at91/uart_dev_at91usart.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/arm/at91/uart_dev_at91usart.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -406,7 +406,7 @@ at91_usart_bus_attach(struct uart_softc 
 		WR4(&sc->sc_bas, USART_IER, USART_CSR_RXRDY);
 	}
 	WR4(&sc->sc_bas, USART_IER, USART_CSR_RXBRK);
-errout:;
+errout:
 	// XXX bad
 	return (err);
 }

Modified: user/attilio/vmcontention/sys/arm/econa/if_ece.c
==============================================================================
--- user/attilio/vmcontention/sys/arm/econa/if_ece.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/arm/econa/if_ece.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -441,7 +441,7 @@ ece_attach(device_t dev)
 	taskqueue_start_threads(&sc->sc_tq, 1, PI_NET, "%s taskq",
 	    device_get_nameunit(sc->dev));
 
-out:;
+out:
 	if (err)
 		ece_deactivate(dev);
 	if (err && ifp)

Modified: user/attilio/vmcontention/sys/dev/ath/ah_osdep.c
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ah_osdep.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ah_osdep.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -128,7 +128,7 @@ void
 DO_HALDEBUG(struct ath_hal *ah, u_int mask, const char* fmt, ...)
 {
 	if ((mask == HAL_DEBUG_UNMASKABLE) ||
-	    (ah->ah_config.ah_debug & mask) ||
+	    (ah != NULL && ah->ah_config.ah_debug & mask) ||
 	    (ath_hal_debug & mask)) {
 		__va_list ap;
 		va_start(ap, fmt);

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ah_internal.h
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ah_internal.h	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ah_internal.h	Sun Oct  2 16:25:51 2011	(r225928)
@@ -503,26 +503,15 @@ extern	void ath_hal_free(void *);
 extern	int ath_hal_debug;	/* Global debug flags */
 
 /*
- * This is used for global debugging, when ahp doesn't yet have the
- * related debugging state. For example, during probe/attach.
- */
-#define	HALDEBUG_G(_ah, __m, ...) \
-	do {							\
-		if ((__m) == HAL_DEBUG_UNMASKABLE ||		\
-		    ath_hal_debug & (__m)) {			\
-			DO_HALDEBUG((_ah), (__m), __VA_ARGS__);	\
-		}						\
-	} while (0);
-
-/*
- * This is used for local debugging, when ahp isn't NULL and
- * thus may have debug flags set.
+ * The typecast is purely because some callers will pass in
+ * AH_NULL directly rather than using a NULL ath_hal pointer.
  */
 #define	HALDEBUG(_ah, __m, ...) \
 	do {							\
 		if ((__m) == HAL_DEBUG_UNMASKABLE ||		\
 		    ath_hal_debug & (__m) ||			\
-		    (_ah)->ah_config.ah_debug & (__m)) {	\
+		    ((_ah) != NULL &&				\
+		      ((struct ath_hal *) (_ah))->ah_config.ah_debug & (__m))) {	\
 			DO_HALDEBUG((_ah), (__m), __VA_ARGS__);	\
 		}						\
 	} while(0);
@@ -531,7 +520,6 @@ extern	void DO_HALDEBUG(struct ath_hal *
 	__printflike(3,4);
 #else
 #define HALDEBUG(_ah, __m, ...)
-#define HALDEBUG_G(_ah, __m, ...)
 #endif /* AH_DEBUG */
 
 /*

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ah_regdomain.c
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ah_regdomain.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ah_regdomain.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -169,7 +169,7 @@ isEepromValid(struct ath_hal *ah)
 			if (regDomainPairs[i].regDmnEnum == rd)
 				return AH_TRUE;
 	}
-	HALDEBUG_G(ah, HAL_DEBUG_REGDOMAIN,
+	HALDEBUG(ah, HAL_DEBUG_REGDOMAIN,
 	    "%s: invalid regulatory domain/country code 0x%x\n", __func__, rd);
 	return AH_FALSE;
 }
@@ -613,7 +613,7 @@ ath_hal_mapgsm(int sku, int freq)
 		return 1544 + freq;
 	if (sku == SKU_SR9)
 		return 3344 - freq;
-	HALDEBUG_G(AH_NULL, HAL_DEBUG_ANY,
+	HALDEBUG(AH_NULL, HAL_DEBUG_ANY,
 	    "%s: cannot map freq %u unknown gsm sku %u\n",
 	    __func__, freq, sku);
 	return freq;

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -182,14 +182,14 @@ ar5210Attach(uint16_t devid, HAL_SOFTC s
 	HAL_STATUS ecode;
 	int i;
 
-	HALDEBUG_G(AH_NULL, HAL_DEBUG_ATTACH,
+	HALDEBUG(AH_NULL, HAL_DEBUG_ATTACH,
 	    "%s: devid 0x%x sc %p st %p sh %p\n", __func__, devid,
 	    sc, (void*) st, (void*) sh);
 
 	/* NB: memory is returned zero'd */
 	ahp = ath_hal_malloc(sizeof (struct ath_hal_5210));
 	if (ahp == AH_NULL) {
-		HALDEBUG_G(AH_NULL, HAL_DEBUG_ANY,
+		HALDEBUG(AH_NULL, HAL_DEBUG_ANY,
 		    "%s: no memory for state block\n", __func__);
 		ecode = HAL_ENOMEM;
 		goto bad;

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -201,13 +201,13 @@ ar5211Attach(uint16_t devid, HAL_SOFTC s
 	uint16_t eeval;
 	HAL_STATUS ecode;
 
-	HALDEBUG_G(AH_NULL, HAL_DEBUG_ATTACH, "%s: sc %p st %p sh %p\n",
+	HALDEBUG(AH_NULL, HAL_DEBUG_ATTACH, "%s: sc %p st %p sh %p\n",
 	    __func__, sc, (void*) st, (void*) sh);
 
 	/* NB: memory is returned zero'd */
 	ahp = ath_hal_malloc(sizeof (struct ath_hal_5211));
 	if (ahp == AH_NULL) {
-		HALDEBUG_G(AH_NULL, HAL_DEBUG_ANY,
+		HALDEBUG(AH_NULL, HAL_DEBUG_ANY,
 		    "%s: cannot allocate memory for state block\n", __func__);
 		ecode = HAL_ENOMEM;
 		goto bad;

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5212/ar5112.c
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5212/ar5112.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5212/ar5112.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -611,7 +611,7 @@ getFullPwrTable(uint16_t numPcdacs, uint
 	uint16_t    idxR = 1;
 
 	if (numPcdacs < 2) {
-		HALDEBUG_G(AH_NULL, HAL_DEBUG_ANY,
+		HALDEBUG(AH_NULL, HAL_DEBUG_ANY,
 		     "%s: at least 2 pcdac values needed [%d]\n",
 		     __func__, numPcdacs);
 		return AH_FALSE;

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -319,13 +319,13 @@ ar5212Attach(uint16_t devid, HAL_SOFTC s
 	uint16_t eeval;
 	HAL_STATUS ecode;
 
-	HALDEBUG_G(AH_NULL, HAL_DEBUG_ATTACH, "%s: sc %p st %p sh %p\n",
+	HALDEBUG(AH_NULL, HAL_DEBUG_ATTACH, "%s: sc %p st %p sh %p\n",
 	    __func__, sc, (void*) st, (void*) sh);
 
 	/* NB: memory is returned zero'd */
 	ahp = ath_hal_malloc(sizeof (struct ath_hal_5212));
 	if (ahp == AH_NULL) {
-		HALDEBUG_G(AH_NULL, HAL_DEBUG_ANY,
+		HALDEBUG(AH_NULL, HAL_DEBUG_ANY,
 		    "%s: cannot allocate memory for state block\n", __func__);
 		*status = HAL_ENOMEM;
 		return AH_NULL;

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5312/ar5312_attach.c
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5312/ar5312_attach.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5312/ar5312_attach.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -71,13 +71,13 @@ ar5312Attach(uint16_t devid, HAL_SOFTC s
 	uint16_t eeval;
 	HAL_STATUS ecode;
 
-	HALDEBUG_G(AH_NULL, HAL_DEBUG_ATTACH, "%s: sc %p st %p sh %p\n",
+	HALDEBUG(AH_NULL, HAL_DEBUG_ATTACH, "%s: sc %p st %p sh %p\n",
 		 __func__, sc, st, (void*) sh);
 
 	/* NB: memory is returned zero'd */
 	ahp = ath_hal_malloc(sizeof (struct ath_hal_5212));
 	if (ahp == AH_NULL) {
-		HALDEBUG_G(AH_NULL, HAL_DEBUG_ANY,
+		HALDEBUG(AH_NULL, HAL_DEBUG_ANY,
 		    "%s: cannot allocate memory for state block\n", __func__);
 		*status = HAL_ENOMEM;
 		return AH_NULL;

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -246,7 +246,7 @@ ar5416Attach(uint16_t devid, HAL_SOFTC s
 	HAL_STATUS ecode;
 	HAL_BOOL rfStatus;
 
-	HALDEBUG_G(AH_NULL, HAL_DEBUG_ATTACH, "%s: sc %p st %p sh %p\n",
+	HALDEBUG(AH_NULL, HAL_DEBUG_ATTACH, "%s: sc %p st %p sh %p\n",
 	    __func__, sc, (void*) st, (void*) sh);
 
 	/* NB: memory is returned zero'd */
@@ -255,7 +255,7 @@ ar5416Attach(uint16_t devid, HAL_SOFTC s
 		sizeof(ar5416Addac)
 	);
 	if (ahp5416 == AH_NULL) {
-		HALDEBUG_G(AH_NULL, HAL_DEBUG_ANY,
+		HALDEBUG(AH_NULL, HAL_DEBUG_ANY,
 		    "%s: cannot allocate memory for state block\n", __func__);
 		*status = HAL_ENOMEM;
 		return AH_NULL;

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -68,6 +68,7 @@ HAL_BOOL
 ar5416GetPendingInterrupts(struct ath_hal *ah, HAL_INT *masked)
 {
 	uint32_t isr, isr0, isr1, sync_cause = 0;
+	HAL_CAPABILITIES *pCap = &AH_PRIVATE(ah)->ah_caps;
 
 	/*
 	 * Verify there's a mac interrupt and the RTC is on.
@@ -110,44 +111,95 @@ ar5416GetPendingInterrupts(struct ath_ha
 				mask2 |= HAL_INT_CST;	
 			if (isr2 & AR_ISR_S2_TSFOOR)
 				mask2 |= HAL_INT_TSFOOR;
+
+			/*
+			 * Don't mask out AR_BCNMISC; instead mask
+			 * out what causes it.
+			 */
+			OS_REG_WRITE(ah, AR_ISR_S2, isr2);
+			isr &= ~AR_ISR_BCNMISC;
 		}
 
-		isr = OS_REG_READ(ah, AR_ISR_RAC);
 		if (isr == 0xffffffff) {
 			*masked = 0;
 			return AH_FALSE;
 		}
 
 		*masked = isr & HAL_INT_COMMON;
+
+		if (isr & (AR_ISR_RXMINTR | AR_ISR_RXINTM))
+			*masked |= HAL_INT_RX;
+		if (isr & (AR_ISR_TXMINTR | AR_ISR_TXINTM))
+			*masked |= HAL_INT_TX;
+
+		/*
+		 * When doing RX interrupt mitigation, the RXOK bit is set
+		 * in AR_ISR even if the relevant bit in AR_IMR is clear.
+		 * Since this interrupt may be due to another source, don't
+		 * just automatically set HAL_INT_RX if it's set, otherwise
+		 * we could prematurely service the RX queue.
+		 *
+		 * In some cases, the driver can even handle all the RX
+		 * frames just before the mitigation interrupt fires.
+		 * The subsequent RX processing trip will then end up
+		 * processing 0 frames.
+		 */
+#ifdef	AH_AR5416_INTERRUPT_MITIGATION
+		if (isr & AR_ISR_RXERR)
+			*masked |= HAL_INT_RX;
+#else
 		if (isr & (AR_ISR_RXOK | AR_ISR_RXERR))
 			*masked |= HAL_INT_RX;
-		if (isr & (AR_ISR_TXOK | AR_ISR_TXDESC | AR_ISR_TXERR | AR_ISR_TXEOL)) {
+#endif
+
+		if (isr & (AR_ISR_TXOK | AR_ISR_TXDESC | AR_ISR_TXERR |
+		    AR_ISR_TXEOL)) {
 			*masked |= HAL_INT_TX;
-			isr0 = OS_REG_READ(ah, AR_ISR_S0_S);
+
+			isr0 = OS_REG_READ(ah, AR_ISR_S0);
+			OS_REG_WRITE(ah, AR_ISR_S0, isr0);
+			isr1 = OS_REG_READ(ah, AR_ISR_S1);
+			OS_REG_WRITE(ah, AR_ISR_S1, isr1);
+
+			/*
+			 * Don't clear the primary ISR TX bits, clear
+			 * what causes them (S0/S1.)
+			 */
+			isr &= ~(AR_ISR_TXOK | AR_ISR_TXDESC |
+			    AR_ISR_TXERR | AR_ISR_TXEOL);
+
 			ahp->ah_intrTxqs |= MS(isr0, AR_ISR_S0_QCU_TXOK);
 			ahp->ah_intrTxqs |= MS(isr0, AR_ISR_S0_QCU_TXDESC);
-			isr1 = OS_REG_READ(ah, AR_ISR_S1_S);
 			ahp->ah_intrTxqs |= MS(isr1, AR_ISR_S1_QCU_TXERR);
 			ahp->ah_intrTxqs |= MS(isr1, AR_ISR_S1_QCU_TXEOL);
 		}
 
-		if (AR_SREV_MERLIN(ah) || AR_SREV_KITE(ah)) {
+		if ((isr & AR_ISR_GENTMR) || (! pCap->halAutoSleepSupport)) {
 			uint32_t isr5;
-			isr5 = OS_REG_READ(ah, AR_ISR_S5_S);
-			if (isr5 & AR_ISR_S5_TIM_TIMER)
-				*masked |= HAL_INT_TIM_TIMER;
+			isr5 = OS_REG_READ(ah, AR_ISR_S5);
+			OS_REG_WRITE(ah, AR_ISR_S5, isr5);
+			isr &= ~AR_ISR_GENTMR;
+
+			if (! pCap->halAutoSleepSupport)
+				if (isr5 & AR_ISR_S5_TIM_TIMER)
+					*masked |= HAL_INT_TIM_TIMER;
 		}
-
-		/* Interrupt Mitigation on AR5416 */
-#ifdef	AH_AR5416_INTERRUPT_MITIGATION
-		if (isr & (AR_ISR_RXMINTR | AR_ISR_RXINTM))
-			*masked |= HAL_INT_RX;
-		if (isr & (AR_ISR_TXMINTR | AR_ISR_TXINTM))
-			*masked |= HAL_INT_TX;
-#endif
 		*masked |= mask2;
 	}
 
+	/*
+	 * Since we're not using AR_ISR_RAC, clear the status bits
+	 * for handled interrupts here. For bits whose interrupt
+	 * source is a secondary register, those bits should've been
+	 * masked out - instead of those bits being written back,
+	 * their source (ie, the secondary status registers) should
+	 * be cleared. That way there are no race conditions with
+	 * new triggers coming in whilst they've been read/cleared.
+	 */
+	OS_REG_WRITE(ah, AR_ISR, isr);
+	/* Flush previous write */
+	OS_REG_READ(ah, AR_ISR);
+
 	if (AR_SREV_HOWL(ah))
 		return AH_TRUE;
 
@@ -216,18 +268,12 @@ ar5416SetInterrupts(struct ath_hal *ah, 
 	 * Overwrite default mask if Interrupt mitigation
 	 * is specified for AR5416
 	 */
-	mask = ints & HAL_INT_COMMON;
-	if (ints & HAL_INT_TX)
-		mask |= AR_IMR_TXMINTR | AR_IMR_TXINTM;
 	if (ints & HAL_INT_RX)
 		mask |= AR_IMR_RXERR | AR_IMR_RXMINTR | AR_IMR_RXINTM;
-	if (ints & HAL_INT_TX) {
-		if (ahp->ah_txErrInterruptMask)
-			mask |= AR_IMR_TXERR;
-		if (ahp->ah_txEolInterruptMask)
-			mask |= AR_IMR_TXEOL;
-	}
 #else
+	if (ints & HAL_INT_RX)
+		mask |= AR_IMR_RXOK | AR_IMR_RXERR | AR_IMR_RXDESC;
+#endif
 	if (ints & HAL_INT_TX) {
 		if (ahp->ah_txOkInterruptMask)
 			mask |= AR_IMR_TXOK;
@@ -238,9 +284,6 @@ ar5416SetInterrupts(struct ath_hal *ah, 
 		if (ahp->ah_txEolInterruptMask)
 			mask |= AR_IMR_TXEOL;
 	}
-	if (ints & HAL_INT_RX)
-		mask |= AR_IMR_RXOK | AR_IMR_RXERR | AR_IMR_RXDESC;
-#endif
 	if (ints & (HAL_INT_BMISC)) {
 		mask |= AR_IMR_BCNMISC;
 		if (ints & HAL_INT_TIM)

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -107,7 +107,6 @@ ar5416SetupRxDesc(struct ath_hal *ah, st
     uint32_t size, u_int flags)
 {
 	struct ar5416_desc *ads = AR5416DESC(ds);
-	HAL_CAPABILITIES *pCap = &AH_PRIVATE(ah)->ah_caps;
 
 	HALASSERT((size &~ AR_BufLen) == 0);
 
@@ -119,8 +118,7 @@ ar5416SetupRxDesc(struct ath_hal *ah, st
 	ads->ds_rxstatus8 &= ~AR_RxDone;
 
 	/* clear the rest of the status fields */
-	if (! pCap->halAutoSleepSupport)
-        	OS_MEMZERO(&(ads->u), sizeof(ads->u));
+	OS_MEMZERO(&(ads->u), sizeof(ads->u));
 
 	return AH_TRUE;
 }

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -358,12 +358,32 @@ ar5416Reset(struct ath_hal *ah, HAL_OPMO
 	OS_REG_WRITE(ah, AR_OBS, 8);
 
 #ifdef	AH_AR5416_INTERRUPT_MITIGATION
+	/*
+	 * Disable the "general" TX/RX mitigation timers.
+	 */
 	OS_REG_WRITE(ah, AR_MIRT, 0);
 
-	OS_REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, 500);
-	OS_REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_FIRST, 2000);
-	OS_REG_RMW_FIELD(ah, AR_TIMT, AR_TIMT_LAST, 300);
-	OS_REG_RMW_FIELD(ah, AR_TIMT, AR_TIMT_FIRST, 750);
+	/*
+	 * This initialises the RX interrupt mitigation timers.
+	 *
+	 * The mitigation timers begin at idle and are triggered
+	 * upon the RXOK of a single frame (or sub-frame, for A-MPDU.)
+	 * Then, the RX mitigation interrupt will fire:
+	 *
+	 * + 250uS after the last RX'ed frame, or
+	 * + 700uS after the first RX'ed frame
+	 *
+	 * Thus, the LAST field dictates the extra latency
+	 * induced by the RX mitigation method and the FIRST
+	 * field dictates how long to delay before firing an
+	 * RX mitigation interrupt.
+	 *
+	 * Please note this only seems to be for RXOK frames;
+	 * not CRC or PHY error frames.
+	 *
+	 */
+	OS_REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, 250);
+	OS_REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_FIRST, 700);
 #endif
 	ar5416InitBB(ah, chan);
 

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416reg.h
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416reg.h	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416reg.h	Sun Oct  2 16:25:51 2011	(r225928)
@@ -250,6 +250,7 @@
 /* Interrupts */
 #define	AR_ISR_TXMINTR		0x00080000	/* Maximum interrupt tx rate */
 #define	AR_ISR_RXMINTR		0x01000000	/* Maximum interrupt rx rate */
+#define	AR_ISR_GENTMR		0x10000000	/* OR of generic timer bits in S5 */
 #define	AR_ISR_TXINTM		0x40000000	/* Tx int after mitigation */
 #define	AR_ISR_RXINTM		0x80000000	/* Rx int after mitigation */
 

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -78,13 +78,13 @@ ar9130Attach(uint16_t devid, HAL_SOFTC s
 	HAL_STATUS ecode;
 	HAL_BOOL rfStatus;
 
-	HALDEBUG_G(AH_NULL, HAL_DEBUG_ATTACH, "%s: sc %p st %p sh %p\n",
+	HALDEBUG(AH_NULL, HAL_DEBUG_ATTACH, "%s: sc %p st %p sh %p\n",
 	    __func__, sc, (void*) st, (void*) sh);
 
 	/* NB: memory is returned zero'd */
 	ahp5416 = ath_hal_malloc(sizeof (struct ath_hal_5416));
 	if (ahp5416 == AH_NULL) {
-		HALDEBUG_G(AH_NULL, HAL_DEBUG_ANY,
+		HALDEBUG(AH_NULL, HAL_DEBUG_ANY,
 		    "%s: cannot allocate memory for state block\n", __func__);
 		*status = HAL_ENOMEM;
 		return AH_NULL;

Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c
==============================================================================
--- user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c	Sun Oct  2 16:05:19 2011	(r225927)
+++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c	Sun Oct  2 16:25:51 2011	(r225928)
@@ -123,13 +123,13 @@ ar9160Attach(uint16_t devid, HAL_SOFTC s
 	HAL_STATUS ecode;
 	HAL_BOOL rfStatus;
 
-	HALDEBUG_G(AH_NULL, HAL_DEBUG_ATTACH, "%s: sc %p st %p sh %p\n",

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


More information about the svn-src-user mailing list