PERFORCE change 156498 for review

John Baldwin jhb at FreeBSD.org
Wed Jan 21 13:10:22 PST 2009


http://perforce.freebsd.org/chv.cgi?CH=156498

Change 156498 by jhb at jhb_jhbbsd on 2009/01/21 21:09:25

	IFC @156496

Affected files ...

.. //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#22 integrate
.. //depot/projects/smpng/sys/amd64/conf/GENERIC#71 integrate
.. //depot/projects/smpng/sys/arm/at91/at91_mci.c#11 integrate
.. //depot/projects/smpng/sys/arm/xscale/i8134x/i81342_mcu.c#2 integrate
.. //depot/projects/smpng/sys/conf/NOTES#159 integrate
.. //depot/projects/smpng/sys/conf/newvers.sh#23 integrate
.. //depot/projects/smpng/sys/conf/options#159 integrate
.. //depot/projects/smpng/sys/contrib/altq/altq/altq_subr.c#10 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_battery.c#21 integrate
.. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_regdomain.c#2 integrate
.. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_misc.c#2 integrate
.. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c#3 integrate
.. //depot/projects/smpng/sys/dev/digi/con.CX-IBM.h#2 delete
.. //depot/projects/smpng/sys/dev/digi/con.CX.h#2 delete
.. //depot/projects/smpng/sys/dev/digi/con.EPCX.h#2 delete
.. //depot/projects/smpng/sys/dev/digi/con.MBank.h#2 delete
.. //depot/projects/smpng/sys/dev/iicbus/iic.c#17 integrate
.. //depot/projects/smpng/sys/dev/iicbus/iicbus.c#13 integrate
.. //depot/projects/smpng/sys/dev/mmc/mmc.c#8 integrate
.. //depot/projects/smpng/sys/dev/msk/if_msk.c#14 integrate
.. //depot/projects/smpng/sys/dev/msk/if_mskreg.h#8 integrate
.. //depot/projects/smpng/sys/dev/ofw/ofw_iicbus.c#2 integrate
.. //depot/projects/smpng/sys/dev/pci/pci.c#103 integrate
.. //depot/projects/smpng/sys/dev/re/if_re.c#69 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/cmi.c#37 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#23 integrate
.. //depot/projects/smpng/sys/dev/syscons/teken/sequences#2 integrate
.. //depot/projects/smpng/sys/dev/syscons/teken/teken.c#2 integrate
.. //depot/projects/smpng/sys/dev/syscons/teken/teken.h#2 integrate
.. //depot/projects/smpng/sys/dev/syscons/teken/teken_demo.c#2 integrate
.. //depot/projects/smpng/sys/dev/syscons/teken/teken_scs.h#1 branch
.. //depot/projects/smpng/sys/dev/syscons/teken/teken_subr.h#2 integrate
.. //depot/projects/smpng/sys/dev/syscons/teken/teken_subr_compat.h#2 integrate
.. //depot/projects/smpng/sys/dev/usb/uftdi.c#24 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#122 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdi.c#30 integrate
.. //depot/projects/smpng/sys/dev/usb2/bluetooth/ng_ubt2.c#4 integrate
.. //depot/projects/smpng/sys/dev/usb2/bluetooth/ng_ubt2_var.h#2 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_aue2.c#4 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_auereg.h#2 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_axe2.c#3 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_axereg.h#2 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_cdce2.c#3 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_cdcereg.h#2 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_cue2.c#3 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_cuereg.h#2 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_kue2.c#3 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_kuereg.h#2 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_rue2.c#3 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_ruereg.h#2 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_udav2.c#3 integrate
.. //depot/projects/smpng/sys/dev/usb2/ethernet/if_udavreg.h#2 integrate
.. //depot/projects/smpng/sys/dev/usb2/wlan/if_rum2.c#3 integrate
.. //depot/projects/smpng/sys/dev/usb2/wlan/if_rumvar.h#2 integrate
.. //depot/projects/smpng/sys/dev/usb2/wlan/if_ural2.c#3 integrate
.. //depot/projects/smpng/sys/dev/usb2/wlan/if_uralvar.h#2 integrate
.. //depot/projects/smpng/sys/dev/usb2/wlan/if_zyd2.c#3 integrate
.. //depot/projects/smpng/sys/dev/usb2/wlan/if_zydreg.h#2 integrate
.. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_fs.h#3 integrate
.. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_fs_sb.h#3 integrate
.. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_inode.c#6 integrate
.. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_linux_ialloc.c#4 integrate
.. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_vfsops.c#19 integrate
.. //depot/projects/smpng/sys/i386/conf/GENERIC#103 integrate
.. //depot/projects/smpng/sys/ia64/ia64/pmap.c#91 integrate
.. //depot/projects/smpng/sys/kern/kern_clock.c#61 integrate
.. //depot/projects/smpng/sys/kern/kern_synch.c#127 integrate
.. //depot/projects/smpng/sys/kern/sched_4bsd.c#88 integrate
.. //depot/projects/smpng/sys/kern/sched_ule.c#91 integrate
.. //depot/projects/smpng/sys/kern/subr_pcpu.c#11 integrate
.. //depot/projects/smpng/sys/kern/subr_witness.c#176 integrate
.. //depot/projects/smpng/sys/kern/uipc_mbuf.c#61 integrate
.. //depot/projects/smpng/sys/kern/vfs_cache.c#46 integrate
.. //depot/projects/smpng/sys/kern/vfs_subr.c#160 integrate
.. //depot/projects/smpng/sys/kern/vfs_vnops.c#91 integrate
.. //depot/projects/smpng/sys/kern/vnode_if.src#39 integrate
.. //depot/projects/smpng/sys/mips/include/pmap.h#3 integrate
.. //depot/projects/smpng/sys/mips/mips/machdep.c#6 integrate
.. //depot/projects/smpng/sys/mips/mips/pmap.c#6 integrate
.. //depot/projects/smpng/sys/net/rtsock.c#67 integrate
.. //depot/projects/smpng/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c#9 integrate
.. //depot/projects/smpng/sys/netgraph/ng_deflate.c#3 integrate
.. //depot/projects/smpng/sys/netgraph/ng_iface.c#34 integrate
.. //depot/projects/smpng/sys/netgraph/ng_iface.h#8 integrate
.. //depot/projects/smpng/sys/netgraph/ng_mppc.c#19 integrate
.. //depot/projects/smpng/sys/netgraph/ng_ppp.c#28 integrate
.. //depot/projects/smpng/sys/netgraph/ng_pred1.c#4 integrate
.. //depot/projects/smpng/sys/netinet/in.c#47 integrate
.. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#28 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#79 integrate
.. //depot/projects/smpng/sys/pci/if_rlreg.h#49 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/ata_macio.c#16 integrate
.. //depot/projects/smpng/sys/powerpc/powermac/kiic.c#2 integrate
.. //depot/projects/smpng/sys/sun4v/include/pcpu.h#7 integrate
.. //depot/projects/smpng/sys/sys/ktr.h#26 integrate
.. //depot/projects/smpng/sys/sys/lock.h#52 integrate
.. //depot/projects/smpng/sys/sys/pcpu.h#23 integrate
.. //depot/projects/smpng/sys/sys/sched.h#31 integrate
.. //depot/projects/smpng/sys/sys/vnode.h#93 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_inode.c#31 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_vnops.c#62 integrate
.. //depot/projects/smpng/sys/ufs/ufs/ufs_dirhash.c#30 integrate
.. //depot/projects/smpng/sys/ufs/ufs/ufs_lookup.c#34 integrate
.. //depot/projects/smpng/sys/ufs/ufs/ufs_vnops.c#73 integrate
.. //depot/projects/smpng/sys/vm/vm_mmap.c#72 integrate

