Date: Wed, 21 Jan 2009 21:10:19 GMT From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 156498 for review Message-ID: <200901212110.n0LLAJBl077074@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=156498 Change 156498 by jhb@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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901212110.n0LLAJBl077074>