Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 May 2011 14:18:11 +0000 (UTC)
From:      Attilio Rao <attilio@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r222526 - in projects/largeSMP: contrib/top etc etc/defaults lib/libc/gen lib/msun/ld128 lib/msun/ld80 lib/msun/src sbin/geom/class/part sbin/hastd sbin/ipfw sbin/umount share/man/man4 ...
Message-ID:  <201105311418.p4VEIBYk027111@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: attilio
Date: Tue May 31 14:18:10 2011
New Revision: 222526
URL: http://svn.freebsd.org/changeset/base/222526

Log:
  MFC

Added:
  projects/largeSMP/share/man/man4/ath_ahb.4
     - copied unchanged from r222525, head/share/man/man4/ath_ahb.4
  projects/largeSMP/share/man/man4/ath_pci.4
     - copied unchanged from r222525, head/share/man/man4/ath_pci.4
  projects/largeSMP/sys/dev/cxgbe/common/jhash.h
     - copied unchanged from r222525, head/sys/dev/cxgbe/common/jhash.h
  projects/largeSMP/sys/dev/cxgbe/t4_l2t.c
     - copied unchanged from r222525, head/sys/dev/cxgbe/t4_l2t.c
  projects/largeSMP/sys/dev/cxgbe/t4_l2t.h
     - copied unchanged from r222525, head/sys/dev/cxgbe/t4_l2t.h
  projects/largeSMP/tools/regression/bin/sh/parser/func2.0
     - copied unchanged from r222525, head/tools/regression/bin/sh/parser/func2.0
  projects/largeSMP/tools/regression/bin/sh/parser/func3.0
     - copied unchanged from r222525, head/tools/regression/bin/sh/parser/func3.0
  projects/largeSMP/usr.sbin/bsdinstall/scripts/netconfig_ipv4
     - copied unchanged from r222525, head/usr.sbin/bsdinstall/scripts/netconfig_ipv4
  projects/largeSMP/usr.sbin/bsdinstall/scripts/netconfig_ipv6
     - copied unchanged from r222525, head/usr.sbin/bsdinstall/scripts/netconfig_ipv6
Modified:
  projects/largeSMP/etc/defaults/rc.conf
  projects/largeSMP/etc/network.subr
  projects/largeSMP/lib/libc/gen/posix_spawn.c
  projects/largeSMP/lib/msun/ld128/e_rem_pio2l.h
  projects/largeSMP/lib/msun/ld80/e_rem_pio2l.h
  projects/largeSMP/lib/msun/src/s_cosl.c
  projects/largeSMP/lib/msun/src/s_sinl.c
  projects/largeSMP/lib/msun/src/s_tanl.c
  projects/largeSMP/sbin/geom/class/part/gpart.8
  projects/largeSMP/sbin/hastd/primary.c
  projects/largeSMP/sbin/ipfw/ipfw.8
  projects/largeSMP/sbin/ipfw/ipfw2.c
  projects/largeSMP/sbin/umount/umount.c
  projects/largeSMP/share/man/man4/Makefile
  projects/largeSMP/share/man/man4/ath.4
  projects/largeSMP/share/man/man4/ath_hal.4
  projects/largeSMP/share/man/man7/c99.7
  projects/largeSMP/share/man/man7/ports.7
  projects/largeSMP/share/man/man7/release.7
  projects/largeSMP/sys/boot/ia64/common/Makefile
  projects/largeSMP/sys/boot/powerpc/ps3/Makefile
  projects/largeSMP/sys/boot/sparc64/loader/Makefile
  projects/largeSMP/sys/cam/ata/ata_da.c
  projects/largeSMP/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c
  projects/largeSMP/sys/conf/NOTES
  projects/largeSMP/sys/conf/files
  projects/largeSMP/sys/contrib/pf/net/pf.c
  projects/largeSMP/sys/dev/ath/if_ath.c
  projects/largeSMP/sys/dev/ath/if_ath_tx_ht.c
  projects/largeSMP/sys/dev/cxgbe/adapter.h
  projects/largeSMP/sys/dev/cxgbe/common/common.h
  projects/largeSMP/sys/dev/cxgbe/common/t4fw_interface.h
  projects/largeSMP/sys/dev/cxgbe/offload.h
  projects/largeSMP/sys/dev/cxgbe/osdep.h
  projects/largeSMP/sys/dev/cxgbe/t4_ioctl.h
  projects/largeSMP/sys/dev/cxgbe/t4_main.c
  projects/largeSMP/sys/dev/cxgbe/t4_sge.c
  projects/largeSMP/sys/dev/iicbus/ad7417.c
  projects/largeSMP/sys/dev/iicbus/ds1775.c
  projects/largeSMP/sys/dev/iicbus/max6690.c
  projects/largeSMP/sys/dev/mmc/mmc.c
  projects/largeSMP/sys/dev/mmc/mmcvar.h
  projects/largeSMP/sys/dev/msk/if_msk.c
  projects/largeSMP/sys/dev/sdhci/sdhci.c
  projects/largeSMP/sys/kern/kern_cpuset.c
  projects/largeSMP/sys/kern/kern_ktr.c
  projects/largeSMP/sys/modules/cxgbe/if_cxgbe/Makefile
  projects/largeSMP/sys/netinet/in_pcb.c
  projects/largeSMP/sys/netinet/in_pcb.h
  projects/largeSMP/sys/netinet/ip_divert.c
  projects/largeSMP/sys/netinet/ipfw/ip_fw2.c
  projects/largeSMP/sys/netinet/ipfw/ip_fw_sockopt.c
  projects/largeSMP/sys/netinet/raw_ip.c
  projects/largeSMP/sys/netinet/sctp_indata.c
  projects/largeSMP/sys/netinet/sctp_indata.h
  projects/largeSMP/sys/netinet/sctputil.c
  projects/largeSMP/sys/netinet/sctputil.h
  projects/largeSMP/sys/netinet/siftr.c
  projects/largeSMP/sys/netinet/tcp_input.c
  projects/largeSMP/sys/netinet/tcp_subr.c
  projects/largeSMP/sys/netinet/tcp_syncache.c
  projects/largeSMP/sys/netinet/tcp_timer.c
  projects/largeSMP/sys/netinet/tcp_usrreq.c
  projects/largeSMP/sys/netinet/udp_usrreq.c
  projects/largeSMP/sys/netinet6/in6_pcb.c
  projects/largeSMP/sys/netinet6/in6_pcb.h
  projects/largeSMP/sys/netinet6/in6_src.c
  projects/largeSMP/sys/netinet6/udp6_usrreq.c
  projects/largeSMP/sys/nfsclient/nfs_vfsops.c
  projects/largeSMP/sys/powerpc/powermac/fcu.c
  projects/largeSMP/sys/powerpc/powermac/powermac_thermal.c
  projects/largeSMP/sys/powerpc/powermac/smu.c
  projects/largeSMP/sys/powerpc/powermac/smusat.c
  projects/largeSMP/sys/sparc64/include/ktr.h
  projects/largeSMP/sys/sys/cpuset.h
  projects/largeSMP/sys/sys/ktr.h
  projects/largeSMP/tools/regression/netinet/tcpconnect/tcpconnect.c
  projects/largeSMP/tools/regression/netinet/tcpdrop/tcpdrop.c
  projects/largeSMP/tools/regression/netinet/tcpfullwindowrst/tcpfullwindowrsttest.c
  projects/largeSMP/tools/regression/netinet/tcpsocktimewait/tcpsocktimewait.c
  projects/largeSMP/tools/regression/netinet/udpconnectjail/udpconnectjail.c
  projects/largeSMP/usr.sbin/bsdinstall/scripts/Makefile
  projects/largeSMP/usr.sbin/bsdinstall/scripts/netconfig
  projects/largeSMP/usr.sbin/jail/Makefile
  projects/largeSMP/usr.sbin/jail/jail.c
  projects/largeSMP/usr.sbin/jls/Makefile
  projects/largeSMP/usr.sbin/jls/jls.c
  projects/largeSMP/usr.sbin/usbdump/usbdump.8
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)