Differences ...

==== //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#22 (text+ko) ====

@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.164 2008/09/08 09:59:05 kib Exp $
+ * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.165 2009/01/20 12:07:49 kib Exp $
  */
 
 #include <machine/asmacros.h>
@@ -199,6 +199,7 @@
 	cmpq	PCB_FSBASE(%r8),%r9
 	jz	1f
 	/* Restore userland %fs */
+restore_fsbase:
 	movl	$MSR_FSBASE,%ecx
 	movl	PCB_FSBASE(%r8),%eax
 	movl	PCB_FSBASE+4(%r8),%edx
@@ -281,7 +282,7 @@
 	movl	PCB_DS(%r8),%ds
 	movl	PCB_ES(%r8),%es
 	movl	PCB_FS(%r8),%fs
-	jmp	done_load_seg
+	jmp	restore_fsbase
 	/* Restore userland %gs while preserving kernel gsbase */
 2:	movq	PCPU(GS32P),%rax
 	movq	PCB_GS32SD(%r8),%rcx

==== //depot/projects/smpng/sys/amd64/conf/GENERIC#71 (text+ko) ====

@@ -16,7 +16,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first
 # in NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.513 2009/01/13 12:35:33 luigi Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.518 2009/01/19 15:33:06 sobomax Exp $
 
 cpu		HAMMER
 ident		GENERIC
@@ -28,7 +28,7 @@
 # through getenv() (or kenv(1) in userland). The format of the file
 # is 'variable=value', see kenv(1)
 #
-# env          "GENERIC.env"
+# env		"GENERIC.env"
 
 makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
 
@@ -47,7 +47,6 @@
 options 	NFSSERVER		# Network Filesystem Server
 options 	NFSLOCKD		# Network Lock Manager
 options 	NFS_ROOT		# NFS usable as /, requires NFSCLIENT
-options 	NTFS			# NT File System
 options 	MSDOSFS			# MSDOS Filesystem
 options 	CD9660			# ISO 9660 Filesystem
 options 	PROCFS			# Process filesystem (requires PSEUDOFS)
@@ -69,8 +68,8 @@
 options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
 options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
 options 	STOP_NMI		# Stop CPUS using NMI instead of IPI
+options  	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
 options 	AUDIT			# Security event auditing
-options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
 #options 	KDTRACE_FRAME		# Ensure frames are compiled in
 #options 	KDTRACE_HOOKS		# Kernel DTrace hooks
 
@@ -138,6 +137,8 @@
 # RAID controllers interfaced to the SCSI subsystem
 device		amr		# AMI MegaRAID
 device		arcmsr		# Areca SATA II RAID
+#XXX it is not 64-bit clean, -scottl
+#device		asr		# DPT SmartRAID V, VI and Adaptec SCSI RAID
 device		ciss		# Compaq Smart RAID 5*
 device		dpt		# DPT Smartcache III, IV - See NOTES for options
 device		hptmv		# Highpoint RocketRAID 182x
@@ -230,6 +231,7 @@
 device		sis		# Silicon Integrated Systems SiS 900/SiS 7016
 device		sk		# SysKonnect SK-984x & SK-982x gigabit Ethernet
 device		ste		# Sundance ST201 (D-Link DFE-550TX)
+device		stge		# Sundance/Tamarack TC9021 gigabit Ethernet
 device		tl		# Texas Instruments ThunderLAN
 device		tx		# SMC EtherPower II (83c170 ``EPIC'')
 device		vge		# VIA VT612x gigabit Ethernet
@@ -249,8 +251,8 @@
 
 # Wireless NIC cards
 device		wlan		# 802.11 support
-options		IEEE80211_DEBUG	# enable debug msgs
-options		IEEE80211_AMPDU_AGE	# age frames in AMPDU reorder q's
+options 	IEEE80211_DEBUG	# enable debug msgs
+options 	IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
 device		wlan_wep	# 802.11 WEP support
 device		wlan_ccmp	# 802.11 CCMP support
 device		wlan_tkip	# 802.11 TKIP support

==== //depot/projects/smpng/sys/arm/at91/at91_mci.c#11 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/at91_mci.c,v 1.11 2008/11/25 00:13:26 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/at91_mci.c,v 1.13 2009/01/21 17:39:11 imp Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -199,9 +199,12 @@
 		goto out;
 	}
 	sc->host.f_min = 375000;
-	sc->host.f_max = 30000000;
+	sc->host.f_max = at91_master_clock / 2;	/* Typically 30MHz */
 	sc->host.host_ocr = MMC_OCR_320_330 | MMC_OCR_330_340;
-	sc->host.caps = MMC_CAP_4_BIT_DATA;
+	if (sc->wire4)
+		sc->host.caps = MMC_CAP_4_BIT_DATA;
+	else
+		sc->host.caps = 0;
 	child = device_add_child(dev, "mmc", 0);
 	device_set_ivars(dev, &sc->host);
 	err = bus_generic_attach(dev);
@@ -294,7 +297,7 @@
 		else
 			clkdiv = (at91_master_clock / ios->clock) / 2;
 	}
-	if (ios->bus_width == bus_width_4 && sc->wire4)
+	if (ios->bus_width == bus_width_4)
 		WR4(sc, MCI_SDCR, RD4(sc, MCI_SDCR) | MCI_SDCR_SDCBUS);
 	else
 		WR4(sc, MCI_SDCR, RD4(sc, MCI_SDCR) & ~MCI_SDCR_SDCBUS);
@@ -643,6 +646,9 @@
 	case MMCBR_IVAR_VDD:
 		*(int *)result = sc->host.ios.vdd;
 		break;
+	case MMCBR_IVAR_CAPS:
+		*(int *)result = sc->host.caps;
+		break;
 	case MMCBR_IVAR_MAX_DATA:
 		*(int *)result = 1;
 		break;
@@ -683,6 +689,7 @@
 		sc->host.ios.vdd = value;
 		break;
 	/* These are read-only */
+	case MMCBR_IVAR_CAPS:
 	case MMCBR_IVAR_HOST_OCR:
 	case MMCBR_IVAR_F_MIN:
 	case MMCBR_IVAR_F_MAX:

==== //depot/projects/smpng/sys/arm/xscale/i8134x/i81342_mcu.c#2 (text+ko) ====

@@ -25,14 +25,13 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/i81342_mcu.c,v 1.1 2007/07/27 14:50:57 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/i81342_mcu.c,v 1.2 2009/01/16 19:31:27 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/bus.h>
 #include <sys/kernel.h>
 #include <sys/module.h>
-#include <sys/bus.h>
 
 #include <machine/bus.h>
 #include <arm/xscale/i8134x/i81342reg.h>

==== //depot/projects/smpng/sys/conf/NOTES#159 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1521 2009/01/11 11:36:00 maxim Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1524 2009/01/20 02:08:21 sobomax Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #
@@ -942,7 +942,12 @@
 options 	MSDOSFS			#MS DOS File System (FAT, FAT32)
 options 	NFSSERVER		#Network File System server
 options		NFSLOCKD		#Network Lock Manager
-options 	NTFS			#NT File System
+
+# NT File System. Read-mostly, see mount_ntfs(8) for details.
+# For a full read-write NTFS support consider sysutils/fusefs-ntfs
+# port/package.
+options 	NTFS
+
 options 	NULLFS			#NULL filesystem
 # Broken (depends on NCP):
 #options 	NWFS			#NetWare filesystem
@@ -1370,6 +1375,10 @@
 #	0x80	Put the video card in the VESA 800x600 dots, 16 color mode
 #	0x100	Probe for a keyboard device periodically if one is not present
 
+# Enable experimental features of the syscons terminal emulator (teken).
+options		TEKEN_UTF8		# UTF-8 output handling
+options		TEKEN_XTERM		# xterm-style terminal emulation
+
 #
 # Optional devices:
 #

==== //depot/projects/smpng/sys/conf/newvers.sh#23 (text+ko) ====

@@ -28,7 +28,7 @@
 # SUCH DAMAGE.
 #
 #	@(#)newvers.sh	8.1 (Berkeley) 4/20/94
-# $FreeBSD: src/sys/conf/newvers.sh,v 1.78 2008/10/03 10:08:36 bz Exp $
+# $FreeBSD: src/sys/conf/newvers.sh,v 1.80 2009/01/20 21:37:41 thompsa Exp $
 
 TYPE="FreeBSD"
 REVISION="8.0"