Modified: projects/largeSMP/etc/defaults/rc.conf
==============================================================================
--- projects/largeSMP/etc/defaults/rc.conf	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/etc/defaults/rc.conf	Tue May 31 14:18:10 2011	(r222526)
@@ -210,7 +210,7 @@ icmp_log_redirect="NO"		# Set to YES to 
 network_interfaces="auto"	# List of network interfaces (or "auto").
 cloned_interfaces=""		# List of cloned network interfaces to create.
 #cloned_interfaces="gif0 gif1 gif2 gif3" # Pre-cloning GENERIC config.
-ifconfig_lo0="inet 127.0.0.1"	# default loopback device configuration.
+#ifconfig_lo0="inet 127.0.0.1"	# default loopback device configuration.
 #ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" # Sample alias entry.
 #ifconfig_ed0_ipx="ipx 0x00010010"	# Sample IPX address family entry.
 #ifconfig_ed0_ipv6="inet6 2001:db8:1::1 prefixlen 64" # Sample IPv6 addr entry

Modified: projects/largeSMP/etc/network.subr
==============================================================================
--- projects/largeSMP/etc/network.subr	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/etc/network.subr	Tue May 31 14:18:10 2011	(r222526)
@@ -44,9 +44,9 @@ ifn_start()
 
 	ifscript_up ${ifn} && cfg=0
 	ifconfig_up ${ifn} && cfg=0
-	ipv4_up ${ifn} && cfg=0
-	ipv6_up ${ifn} && cfg=0
-	ipx_up ${ifn} && cfg=0
+	afexists inet && ipv4_up ${ifn} && cfg=0
+	afexists inet6 && ipv6_up ${ifn} && cfg=0
+	afexists ipx && ipx_up ${ifn} && cfg=0
 	childif_create ${ifn} && cfg=0
 
 	return $cfg
@@ -64,9 +64,9 @@ ifn_stop()
 
 	[ -z "$ifn" ] && err 1 "ifn_stop called without an interface"
 
-	ipx_down ${ifn} && cfg=0
-	ipv6_down ${ifn} && cfg=0
-	ipv4_down ${ifn} && cfg=0
+	afexists ipx && ipx_down ${ifn} && cfg=0
+	afexists inet6 && ipv6_down ${ifn} && cfg=0
+	afexists inet && ipv4_down ${ifn} && cfg=0
 	ifconfig_down ${ifn} && cfg=0
 	ifscript_down ${ifn} && cfg=0
 	childif_destroy ${ifn} && cfg=0
@@ -86,6 +86,11 @@ ifconfig_up()
 	local _cfg _ipv6_opts ifconfig_args
 	_cfg=1
 
+	# Make sure lo0 always comes up.
+	if [ "$1" = "lo0" ]; then
+		_cfg=0
+	fi
+
 	# ifconfig_IF
 	ifconfig_args=`ifconfig_getargs $1`
 	if [ -n "${ifconfig_args}" ]; then
@@ -351,10 +356,10 @@ afexists()
 
 	case ${_af} in
 	inet)
-		${SYSCTL_N} net.inet > /dev/null 2>&1
+		${SYSCTL_N} kern.features.inet > /dev/null 2>&1
 		;;
 	inet6)
-		${SYSCTL_N} net.inet6 > /dev/null 2>&1
+		${SYSCTL_N} kern.features.inet6 > /dev/null 2>&1
 		;;
 	ipx)
 		${SYSCTL_N} net.ipx > /dev/null 2>&1
@@ -512,6 +517,13 @@ ipv4_up()
 	_if=$1
 	_ret=1
 
+	# Add 127.0.0.1/8 to lo0 unless otherwise specified.
+	if [ "${_if}" = "lo0" ]; then
+		ifconfig_args=`ifconfig_getargs ${_if}`
+		if [ -z "${ifconfig_args}" ]; then
+			ifconfig ${_if} inet 127.0.0.1/8 alias
+		fi
+	fi
 	ifalias_up ${_if} inet && _ret=0
 	ipv4_addrs_common ${_if} alias && _ret=0
 

Modified: projects/largeSMP/lib/libc/gen/posix_spawn.c
==============================================================================
--- projects/largeSMP/lib/libc/gen/posix_spawn.c	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/lib/libc/gen/posix_spawn.c	Tue May 31 14:18:10 2011	(r222526)
@@ -163,11 +163,8 @@ process_file_actions_entry(posix_spawn_f
 			return (errno);
 		break;
 	case FAE_CLOSE:
-		/* Perform a close() */
-		if (_close(fae->fae_fildes) != 0) {
-			if (errno == EBADF)
-				return (EBADF);
-		}
+		/* Perform a close(), do not fail if already closed */
+		(void)_close(fae->fae_fildes);
 		break;
 	}
 	return (0);