@@ -91,6 +91,9 @@
 	if [ -x "${dir}/svnversion" ]; then
 		svnversion=${dir}/svnversion
 		SRCDIR=${d##*obj}
+		if [ -n "$MACHINE" ]; then
+			SRCDIR=${SRCDIR##/$MACHINE}
+		fi
 		SRCDIR=${SRCDIR%%/sys/*}
 		break
 	fi

==== //depot/projects/smpng/sys/conf/options#159 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.656 2009/01/12 11:24:32 qingli Exp $
+# $FreeBSD: src/sys/conf/options,v 1.657 2009/01/17 16:37:13 ed Exp $
 #
 #        On the handling of kernel options
 #
@@ -726,6 +726,10 @@
 SC_RENDER_DEBUG		opt_syscons.h
 SC_TWOBUTTON_MOUSE	opt_syscons.h
 
+# teken terminal emulator options
+TEKEN_UTF8		opt_teken.h
+TEKEN_XTERM		opt_teken.h
+
 # options for printf
 PRINTF_BUFR_SIZE	opt_printf.h
 

==== //depot/projects/smpng/sys/contrib/altq/altq/altq_subr.c#10 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/contrib/altq/altq/altq_subr.c,v 1.15 2008/12/02 21:37:28 bz Exp $	*/
+/*	$FreeBSD: src/sys/contrib/altq/altq/altq_subr.c,v 1.16 2009/01/21 20:44:42 jkim Exp $	*/
 /*	$KAME: altq_subr.c,v 1.21 2003/11/06 06:32:53 kjc Exp $	*/
 
 /*
@@ -910,7 +910,7 @@
 	if (status != 0)
 		return;
 
-#if (__FreeBSD_version >= 800050) && (defined(__amd64__) || defined(__i386__))
+#if (__FreeBSD_version >= 701102) && (defined(__amd64__) || defined(__i386__))
 	/* If TSC is P-state invariant, don't do anything. */
 	if (tsc_is_invariant)
 		return;

==== //depot/projects/smpng/sys/dev/acpica/acpi_battery.c#21 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_battery.c,v 1.26 2007/11/20 18:35:36 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_battery.c,v 1.27 2009/01/17 17:40:44 mav Exp $");
 
 #include "opt_acpi.h"
 #include <sys/param.h>
@@ -197,7 +197,7 @@
 	 * is 0 (due to some error reading the battery), skip this
 	 * conversion.
 	 */
-	if (bif->units == ACPI_BIF_UNITS_MA && bif->dvol != 0) {
+	if (bif->units == ACPI_BIF_UNITS_MA && bif->dvol != 0 && dev == NULL) {
 	    bst[i].rate = (bst[i].rate * bif->dvol) / 1000;
 	    bst[i].cap = (bst[i].cap * bif->dvol) / 1000;
 	    bif->lfcap = (bif->lfcap * bif->dvol) / 1000;

==== //depot/projects/smpng/sys/dev/ath/ath_hal/ah_regdomain.c#2 (text+ko) ====

@@ -15,7 +15,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * $Id: ah_regdomain.c,v 1.24 2008/11/27 22:29:27 sam Exp $
+ * $FreeBSD: src/sys/dev/ath/ath_hal/ah_regdomain.c,v 1.2 2009/01/16 20:44:45 sam Exp $
  */
 #include "opt_ah.h"
 
@@ -1231,9 +1231,18 @@
 	{.regDmnEnum		= DEBUG_REG_DMN,
 	 .conformanceTestLimit	= FCC,
 	 .dfsMask		= DFS_FCC3,
-	 .chan11a		= BM3(F1_5120_5240, F1_5260_5700, F1_5745_5825),
-	 .chan11a_half		= BM3(F2_5120_5240, F2_5260_5700, F7_5745_5825),
-	 .chan11a_quarter	= BM3(F3_5120_5240, F3_5260_5700, F8_5745_5825),
+	 .chan11a		= BM4(F1_4950_4980,
+				      F1_5120_5240,
+				      F1_5260_5700,
+				      F1_5745_5825),
+	 .chan11a_half		= BM4(F1_4945_4985,
+				      F2_5120_5240,
+				      F2_5260_5700,
+				      F7_5745_5825),
+	 .chan11a_quarter	= BM4(F1_4942_4987,
+				      F3_5120_5240,
+				      F3_5260_5700,
+				      F8_5745_5825),
 	 .chan11a_turbo		= BM8(T1_5130_5210,
 				      T1_5250_5330,
 				      T1_5370_5490,

==== //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_misc.c#2 (text+ko) ====

@@ -14,7 +14,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * $Id: ar5211_misc.c,v 1.7 2008/11/27 22:29:52 sam Exp $
+ * $FreeBSD: src/sys/dev/ath/ath_hal/ar5211/ar5211_misc.c,v 1.2 2009/01/21 02:53:00 sam Exp $
  */
 #include "opt_ah.h"
 
@@ -432,7 +432,7 @@
 	} else {
 		/* convert to system clocks */
 		OS_REG_WRITE(ah, AR_D_GBL_IFS_SIFS, ath_hal_mac_clks(ah, us));
-		ahp->ah_slottime = us;
+		ahp->ah_sifstime = us;
 		return AH_TRUE;
 	}
 }

==== //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c#3 (text+ko) ====

@@ -14,7 +14,7 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c,v 1.2 2008/12/11 04:03:50 sam Exp $
+ * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c,v 1.3 2009/01/21 02:53:00 sam Exp $
  */
 #include "opt_ah.h"
 
@@ -453,7 +453,7 @@
 	} else {
 		/* convert to system clocks */
 		OS_REG_WRITE(ah, AR_D_GBL_IFS_SIFS, ath_hal_mac_clks(ah, us));
-		ahp->ah_slottime = us;
+		ahp->ah_sifstime = us;
 		return AH_TRUE;
 	}
 }

==== //depot/projects/smpng/sys/dev/iicbus/iic.c#17 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/iicbus/iic.c,v 1.41 2009/01/06 17:23:37 nwhitehorn Exp $
+ * $FreeBSD: src/sys/dev/iicbus/iic.c,v 1.42 2009/01/15 23:14:59 nwhitehorn Exp $
  *
  */
 #include <sys/param.h>
@@ -110,14 +110,18 @@
 {
 
 	if (device_find_child(parent, "iic", -1) == NULL)
-		BUS_ADD_CHILD(parent, 0, "iic", 0);
+		BUS_ADD_CHILD(parent, 0, "iic", -1);
 }
 
 static int
 iic_probe(device_t dev)
 {
+	if (iicbus_get_addr(dev) > 0)
+		return (ENXIO);
+
 	device_set_desc(dev, "I2C generic I/O");
-	return (BUS_PROBE_NOWILDCARD);
+
+	return (0);
 }
 	
 static int

==== //depot/projects/smpng/sys/dev/iicbus/iicbus.c#13 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbus.c,v 1.27 2009/01/15 02:46:43 nwhitehorn Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbus.c,v 1.28 2009/01/20 00:05:43 nwhitehorn Exp $");
 
 /*
  * Autoconfiguration and support routines for the Philips serial I2C bus
@@ -55,7 +55,7 @@
 	device_set_desc(dev, "Philips I2C bus");
 
 	/* Allow other subclasses to override this driver. */
-	return (-1000);
+	return (BUS_PROBE_GENERIC);
 }
 
 #if SCAN_IICBUS

==== //depot/projects/smpng/sys/dev/mmc/mmc.c#8 (text+ko) ====

@@ -51,7 +51,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mmc/mmc.c,v 1.28 2008/12/06 21:41:27 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mmc/mmc.c,v 1.32 2009/01/21 17:49:23 imp Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -340,7 +340,9 @@
 	memset(cmd->resp, 0, sizeof(cmd->resp));
 	cmd->retries = retries;
 	mreq.cmd = cmd;
-/*	printf("CMD: %x ARG %x\n", cmd->opcode, cmd->arg); */
+	if (bootverbose)
+		device_printf(sc->dev, "CMD: %#x ARG %#x\n", cmd->opcode,
+		    cmd->arg);
 	mmc_wait_for_req(sc, &mreq);
 	return (cmd->error);
 }
@@ -584,11 +586,11 @@
 static int
 mmc_set_card_bus_width(struct mmc_softc *sc, uint16_t rca, int width)
 {
+	struct mmc_command cmd;
 	int err;
+	uint8_t	value;
 
 	if (mmcbr_get_mode(sc->dev) == mode_sd) {
-		struct mmc_command cmd;
-
 		memset(&cmd, 0, sizeof(struct mmc_command));
 		cmd.opcode = ACMD_SET_BUS_WIDTH;
 		cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
@@ -604,8 +606,6 @@
 		}
 		err = mmc_wait_for_app_cmd(sc, rca, &cmd, CMD_RETRIES);
 	} else {
-		uint8_t	value;
-
 		switch (width) {
 		case bus_width_1:
 			value = EXT_CSD_BUS_WIDTH_1;
@@ -619,7 +619,8 @@
 		default:
 			return (MMC_ERR_INVALID);
 		}
-		err = mmc_switch(sc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BUS_WIDTH, value);
+		err = mmc_switch(sc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BUS_WIDTH,
+		    value);
 	}
 	return (err);
 }
@@ -629,6 +630,7 @@
 {
 	int err;
 	uint8_t	value;
+	u_char switch_res[64];
 
 	switch (timing) {
 	case bus_timing_normal:
@@ -640,14 +642,11 @@
 	default:
 		return (MMC_ERR_INVALID);
 	}
-	if (mmcbr_get_mode(sc->dev) == mode_sd) {
-		u_char switch_res[64];
-
+	if (mmcbr_get_mode(sc->dev) == mode_sd)
 		err = mmc_sd_switch(sc, 1, 0, value, switch_res);
-	} else {
+	else
 		err = mmc_switch(sc, EXT_CSD_CMD_SET_NORMAL,
 		    EXT_CSD_HS_TIMING, value);
-	}
 	return (err);
 }
 
@@ -1119,6 +1118,7 @@
 			mmc_app_send_scr(sc, ivar->rca, ivar->raw_scr);
 			mmc_app_decode_scr(ivar->raw_scr, &ivar->scr);
 			/* Get card switch capabilities. */
+			ivar->timing = bus_timing_normal;
 			if ((ivar->scr.sda_vsn >= 1) &&
 			    (ivar->csd.ccc & (1<<10))) {
 				mmc_sd_switch(sc, 0, 0, 0xF, switch_res);
@@ -1255,8 +1255,12 @@
 		mmcbr_set_mode(dev, mode_sd);
 		mmc_power_up(sc);
 		mmcbr_set_bus_mode(dev, pushpull);
+		if (bootverbose)
+			device_printf(sc->dev, "Idle cards for SD probe\n");
 		mmc_idle_cards(sc);
 		err = mmc_send_if_cond(sc, 1);
+		if (bootverbose)
+			device_printf(sc->dev, "SD: SEND_IF_CONF %d\n", err);
 		if (mmc_send_app_op_cond(sc, err ? 0 : MMC_OCR_CCS, &ocr) !=
 		    MMC_ERR_NONE) {
 			/*
@@ -1326,7 +1330,7 @@
 			max_timing = ivar->timing;
 		if (ivar->tran_speed < max_dtr)
 			max_dtr = ivar->tran_speed;
-		if (ivar->hs_tran_speed < max_dtr)
+		if (ivar->hs_tran_speed < max_hs_dtr)
 			max_hs_dtr = ivar->hs_tran_speed;
 	}
 	for (i = 0; i < nkid; i++) {

==== //depot/projects/smpng/sys/dev/msk/if_msk.c#14 (text+ko) ====

@@ -99,7 +99,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/msk/if_msk.c,v 1.37 2009/01/14 05:08:52 yongari Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/msk/if_msk.c,v 1.38 2009/01/16 08:06:55 yongari Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -291,6 +291,11 @@
 static void msk_setvlan(struct msk_if_softc *, struct ifnet *);
 static void msk_setpromisc(struct msk_if_softc *);
 
+static void msk_stats_clear(struct msk_if_softc *);
+static void msk_stats_update(struct msk_if_softc *);
+static int msk_sysctl_stat32(SYSCTL_HANDLER_ARGS);
+static int msk_sysctl_stat64(SYSCTL_HANDLER_ARGS);
+static void msk_sysctl_node(struct msk_if_softc *);
 static int sysctl_int_range(SYSCTL_HANDLER_ARGS, int, int);
 static int sysctl_hw_msk_proc_limit(SYSCTL_HANDLER_ARGS);
 
@@ -1435,6 +1440,7 @@
 
 	callout_init_mtx(&sc_if->msk_tick_ch, &sc_if->msk_softc->msk_mtx, 0);
 	TASK_INIT(&sc_if->msk_link_task, 0, msk_link_task, sc_if);
+	msk_sysctl_node(sc_if);
 
 	/* Disable jumbo frame for Yukon FE. */
 	if (sc_if->msk_softc->msk_hw_id == CHIP_ID_YUKON_FE)
@@ -3544,15 +3550,8 @@
 	/* Dummy read the Interrupt Source Register. */
 	CSR_READ_1(sc, MR_ADDR(sc_if->msk_port, GMAC_IRQ_SRC));
 
-	/* Set MIB Clear Counter Mode. */
-	gmac = GMAC_READ_2(sc, sc_if->msk_port, GM_PHY_ADDR);
-	GMAC_WRITE_2(sc, sc_if->msk_port, GM_PHY_ADDR, gmac | GM_PAR_MIB_CLR);
-	/* Read all MIB Counters with Clear Mode set. */
-	for (i = 0; i < GM_MIB_CNT_SIZE; i++)
-		GMAC_READ_2(sc, sc_if->msk_port, GM_MIB_CNT_BASE + 8 * i);
-	/* Clear MIB Clear Counter Mode. */
-	gmac &= ~GM_PAR_MIB_CLR;
-	GMAC_WRITE_2(sc, sc_if->msk_port, GM_PHY_ADDR, gmac);
+	/* Clear MIB stats. */
+	msk_stats_clear(sc_if);
 
 	/* Disable FCS. */
 	GMAC_WRITE_2(sc, sc_if->msk_port, GM_RX_CTRL, GM_RXCR_CRC_DIS);
@@ -3838,6 +3837,8 @@
 	GMAC_WRITE_2(sc, sc_if->msk_port, GM_GP_CTRL, val);
 	/* Read again to ensure writing. */
 	GMAC_READ_2(sc, sc_if->msk_port, GM_GP_CTRL);
+	/* Update stats and clear counters. */
+	msk_stats_update(sc_if);
 
 	/* Stop Tx BMU. */
 	CSR_WRITE_4(sc, Q_ADDR(sc_if->msk_txq, Q_CSR), BMU_STOP);
@@ -3953,6 +3954,295 @@
 	sc_if->msk_link = 0;
 }
 
+/*
+ * When GM_PAR_MIB_CLR bit of GM_PHY_ADDR is set, reading lower
+ * counter clears high 16 bits of the counter such that accessing
+ * lower 16 bits should be the last operation.
+ */
+#define	MSK_READ_MIB32(x, y)					\
+	(((uint32_t)GMAC_READ_2(sc, x, (y) + 4)) << 16) +	\
+	(uint32_t)GMAC_READ_2(sc, x, y)
+#define	MSK_READ_MIB64(x, y)					\
+	(((uint64_t)MSK_READ_MIB32(x, (y) + 8)) << 32) +	\
+	(uint64_t)MSK_READ_MIB32(x, y)
+
+static void
+msk_stats_clear(struct msk_if_softc *sc_if)
+{
+	struct msk_softc *sc;
+	uint32_t reg;
+	uint16_t gmac;
+	int i;
+
+	MSK_IF_LOCK_ASSERT(sc_if);
+
+	sc = sc_if->msk_softc;
+	/* Set MIB Clear Counter Mode. */
+	gmac = GMAC_READ_2(sc, sc_if->msk_port, GM_PHY_ADDR);
+	GMAC_WRITE_2(sc, sc_if->msk_port, GM_PHY_ADDR, gmac | GM_PAR_MIB_CLR);
+	/* Read all MIB Counters with Clear Mode set. */
+	for (i = GM_RXF_UC_OK; i <= GM_TXE_FIFO_UR; i++)
+		reg = MSK_READ_MIB32(sc_if->msk_port, i);
+	/* Clear MIB Clear Counter Mode. */
+	gmac &= ~GM_PAR_MIB_CLR;
+	GMAC_WRITE_2(sc, sc_if->msk_port, GM_PHY_ADDR, gmac);
+}
+
+static void
+msk_stats_update(struct msk_if_softc *sc_if)
+{
+	struct msk_softc *sc;
+	struct ifnet *ifp;
+	struct msk_hw_stats *stats;
+	uint16_t gmac;
+	uint32_t reg;
+
+	MSK_IF_LOCK_ASSERT(sc_if);
+
+	ifp = sc_if->msk_ifp;
+	if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
+		return;
+	sc = sc_if->msk_softc;
+	stats = &sc_if->msk_stats;
+	/* Set MIB Clear Counter Mode. */
+	gmac = GMAC_READ_2(sc, sc_if->msk_port, GM_PHY_ADDR);
+	GMAC_WRITE_2(sc, sc_if->msk_port, GM_PHY_ADDR, gmac | GM_PAR_MIB_CLR);
+
+	/* Rx stats. */
+	stats->rx_ucast_frames +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_UC_OK);
+	stats->rx_bcast_frames +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_BC_OK);
+	stats->rx_pause_frames +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_MPAUSE);
+	stats->rx_mcast_frames +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_MC_OK);
+	stats->rx_crc_errs +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_FCS_ERR);
+	reg = MSK_READ_MIB32(sc_if->msk_port, GM_RXF_SPARE1);
+	stats->rx_good_octets +=
+	    MSK_READ_MIB64(sc_if->msk_port, GM_RXO_OK_LO);
+	stats->rx_bad_octets +=
+	    MSK_READ_MIB64(sc_if->msk_port, GM_RXO_ERR_LO);
+	stats->rx_runts +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_SHT);
+	stats->rx_runt_errs +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXE_FRAG);
+	stats->rx_pkts_64 +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_64B);
+	stats->rx_pkts_65_127 +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_127B);
+	stats->rx_pkts_128_255 +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_255B);
+	stats->rx_pkts_256_511 +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_511B);
+	stats->rx_pkts_512_1023 +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_1023B);
+	stats->rx_pkts_1024_1518 +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_1518B);
+	stats->rx_pkts_1519_max +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_MAX_SZ);
+	stats->rx_pkts_too_long +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_LNG_ERR);
+	stats->rx_pkts_jabbers +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXF_JAB_PKT);
+	reg = MSK_READ_MIB32(sc_if->msk_port, GM_RXF_SPARE2);
+	stats->rx_fifo_oflows +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_RXE_FIFO_OV);
+	reg = MSK_READ_MIB32(sc_if->msk_port, GM_RXF_SPARE3);
+
+	/* Tx stats. */
+	stats->tx_ucast_frames +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_UC_OK);
+	stats->tx_bcast_frames +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_BC_OK);
+	stats->tx_pause_frames +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_MPAUSE);
+	stats->tx_mcast_frames +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_MC_OK);
+	stats->tx_octets +=
+	    MSK_READ_MIB64(sc_if->msk_port, GM_TXO_OK_LO);
+	stats->tx_pkts_64 +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_64B);
+	stats->tx_pkts_65_127 +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_127B);
+	stats->tx_pkts_128_255 +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_255B);
+	stats->tx_pkts_256_511 +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_511B);
+	stats->tx_pkts_512_1023 +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_1023B);
+	stats->tx_pkts_1024_1518 +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_1518B);
+	stats->tx_pkts_1519_max +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_MAX_SZ);
+	reg = MSK_READ_MIB32(sc_if->msk_port, GM_TXF_SPARE1);
+	stats->tx_colls +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_COL);
+	stats->tx_late_colls +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_LAT_COL);
+	stats->tx_excess_colls +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_ABO_COL);
+	stats->tx_multi_colls +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_MUL_COL);
+	stats->tx_single_colls +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXF_SNG_COL);
+	stats->tx_underflows +=
+	    MSK_READ_MIB32(sc_if->msk_port, GM_TXE_FIFO_UR);
+	/* Clear MIB Clear Counter Mode. */
+	gmac &= ~GM_PAR_MIB_CLR;
+	GMAC_WRITE_2(sc, sc_if->msk_port, GM_PHY_ADDR, gmac);
+}
+
+static int
+msk_sysctl_stat32(SYSCTL_HANDLER_ARGS)
+{
+	struct msk_softc *sc;
+	struct msk_if_softc *sc_if;
+	uint32_t result, *stat;
+	int off;
+
+	sc_if = (struct msk_if_softc *)arg1;
+	sc = sc_if->msk_softc;
+	off = arg2;
+	stat = (uint32_t *)((uint8_t *)&sc_if->msk_stats + off);
+
+	MSK_IF_LOCK(sc_if);
+	result = MSK_READ_MIB32(sc_if->msk_port, GM_MIB_CNT_BASE + off * 2);
+	result += *stat;
+	MSK_IF_UNLOCK(sc_if);
+
+	return (sysctl_handle_int(oidp, &result, 0, req));
+}
+
+static int
+msk_sysctl_stat64(SYSCTL_HANDLER_ARGS)
+{
+	struct msk_softc *sc;
+	struct msk_if_softc *sc_if;
+	uint64_t result, *stat;
+	int off;
+
+	sc_if = (struct msk_if_softc *)arg1;
+	sc = sc_if->msk_softc;
+	off = arg2;
+	stat = (uint64_t *)((uint8_t *)&sc_if->msk_stats + off);
+
+	MSK_IF_LOCK(sc_if);
+	result = MSK_READ_MIB64(sc_if->msk_port, GM_MIB_CNT_BASE + off * 2);
+	result += *stat;
+	MSK_IF_UNLOCK(sc_if);
+
+	return (sysctl_handle_quad(oidp, &result, 0, req));
+}
+
+#undef MSK_READ_MIB32
+#undef MSK_READ_MIB64
+
+#define MSK_SYSCTL_STAT32(sc, c, o, p, n, d) 				\
+	SYSCTL_ADD_PROC(c, p, OID_AUTO, o, CTLTYPE_UINT | CTLFLAG_RD, 	\
+	    sc, offsetof(struct msk_hw_stats, n), msk_sysctl_stat32,	\
+	    "IU", d)
+#define MSK_SYSCTL_STAT64(sc, c, o, p, n, d) 				\
+	SYSCTL_ADD_PROC(c, p, OID_AUTO, o, CTLTYPE_UINT | CTLFLAG_RD, 	\
+	    sc, offsetof(struct msk_hw_stats, n), msk_sysctl_stat64,	\
+	    "Q", d)
+
+static void
+msk_sysctl_node(struct msk_if_softc *sc_if)
+{
+	struct sysctl_ctx_list *ctx;
+	struct sysctl_oid_list *child, *schild;
+	struct sysctl_oid *tree;
+
+	ctx = device_get_sysctl_ctx(sc_if->msk_if_dev);
+	child = SYSCTL_CHILDREN(device_get_sysctl_tree(sc_if->msk_if_dev));
+
+	tree = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "stats", CTLFLAG_RD,
+	    NULL, "MSK Statistics");
+	schild = child = SYSCTL_CHILDREN(tree);
+	tree = SYSCTL_ADD_NODE(ctx, schild, OID_AUTO, "rx", CTLFLAG_RD,
+	    NULL, "MSK RX Statistics");
+	child = SYSCTL_CHILDREN(tree);
+	MSK_SYSCTL_STAT32(sc_if, ctx, "ucast_frames",
+	    child, rx_ucast_frames, "Good unicast frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "bcast_frames",
+	    child, rx_bcast_frames, "Good broadcast frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "pause_frames",
+	    child, rx_pause_frames, "Pause frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "mcast_frames",
+	    child, rx_mcast_frames, "Multicast frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "crc_errs",
+	    child, rx_crc_errs, "CRC errors");
+	MSK_SYSCTL_STAT64(sc_if, ctx, "good_octets",
+	    child, rx_good_octets, "Good octets");
+	MSK_SYSCTL_STAT64(sc_if, ctx, "bad_octets",
+	    child, rx_bad_octets, "Bad octets");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_64",
+	    child, rx_pkts_64, "64 bytes frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_65_127",
+	    child, rx_pkts_65_127, "65 to 127 bytes frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_128_255",
+	    child, rx_pkts_128_255, "128 to 255 bytes frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_256_511",
+	    child, rx_pkts_256_511, "256 to 511 bytes frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_512_1023",
+	    child, rx_pkts_512_1023, "512 to 1023 bytes frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_1024_1518",
+	    child, rx_pkts_1024_1518, "1024 to 1518 bytes frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_1519_max",
+	    child, rx_pkts_1519_max, "1519 to max frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_too_long",
+	    child, rx_pkts_too_long, "frames too long");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "jabbers",
+	    child, rx_pkts_jabbers, "Jabber errors");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "jabbers",
+	    child, rx_fifo_oflows, "FIFO overflows");
+
+	tree = SYSCTL_ADD_NODE(ctx, schild, OID_AUTO, "tx", CTLFLAG_RD,
+	    NULL, "MSK TX Statistics");
+	child = SYSCTL_CHILDREN(tree);
+	MSK_SYSCTL_STAT32(sc_if, ctx, "ucast_frames",
+	    child, tx_ucast_frames, "Unicast frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "bcast_frames",
+	    child, tx_bcast_frames, "Broadcast frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "pause_frames",
+	    child, tx_pause_frames, "Pause frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "mcast_frames",
+	    child, tx_mcast_frames, "Multicast frames");
+	MSK_SYSCTL_STAT64(sc_if, ctx, "octets",
+	    child, tx_octets, "Octets");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_64",
+	    child, tx_pkts_64, "64 bytes frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_65_127",
+	    child, tx_pkts_65_127, "65 to 127 bytes frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_128_255",
+	    child, tx_pkts_128_255, "128 to 255 bytes frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_256_511",
+	    child, tx_pkts_256_511, "256 to 511 bytes frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_512_1023",
+	    child, tx_pkts_512_1023, "512 to 1023 bytes frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_1024_1518",
+	    child, tx_pkts_1024_1518, "1024 to 1518 bytes frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "frames_1519_max",
+	    child, tx_pkts_1519_max, "1519 to max frames");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "colls",
+	    child, tx_colls, "Collisions");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "late_colls",
+	    child, tx_late_colls, "Late collisions");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "excess_colls",
+	    child, tx_excess_colls, "Excessive collisions");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "multi_colls",
+	    child, tx_multi_colls, "Multiple collisions");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "single_colls",
+	    child, tx_single_colls, "Single collisions");
+	MSK_SYSCTL_STAT32(sc_if, ctx, "underflows",
+	    child, tx_underflows, "FIFO underflows");
+}
+
+#undef MSK_SYSCTL_STAT32
+#undef MSK_SYSCTL_STAT64
+
 static int
 sysctl_int_range(SYSCTL_HANDLER_ARGS, int low, int high)
 {

==== //depot/projects/smpng/sys/dev/msk/if_mskreg.h#8 (text+ko) ====

@@ -93,7 +93,7 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list