Modified: projects/largeSMP/lib/msun/ld128/e_rem_pio2l.h
==============================================================================
--- projects/largeSMP/lib/msun/ld128/e_rem_pio2l.h	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/lib/msun/ld128/e_rem_pio2l.h	Tue May 31 14:18:10 2011	(r222526)
@@ -58,10 +58,7 @@ pio2_2t =  2.067032109826398823649690305
 pio2_3  =  2.0670321098263988236499468110329591e-43L,	/*  0x127044533e63a0105e00000000000.0p-254 */
 pio2_3t = -2.5650587247459238361625433492959285e-65L;	/* -0x159c4ec64ddaeb5f78671cbfb2210.0p-327 */
 
-#ifdef INLINE_REM_PIO2L
-static inline __always_inline
-#endif
-int
+static inline __always_inline int
 __ieee754_rem_pio2l(long double x, long double *y)
 {
 	union IEEEl2bits u,u1;

Modified: projects/largeSMP/lib/msun/ld80/e_rem_pio2l.h
==============================================================================
--- projects/largeSMP/lib/msun/ld80/e_rem_pio2l.h	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/lib/msun/ld80/e_rem_pio2l.h	Tue May 31 14:18:10 2011	(r222526)
@@ -70,10 +70,7 @@ pio2_2t =  6.36831716351095013979e-25L,	
 pio2_3t = -2.75299651904407171810e-37L;	/* -0xbb5bf6c7ddd660ce.0p-185 */
 #endif
 
-#ifdef INLINE_REM_PIO2L
-static inline __always_inline
-#endif
-int
+static inline __always_inline int
 __ieee754_rem_pio2l(long double x, long double *y)
 {
 	union IEEEl2bits u,u1;

Modified: projects/largeSMP/lib/msun/src/s_cosl.c
==============================================================================
--- projects/largeSMP/lib/msun/src/s_cosl.c	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/lib/msun/src/s_cosl.c	Tue May 31 14:18:10 2011	(r222526)
@@ -35,7 +35,6 @@ __FBSDID("$FreeBSD$");
 #include <float.h>
 
 #include "math.h"
-#define INLINE_REM_PIO2L
 #include "math_private.h"
 #if LDBL_MANT_DIG == 64
 #include "../ld80/e_rem_pio2l.h"

Modified: projects/largeSMP/lib/msun/src/s_sinl.c
==============================================================================
--- projects/largeSMP/lib/msun/src/s_sinl.c	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/lib/msun/src/s_sinl.c	Tue May 31 14:18:10 2011	(r222526)
@@ -30,7 +30,6 @@ __FBSDID("$FreeBSD$");
 #include <float.h>
 
 #include "math.h"
-#define INLINE_REM_PIO2L
 #include "math_private.h"
 #if LDBL_MANT_DIG == 64
 #include "../ld80/e_rem_pio2l.h"

Modified: projects/largeSMP/lib/msun/src/s_tanl.c
==============================================================================
--- projects/largeSMP/lib/msun/src/s_tanl.c	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/lib/msun/src/s_tanl.c	Tue May 31 14:18:10 2011	(r222526)
@@ -36,7 +36,6 @@ __FBSDID("$FreeBSD$");
 #include <float.h>
 
 #include "math.h"
-#define INLINE_REM_PIO2L
 #include "math_private.h"
 #if LDBL_MANT_DIG == 64
 #include "../ld80/e_rem_pio2l.h"

Modified: projects/largeSMP/sbin/geom/class/part/gpart.8
==============================================================================
--- projects/largeSMP/sbin/geom/class/part/gpart.8	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sbin/geom/class/part/gpart.8	Tue May 31 14:18:10 2011	(r222526)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 27, 2011
+.Dd May 30, 2011
 .Dt GPART 8
 .Os
 .Sh NAME
@@ -802,6 +802,22 @@ providers and some of them will be marke
 Be careful when choosing a provider for recovering.
 If you choose incorrectly you can destroy the metadata of another GEOM class,
 e.g. GEOM MIRROR or GEOM LABEL.
+.Sh SYSCTL VARIABLES
+The following
+.Xr sysctl 8
+variables can be used to control the behavior of the
+.Nm PART
+GEOM class.
+The default value is shown next to each variable.
+.Bl -tag -width indent
+.It Va kern.geom.part.check_integrity : No 1
+This variable controls the behaviour of metadata integrity checks.
+When integrity checks are enabled
+.Nm PART
+GEOM class verifies all generic partition parameters that it gets from the
+disk metadata. If some inconsistency is detected, partition table will be
+rejected with a diagnostic message:
+.Pa GEOM_PART: Integrity check failed (provider, scheme) .
 .Sh EXIT STATUS
 Exit status is 0 on success, and 1 if the command fails.
 .Sh EXAMPLES

Modified: projects/largeSMP/sbin/hastd/primary.c
==============================================================================
--- projects/largeSMP/sbin/hastd/primary.c	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sbin/hastd/primary.c	Tue May 31 14:18:10 2011	(r222526)
@@ -1243,7 +1243,7 @@ local_send_thread(void *arg)
 			    ggio->gctl_offset + res->hr_localoff);
 			if (ret == ggio->gctl_length)
 				hio->hio_errors[ncomp] = 0;
-			else {
+			else if (!ISSYNCREQ(hio)) {
 				/*
 				 * If READ failed, try to read from remote node.
 				 */

Modified: projects/largeSMP/sbin/ipfw/ipfw.8
==============================================================================
--- projects/largeSMP/sbin/ipfw/ipfw.8	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sbin/ipfw/ipfw.8	Tue May 31 14:18:10 2011	(r222526)
@@ -1,7 +1,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 27, 2010
+.Dd May 30, 2011
 .Dt IPFW 8
 .Os
 .Sh NAME
@@ -871,13 +871,16 @@ for more information on
 and
 .Cm ngtee
 actions.
-.It Cm setfib Ar fibnum
+.It Cm setfib Ar fibnum | tablearg
 The packet is tagged so as to use the FIB (routing table)
 .Ar fibnum
 in any subsequent forwarding decisions.
 Initially this is limited to the values 0 through 15, see
 .Xr setfib 1 .
 Processing continues at the next rule.
+It is possible to use the 
+.Cm tablearg
+keyword with a setfib. If tablearg value is not within compiled FIB range packet fib is set to 0.
 .It Cm reass
 Queue and reassemble ip fragments.
 If the packet is not fragmented, counters are updated and processing continues with the next rule.
@@ -1711,7 +1714,7 @@ is used.
 The
 .Cm tablearg
 argument can be used with the following actions:
-.Cm nat, pipe , queue, divert, tee, netgraph, ngtee, fwd, skipto
+.Cm nat, pipe , queue, divert, tee, netgraph, ngtee, fwd, skipto, setfib,
 action parameters:
 .Cm tag, untag,
 rule options:

Modified: projects/largeSMP/sbin/ipfw/ipfw2.c
==============================================================================
--- projects/largeSMP/sbin/ipfw/ipfw2.c	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sbin/ipfw/ipfw2.c	Tue May 31 14:18:10 2011	(r222526)
@@ -2835,14 +2835,19 @@ chkarg:
 		size_t intsize = sizeof(int);
 
 		action->opcode = O_SETFIB;
- 		NEED1("missing fib number");
- 		action->arg1 = strtoul(*av, NULL, 10);
-		if (sysctlbyname("net.fibs", &numfibs, &intsize, NULL, 0) == -1)
-			errx(EX_DATAERR, "fibs not suported.\n");
-		if (action->arg1 >= numfibs)  /* Temporary */
-			errx(EX_DATAERR, "fib too large.\n");
- 		av++;
- 		break;
+		NEED1("missing fib number");
+		if (_substrcmp(*av, "tablearg") == 0) {
+			action->arg1 = IP_FW_TABLEARG;
+		} else {
+		        action->arg1 = strtoul(*av, NULL, 10);
+			if (sysctlbyname("net.fibs", &numfibs, &intsize,
+			    NULL, 0) == -1)
+				errx(EX_DATAERR, "fibs not suported.\n");
+			if (action->arg1 >= numfibs)  /* Temporary */
+				errx(EX_DATAERR, "fib too large.\n");
+		}
+		av++;
+		break;
 	    }
 
 	case TOK_REASS:

Modified: projects/largeSMP/sbin/umount/umount.c
==============================================================================
--- projects/largeSMP/sbin/umount/umount.c	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sbin/umount/umount.c	Tue May 31 14:18:10 2011	(r222526)
@@ -90,9 +90,6 @@ main(int argc, char *argv[])
 	struct statfs *mntbuf, *sfs;
 	struct addrinfo hints;
 
-	/* Start disks transferring immediately. */
-	sync();
-
 	all = errs = 0;
 	while ((ch = getopt(argc, argv, "AaF:fh:t:v")) != -1)
 		switch (ch) {
@@ -127,6 +124,10 @@ main(int argc, char *argv[])
 	argc -= optind;
 	argv += optind;
 
+	/* Start disks transferring immediately. */
+	if ((fflag & MNT_FORCE) == 0)
+		sync();
+
 	if ((argc == 0 && !all) || (argc != 0 && all))
 		usage();
 

Modified: projects/largeSMP/share/man/man4/Makefile
==============================================================================
--- projects/largeSMP/share/man/man4/Makefile	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/share/man/man4/Makefile	Tue May 31 14:18:10 2011	(r222526)
@@ -46,7 +46,9 @@ MAN=	aac.4 \
 	atapicam.4 \
 	ataraid.4 \
 	ath.4 \
+	ath_ahb.4 \
 	ath_hal.4 \
+	ath_pci.4 \
 	atkbd.4 \
 	atkbdc.4 \
 	${_atp.4} \

Modified: projects/largeSMP/share/man/man4/ath.4
==============================================================================
--- projects/largeSMP/share/man/man4/ath.4	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/share/man/man4/ath.4	Tue May 31 14:18:10 2011	(r222526)
@@ -40,6 +40,7 @@ place the following lines in your
 kernel configuration file:
 .Bd -ragged -offset indent
 .Cd "device ath"
+.Cd "device ath_pci"
 .Cd "device ath_hal"
 .Cd "options AH_SUPPORT_AR5416"
 .Cd "device ath_rate_sample"
@@ -51,6 +52,7 @@ module at boot time, place the following
 .Xr loader.conf 5 :
 .Bd -literal -offset indent
 if_ath_load="YES"
+if_ath_pci_load="YES"
 .Ed
 .Sh DESCRIPTION
 The
@@ -64,6 +66,19 @@ Supported features include 802.11 and 80
 IBSS, MBSS, TDMA, and host-based access point operation modes.
 All host/device interaction is via DMA.
 .Pp
+Please note that from FreeBSD-9.0, the
+.Nm
+driver does not include the PCI/PCIe bus glue.
+The same driver supports multiple underlying bus types, including PCI/PCIe,
+but also embedded (AHB) and USB in the future.
+.Pp
+To enable use for PCI/PCIe systems, see the
+.Xr ath_pci 4
+driver.
+For embedded systems which use the AHB to connect the wireless MAC, see the
+.Xr ath_ahb 4
+driver.
+.Pp
 The
 .Nm
 driver encapsulates all IP and ARP traffic as 802.11 frames, however

Copied: projects/largeSMP/share/man/man4/ath_ahb.4 (from r222525, head/share/man/man4/ath_ahb.4)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/largeSMP/share/man/man4/ath_ahb.4	Tue May 31 14:18:10 2011	(r222526, copy of r222525, head/share/man/man4/ath_ahb.4)
@@ -0,0 +1,60 @@
+.\"-
+.\" Copyright (c) 2011 Adrian Chadd, Xenion Pty Ltd
+.\" 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,
+.\"    without modification.
+.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer
+.\"    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+.\"    redistribution must be conditioned upon including a substantially
+.\"    similar Disclaimer requirement for further binary redistribution.
+.\"
+.\" NO WARRANTY
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+.\" LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+.\" THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+.\"
+.\" $FreeBSD$
+.\"/
+.Dd May 30, 2011
+.Dt ATH_AHB 4
+.Os
+.Sh NAME
+.Nm ath_ahb
+.Nd "Atheros AHB device glue"
+.Sh SYNOPSIS
+.Cd "device ath_ahb"
+.Sh DESCRIPTION
+This module provides the AHB bus glue needed for the devices supported
+by the
+.Xr ath 4
+and
+.Xr ath_hal 4
+drivers.
+.Pp
+This is only relevant for embedded System-on-Chip (SoC) devices such as
+the Atheros AR913x series, which include an Atheros wireless MAC on-die.
+.Sh SEE ALSO
+.Xr ath 4
+.Xr ath_hal 4
+.Sh HISTORY
+The
+.Nm
+module first appeared in
+.Fx 9.0 .
+.Sh BUGS
+See
+.Xr ath 4
+for known bugs.

Modified: projects/largeSMP/share/man/man4/ath_hal.4
==============================================================================
--- projects/largeSMP/share/man/man4/ath_hal.4	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/share/man/man4/ath_hal.4	Tue May 31 14:18:10 2011	(r222526)
@@ -51,14 +51,17 @@ or
 .\".Cd "device ath_ar5312"
 .\".Cd "device ath_rf2136"
 .\".Cd "device ath_rf2137"
+.Cd "device ath_ar9130"
 .Cd "device ath_ar9160"
 .Cd "device ath_ar9280"
+.Cd "device ath_ar9285"
+.Cd "device ath_ar9287"
 .Cd "options AH_SUPPORT_AR5416"
 .Sh DESCRIPTION
 The hal provides hardware support for wireless network adapters based on
 the Atheros AR5210, AR5211, AR5212, AR5213, AR2413, AR2417, AR2425,
-AR5413, AR5416, AR5418, AR5424, AR9160, AR9220, AR9280, and AR9285 chips
-(and companion RF/baseband parts).
+AR5413, AR5416, AR5418, AR5424, AR9160, AR9220, AR9280, AR9285 and AR9287
+chips (and companion RF/baseband parts).
 This code is part of the
 .Xr ath 4
 driver but configured separately to allow fine-grained control
@@ -66,14 +69,15 @@ over the set of chips supported.
 Selecting
 .Nm
 enables support for all PCI and Cardbus devices.
-Note this includes AR5416, AR9160, AR9220, AR9280 and AR9285 devices
-and must be accompanied by the
+Note this includes AR5416, AR5418, AR9130, AR9160, AR9220, AR9280, AR9285
+and AR9287 devices and must be accompanied by the
 AH_SUPPORT_AR5416
 option to enable the extended hardware descriptor format used by
 AR5416 and later devices.
 .Pp
 Some devices come in Cardbus/MiniPCI/PCI format.
-Others (AR9280, AR9285) come in PCIe, Mini-PCIe or ExpressCard format.
+Others (for example AR2413, AR2427, AR5418, AR9280, AR9285, AR9287) come in
+PCIe, Mini-PCIe or ExpressCard format.
 .Pp
 Historically this code has been released in a binary-only form
 and packaged as a separate module.

Copied: projects/largeSMP/share/man/man4/ath_pci.4 (from r222525, head/share/man/man4/ath_pci.4)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/largeSMP/share/man/man4/ath_pci.4	Tue May 31 14:18:10 2011	(r222526, copy of r222525, head/share/man/man4/ath_pci.4)
@@ -0,0 +1,57 @@
+.\"-
+.\" Copyright (c) 2011 Adrian Chadd, Xenion Pty Ltd
+.\" 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,
+.\"    without modification.
+.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer
+.\"    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+.\"    redistribution must be conditioned upon including a substantially
+.\"    similar Disclaimer requirement for further binary redistribution.
+.\"
+.\" NO WARRANTY
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+.\" LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+.\" THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+.\"
+.\" $FreeBSD$
+.\"/
+.Dd May 30, 2011
+.Dt ATH_PCI 4
+.Os
+.Sh NAME
+.Nm ath_pci
+.Nd "Atheros PCI device glue"
+.Sh SYNOPSIS
+.Cd "device ath_pci"
+.Sh DESCRIPTION
+This module provides the PCI/PCIe bus glue needed for the devices supported
+by the
+.Xr ath 4
+and
+.Xr ath_hal 4
+drivers.
+.Sh SEE ALSO
+.Xr ath 4
+.Xr ath_hal 4
+.Sh HISTORY
+The
+.Nm
+module first appeared in
+.Fx 9.0 .
+.Sh BUGS
+See
+.Xr ath 4
+for known bugs.

Modified: projects/largeSMP/share/man/man7/c99.7
==============================================================================
--- projects/largeSMP/share/man/man7/c99.7	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/share/man/man7/c99.7	Tue May 31 14:18:10 2011	(r222526)
@@ -23,7 +23,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 17, 2010
+.Dd May 30, 2011
 .Dt C 7
 .Os
 .Sh NAME
@@ -122,7 +122,7 @@ Support for variable length arrays
 New high-precision integer type named long long int, and other integer types
 defined in stdint.h
 .It
-New boolen data type implemented in stdbool.h
+New boolean data type implemented in stdbool.h
 .It
 One line comments taken from the C++ language
 .It

Modified: projects/largeSMP/share/man/man7/ports.7
==============================================================================
--- projects/largeSMP/share/man/man7/ports.7	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/share/man/man7/ports.7	Tue May 31 14:18:10 2011	(r222526)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 25, 2011
+.Dd May 30, 2011
 .Dt PORTS 7
 .Os
 .Sh NAME
@@ -479,6 +479,8 @@ Of course, these ports may not work as e
 what you are doing and are sure about installing a forbidden port, then
 .Va NO_IGNORE
 lets you do it.
+.It Va NO_CHECKSUM
+If defined, skip verifying the port's checksum.
 .It Va TRYBROKEN
 If defined, attempt to build a port even if it is marked as
 .Aq Va BROKEN .

Modified: projects/largeSMP/share/man/man7/release.7
==============================================================================
--- projects/largeSMP/share/man/man7/release.7	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/share/man/man7/release.7	Tue May 31 14:18:10 2011	(r222526)
@@ -65,7 +65,9 @@ and should have experience upgrading sys
 The release build process requires that
 .Pa /usr/obj
 be populated with the output of
-.Dq Li "make buildworld" .
+.Dq Li "make buildworld" 
+and
+.Dq Li "make buildkernel" .
 This is necessary to provide the object files for the release or, when
 using
 .Pa generate-release.sh ,
@@ -294,7 +296,7 @@ The following sequence of commands can b
 cd /usr
 svn co svn://svn.freebsd.org/base/head src
 cd src
-make buildworld
+make buildworld buildkernel
 cd release
 make release
 make install DESTDIR=/var/freebsd-snapshot

Modified: projects/largeSMP/sys/boot/ia64/common/Makefile
==============================================================================
--- projects/largeSMP/sys/boot/ia64/common/Makefile	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sys/boot/ia64/common/Makefile	Tue May 31 14:18:10 2011	(r222526)
@@ -33,6 +33,7 @@ loader.help: help.common
 
 .PATH: ${.CURDIR}/../../forth
 FILES+=		loader.4th support.4th loader.conf
+FILES+=		screen.4th frames.4th
 FILES+=		beastie.4th brand.4th check-password.4th color.4th delay.4th
 FILES+=		menu.4th menu-commands.4th shortcuts.4th version.4th
 .if !exists(${DESTDIR}/boot/loader.rc)

Modified: projects/largeSMP/sys/boot/powerpc/ps3/Makefile
==============================================================================
--- projects/largeSMP/sys/boot/powerpc/ps3/Makefile	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sys/boot/powerpc/ps3/Makefile	Tue May 31 14:18:10 2011	(r222526)
@@ -113,8 +113,9 @@ loader.help: help.common help.ps3
 
 .PATH: ${.CURDIR}/../../forth
 FILES=	loader.help loader.4th support.4th loader.conf
+FILES+=	screen.4th frames.4th
 FILES+=	beastie.4th brand.4th check-password.4th color.4th delay.4th
-FILES+= menu.4th menu-commands.4th shortcuts.4th version.4th
+FILES+=	menu.4th menu-commands.4th shortcuts.4th version.4th
 FILESDIR_loader.conf=	/boot/defaults
 
 .if !exists(${DESTDIR}/boot/loader.rc)

Modified: projects/largeSMP/sys/boot/sparc64/loader/Makefile
==============================================================================
--- projects/largeSMP/sys/boot/sparc64/loader/Makefile	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sys/boot/sparc64/loader/Makefile	Tue May 31 14:18:10 2011	(r222526)
@@ -84,8 +84,9 @@ loader.help: help.common help.sparc64
 
 .PATH: ${.CURDIR}/../../forth
 FILES=	loader.help loader.4th support.4th loader.conf
+FILES+=	screen.4th frames.4th
 FILES+=	beastie.4th brand.4th check-password.4th color.4th delay.4th
-FILES+= menu.4th menu-commands.4th shortcuts.4th version.4th
+FILES+=	menu.4th menu-commands.4th shortcuts.4th version.4th
 FILESDIR_loader.conf=	/boot/defaults
 
 .if !exists(${DESTDIR}/boot/loader.rc)

Modified: projects/largeSMP/sys/cam/ata/ata_da.c
==============================================================================
--- projects/largeSMP/sys/cam/ata/ata_da.c	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sys/cam/ata/ata_da.c	Tue May 31 14:18:10 2011	(r222526)
@@ -89,7 +89,8 @@ typedef enum {
 } ada_flags;
 
 typedef enum {
-	ADA_Q_NONE		= 0x00
+	ADA_Q_NONE		= 0x00,
+	ADA_Q_4K		= 0x01,
 } ada_quirks;
 
 typedef enum {
@@ -154,6 +155,86 @@ struct ada_quirk_entry {
 static struct ada_quirk_entry ada_quirk_table[] =
 {
 	{
+		/* Hitachi Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "Hitachi H??????????E3*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* Samsung Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "SAMSUNG HD204UI*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* Seagate Barracuda Green Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "ST????DL*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* Seagate Momentus Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "ST9500423AS*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* Seagate Momentus Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "ST9500424AS*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* Seagate Momentus Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "ST9750420AS*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* Seagate Momentus Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "ST9750422AS*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* Seagate Momentus Thin Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "ST???LT*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* WDC Caviar Green Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD????RS*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* WDC Caviar Green Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD????RX*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* WDC Caviar Green Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD??????RS*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* WDC Caviar Green Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD??????RX*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* WDC Scorpio Black Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD???PKT*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* WDC Scorpio Black Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD?????PKT*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* WDC Scorpio Blue Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD???PVT*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/* WDC Scorpio Blue Advanced Format (4k) drives */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD?????PVT*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
 		/* Default */
 		{
 		  T_ANY, SIP_MEDIA_REMOVABLE|SIP_MEDIA_FIXED,
@@ -740,7 +821,7 @@ adaregister(struct cam_periph *periph, v
 	struct disk_params *dp;
 	caddr_t match;
 	u_int maxio;
-	int legacy_id;
+	int legacy_id, quirks;
 
 	cgd = (struct ccb_getdev *)arg;
 	if (periph == NULL) {
@@ -815,6 +896,11 @@ adaregister(struct cam_periph *periph, v
 	 */
 	(void)cam_periph_hold(periph, PRIBIO);
 	mtx_unlock(periph->sim->mtx);
+	snprintf(announce_buf, sizeof(announce_buf),
+	    "kern.cam.ada.%d.quirks", periph->unit_number);
+	quirks = softc->quirks;
+	TUNABLE_INT_FETCH(announce_buf, &quirks);
+	softc->quirks = quirks;
 	softc->write_cache = -1;
 	snprintf(announce_buf, sizeof(announce_buf),
 	    "kern.cam.ada.%d.write_cache", periph->unit_number);
@@ -870,6 +956,9 @@ adaregister(struct cam_periph *periph, v
 		softc->disk->d_stripeoffset = (softc->disk->d_stripesize -
 		    ata_logical_sector_offset(&cgd->ident_data)) %
 		    softc->disk->d_stripesize;
+	} else if (softc->quirks & ADA_Q_4K) {
+		softc->disk->d_stripesize = 4096;
+		softc->disk->d_stripeoffset = 0;
 	}
 	softc->disk->d_fwsectors = softc->params.secs_per_track;
 	softc->disk->d_fwheads = softc->params.heads;

Modified: projects/largeSMP/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c
==============================================================================
--- projects/largeSMP/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c	Tue May 31 14:18:10 2011	(r222526)
@@ -172,6 +172,11 @@ mount_snapshot(kthread_t *td, vnode_t **
 	 */
 	mp->mnt_flag |= MNT_RDONLY;
 	/*
+	 * We don't want snapshots to allow access to vulnerable setuid
+	 * programs, so we turn off setuid when mounting snapshots.
+	 */
+	mp->mnt_flag |= MNT_NOSUID;
+	/*
 	 * We don't want snapshots to be visible in regular
 	 * mount(8) and df(1) output.
 	 */

Modified: projects/largeSMP/sys/conf/NOTES
==============================================================================
--- projects/largeSMP/sys/conf/NOTES	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sys/conf/NOTES	Tue May 31 14:18:10 2011	(r222526)
@@ -432,7 +432,10 @@ options 	KTRACE_REQUEST_POOL=101
 # defined by the KTR_* constants in <sys/ktr.h>.  KTR_MASK defines the
 # initial value of the ktr_mask variable which determines at runtime
 # what events to trace.  KTR_CPUMASK determines which CPU's log
-# events, with bit X corresponding to CPU X.  KTR_VERBOSE enables
+# events, with bit X corresponding to CPU X.  The layout of the string
+# passed as KTR_CPUMASK must match a serie of bitmasks each of them
+# separated by the ", " characters (ie:
+# KTR_CPUMASK=("0xAF, 0xFFFFFFFFFFFFFFFF")).  KTR_VERBOSE enables
 # dumping of KTR events to the console by default.  This functionality
 # can be toggled via the debug.ktr_verbose sysctl and defaults to off
 # if KTR_VERBOSE is not defined.  See ktr(4) and ktrdump(8) for details.
@@ -441,7 +444,7 @@ options 	KTR
 options 	KTR_ENTRIES=1024
 options 	KTR_COMPILE=(KTR_INTR|KTR_PROC)
 options 	KTR_MASK=KTR_INTR
-options 	KTR_CPUMASK=0x3
+options 	KTR_CPUMASK=("0x3")
 options 	KTR_VERBOSE
 
 #

Modified: projects/largeSMP/sys/conf/files
==============================================================================
--- projects/largeSMP/sys/conf/files	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sys/conf/files	Tue May 31 14:18:10 2011	(r222526)
@@ -917,6 +917,8 @@ dev/cxgbe/t4_main.c		optional cxgbe pci 
 	compile-with "${NORMAL_C} -I$S/dev/cxgbe"
 dev/cxgbe/t4_sge.c		optional cxgbe pci \
 	compile-with "${NORMAL_C} -I$S/dev/cxgbe"
+dev/cxgbe/t4_l2t.c		optional cxgbe pci \
+	compile-with "${NORMAL_C} -I$S/dev/cxgbe"
 dev/cxgbe/common/t4_hw.c	optional cxgbe pci \
 	compile-with "${NORMAL_C} -I$S/dev/cxgbe"
 dev/cy/cy.c			optional cy

Modified: projects/largeSMP/sys/contrib/pf/net/pf.c
==============================================================================
--- projects/largeSMP/sys/contrib/pf/net/pf.c	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sys/contrib/pf/net/pf.c	Tue May 31 14:18:10 2011	(r222526)
@@ -3034,16 +3034,14 @@ pf_socket_lookup(int direction, struct p
 #ifdef INET
 	case AF_INET:
 #ifdef __FreeBSD__
-		INP_INFO_RLOCK(pi);	/* XXX LOR */
-		inp = in_pcblookup_hash(pi, saddr->v4, sport, daddr->v4,
-			dport, 0, NULL);
+		inp = in_pcblookup(pi, saddr->v4, sport, daddr->v4,
+			dport, INPLOOKUP_RLOCKPCB, NULL);
 		if (inp == NULL) {
-			inp = in_pcblookup_hash(pi, saddr->v4, sport,
-			   daddr->v4, dport, INPLOOKUP_WILDCARD, NULL);
-			if(inp == NULL) {
-				INP_INFO_RUNLOCK(pi);
+			inp = in_pcblookup(pi, saddr->v4, sport,
+			   daddr->v4, dport, INPLOOKUP_WILDCARD |
+			   INPLOOKUP_RLOCKPCB, NULL);
+			if (inp == NULL)
 				return (-1);
-			}
 		}
 #else
 		inp = in_pcbhashlookup(tb, saddr->v4, sport, daddr->v4, dport);
@@ -3058,16 +3056,14 @@ pf_socket_lookup(int direction, struct p
 #ifdef INET6
 	case AF_INET6:
 #ifdef __FreeBSD__
-		INP_INFO_RLOCK(pi);
-		inp = in6_pcblookup_hash(pi, &saddr->v6, sport,
-			&daddr->v6, dport, 0, NULL);
+		inp = in6_pcblookup(pi, &saddr->v6, sport,
+			&daddr->v6, dport, INPLOOKUP_RLOCKPCB, NULL);
 		if (inp == NULL) {
-			inp = in6_pcblookup_hash(pi, &saddr->v6, sport,
-			&daddr->v6, dport, INPLOOKUP_WILDCARD, NULL);
-			if (inp == NULL) {
-				INP_INFO_RUNLOCK(pi);
+			inp = in6_pcblookup(pi, &saddr->v6, sport,
+			    &daddr->v6, dport, INPLOOKUP_WILDCARD |
+			    INPLOOKUP_RLOCKPCB, NULL);
+			if (inp == NULL)
 				return (-1);
-			}
 		}
 #else
 		inp = in6_pcbhashlookup(tb, &saddr->v6, sport, &daddr->v6,
@@ -3085,9 +3081,10 @@ pf_socket_lookup(int direction, struct p
 		return (-1);
 	}
 #ifdef __FreeBSD__
+	INP_RLOCK_ASSERT(inp);
 	pd->lookup.uid = inp->inp_cred->cr_uid;
 	pd->lookup.gid = inp->inp_cred->cr_groups[0];
-	INP_INFO_RUNLOCK(pi);
+	INP_RUNLOCK(inp);
 #else
 	pd->lookup.uid = inp->inp_socket->so_euid;
 	pd->lookup.gid = inp->inp_socket->so_egid;

Modified: projects/largeSMP/sys/dev/ath/if_ath.c
==============================================================================
--- projects/largeSMP/sys/dev/ath/if_ath.c	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sys/dev/ath/if_ath.c	Tue May 31 14:18:10 2011	(r222526)
@@ -984,6 +984,21 @@ ath_vap_create(struct ieee80211com *ic,
 	avp->av_bmiss = vap->iv_bmiss;
 	vap->iv_bmiss = ath_bmiss_vap;
 
+	/* Set default parameters */
+
+	/*
+	 * Anything earlier than some AR9300 series MACs don't
+	 * support a smaller MPDU density.
+	 */
+	vap->iv_ampdu_density = IEEE80211_HTCAP_MPDUDENSITY_8;
+	/*
+	 * All NICs can handle the maximum size, however
+	 * AR5416 based MACs can only TX aggregates w/ RTS
+	 * protection when the total aggregate size is <= 8k.
+	 * However, for now that's enforced by the TX path.
+	 */
+	vap->iv_ampdu_rxmax = IEEE80211_HTCAP_MAXRXAMPDU_64K;
+
 	avp->av_bslot = -1;
 	if (needbeacon) {
 		/*

Modified: projects/largeSMP/sys/dev/ath/if_ath_tx_ht.c
==============================================================================
--- projects/largeSMP/sys/dev/ath/if_ath_tx_ht.c	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sys/dev/ath/if_ath_tx_ht.c	Tue May 31 14:18:10 2011	(r222526)
@@ -136,15 +136,23 @@ ath_rateseries_setup(struct ath_softc *s
 	 	 */
 		if (ni->ni_chw == 40)
 			series[i].RateFlags |= HAL_RATESERIES_2040;
-#if 0
+
 		/*
-		 * The hardware only supports short-gi in 40mhz mode -
-		 * if later hardware supports it in 20mhz mode, be sure
-		 * to add the relevant check here.
+		 * Set short-GI only if the node has advertised it
+		 * the channel width is suitable, and we support it.
+		 * We don't currently have a "negotiated" set of bits -
+		 * ni_htcap is what the remote end sends, not what this
+		 * node is capable of.
 		 */
-		if (ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40)
+		if (ni->ni_chw == 40 &&
+		    ic->ic_htcaps & IEEE80211_HTCAP_SHORTGI40 &&
+		    ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40)
+			series[i].RateFlags |= HAL_RATESERIES_HALFGI;
+
+		if (ni->ni_chw == 20 &&
+		    ic->ic_htcaps & IEEE80211_HTCAP_SHORTGI20 &&
+		    ni->ni_htcap & IEEE80211_HTCAP_SHORTGI20)
 			series[i].RateFlags |= HAL_RATESERIES_HALFGI;
-#endif
 
 		series[i].Rate = rt->info[rix[i]].rateCode;
 

Modified: projects/largeSMP/sys/dev/cxgbe/adapter.h
==============================================================================
--- projects/largeSMP/sys/dev/cxgbe/adapter.h	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sys/dev/cxgbe/adapter.h	Tue May 31 14:18:10 2011	(r222526)
@@ -110,6 +110,9 @@ enum {
 	FW_IQ_QSIZE = 256,
 	FW_IQ_ESIZE = 64,	/* At least 64 mandated by the firmware spec */
 
+	INTR_IQ_QSIZE = 64,
+	INTR_IQ_ESIZE = 64,	/* Handles some CPLs too, do not reduce */
+
 	CTRL_EQ_QSIZE = 128,
 	CTRL_EQ_ESIZE = 64,
 
@@ -141,7 +144,7 @@ enum {
 	/* adapter flags */
 	FULL_INIT_DONE	= (1 << 0),
 	FW_OK		= (1 << 1),
-	INTR_FWD	= (1 << 2),
+	INTR_SHARED	= (1 << 2),	/* one set of intrq's for all ports */
 
 	CXGBE_BUSY	= (1 << 9),
 
@@ -384,12 +387,10 @@ struct sge_ctrlq {
 
 	/* stats for common events first */
 
-	uint64_t total_wrs;	/* # of work requests sent down this queue */
 
 	/* stats for not-that-common events */
 
 	uint32_t no_desc;	/* out of hardware descriptors */
-	uint32_t too_long;	/* WR longer than hardware max */
 } __aligned(CACHE_LINE_SIZE);
 
 struct sge {
@@ -403,7 +404,7 @@ struct sge {
 
 	struct sge_iq fwq;	/* Firmware event queue */
 	struct sge_ctrlq *ctrlq;/* Control queues */
-	struct sge_iq *fiq;	/* Forwarded interrupt queues (INTR_FWD) */
+	struct sge_iq *intrq;	/* Interrupt queues */
 	struct sge_txq *txq;	/* NIC tx queues */
 	struct sge_rxq *rxq;	/* NIC rx queues */
 
@@ -445,6 +446,7 @@ struct adapter {
 	struct port_info *port[MAX_NPORTS];
 	uint8_t chan_map[NCHAN];
 
+	struct l2t_data *l2t;	/* L2 table */
 	struct tid_info tids;
 
 	int registered_device_map;
@@ -456,7 +458,9 @@ struct adapter {
 	struct t4_virt_res vres;
 
 	struct sysctl_ctx_list ctx; /* from first_port_up to last_port_down */
+	struct sysctl_oid *oid_fwq;
 	struct sysctl_oid *oid_ctrlq;
+	struct sysctl_oid *oid_intrq;
 
 	struct mtx sc_lock;
 	char lockname[16];
@@ -502,7 +506,10 @@ struct adapter {
 	rxq = &pi->adapter->sge.rxq[pi->first_rxq]; \
 	for (iter = 0; iter < pi->nrxq; ++iter, ++rxq)
 
-#define NFIQ(sc) ((sc)->intr_count > 1 ? (sc)->intr_count - 1 : 1)
+/* One for errors, one for firmware events */
+#define T4_EXTRA_INTR 2
+#define NINTRQ(sc) ((sc)->intr_count > T4_EXTRA_INTR ? \
+    (sc)->intr_count - T4_EXTRA_INTR : 1)
 
 static inline uint32_t
 t4_read_reg(struct adapter *sc, uint32_t reg)
@@ -599,12 +606,9 @@ int t4_teardown_adapter_queues(struct ad
 int t4_setup_eth_queues(struct port_info *);
 int t4_teardown_eth_queues(struct port_info *);
 void t4_intr_all(void *);
-void t4_intr_fwd(void *);
+void t4_intr(void *);
 void t4_intr_err(void *);
 void t4_intr_evt(void *);
-void t4_intr_data(void *);
-void t4_evt_rx(void *);
-void t4_eth_rx(void *);
 int t4_mgmt_tx(struct adapter *, struct mbuf *);
 int t4_eth_tx(struct ifnet *, struct sge_txq *, struct mbuf *);
 void t4_update_fl_bufsize(struct ifnet *);

Modified: projects/largeSMP/sys/dev/cxgbe/common/common.h
==============================================================================
--- projects/largeSMP/sys/dev/cxgbe/common/common.h	Tue May 31 13:32:36 2011	(r222525)
+++ projects/largeSMP/sys/dev/cxgbe/common/common.h	Tue May 31 14:18:10 2011	(r222526)
@@ -54,7 +54,7 @@ enum {
 
 #define FW_VERSION_MAJOR 1
 #define FW_VERSION_MINOR 3
-#define FW_VERSION_MICRO 8
+#define FW_VERSION_MICRO 10
 
 struct port_stats {
 	u64 tx_octets;            /* total # of octets in good frames */

Copied: projects/largeSMP/sys/dev/cxgbe/common/jhash.h (from r222525, head/sys/dev/cxgbe/common/jhash.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/largeSMP/sys/dev/cxgbe/common/jhash.h	Tue May 31 14:18:10 2011	(r222526, copy of r222525, head/sys/dev/cxgbe/common/jhash.h)
@@ -0,0 +1,140 @@
+#ifndef _JHASH_H
+#define _JHASH_H
+
+/* jhash.h: Jenkins hash support.
+ *

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105311418.p4VEIBYk027111>