svn commit: r224599 - in user/adrian/if_ath_tx:
cddl/contrib/opensolaris/cmd/ztest
cddl/contrib/opensolaris/lib/libzfs/common
contrib/bsnmp/snmp_usm contrib/gcc/cp etc/rc.d lib/libmemstat
lib/libus...
Adrian Chadd
adrian at FreeBSD.org
Tue Aug 2 08:31:24 UTC 2011
Author: adrian
Date: Tue Aug 2 08:31:23 2011
New Revision: 224599
URL: http://svn.freebsd.org/changeset/base/224599
Log:
MFC
Added:
user/adrian/if_ath_tx/tools/tools/ath/athradar/
- copied from r224594, head/tools/tools/ath/athradar/
Modified:
user/adrian/if_ath_tx/cddl/contrib/opensolaris/cmd/ztest/ztest.c
user/adrian/if_ath_tx/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
user/adrian/if_ath_tx/contrib/bsnmp/snmp_usm/snmp_usm.3
user/adrian/if_ath_tx/contrib/gcc/cp/ChangeLog
user/adrian/if_ath_tx/contrib/gcc/cp/decl.c
user/adrian/if_ath_tx/etc/rc.d/kld
user/adrian/if_ath_tx/lib/libmemstat/libmemstat.3
user/adrian/if_ath_tx/lib/libmemstat/memstat.c
user/adrian/if_ath_tx/lib/libmemstat/memstat.h
user/adrian/if_ath_tx/lib/libmemstat/memstat_internal.h
user/adrian/if_ath_tx/lib/libmemstat/memstat_malloc.c
user/adrian/if_ath_tx/lib/libmemstat/memstat_uma.c
user/adrian/if_ath_tx/lib/libusbhid/parse.c
user/adrian/if_ath_tx/libexec/tftpd/tftp-transfer.c
user/adrian/if_ath_tx/libexec/tftpd/tftpd.8
user/adrian/if_ath_tx/release/amd64/make-memstick.sh
user/adrian/if_ath_tx/release/doc/en_US.ISO8859-1/hardware/article.sgml
user/adrian/if_ath_tx/release/i386/make-memstick.sh
user/adrian/if_ath_tx/release/powerpc/make-memstick.sh
user/adrian/if_ath_tx/sbin/mount/mount.c
user/adrian/if_ath_tx/share/man/man4/dc.4
user/adrian/if_ath_tx/share/man/man4/gif.4
user/adrian/if_ath_tx/share/man/man4/hptiop.4
user/adrian/if_ath_tx/share/man/man4/lmc.4
user/adrian/if_ath_tx/share/man/man4/mpt.4
user/adrian/if_ath_tx/share/man/man4/pcm.4
user/adrian/if_ath_tx/share/man/man4/rue.4
user/adrian/if_ath_tx/share/man/man4/smp.4
user/adrian/if_ath_tx/share/man/man4/stf.4
user/adrian/if_ath_tx/share/man/man4/wi.4
user/adrian/if_ath_tx/share/man/man5/reiserfs.5
user/adrian/if_ath_tx/share/man/man8/crash.8
user/adrian/if_ath_tx/share/man/man9/taskqueue.9
user/adrian/if_ath_tx/share/man/man9/vfs_getopt.9
user/adrian/if_ath_tx/sys/amd64/amd64/machdep.c
user/adrian/if_ath_tx/sys/boot/forth/loader.conf
user/adrian/if_ath_tx/sys/cam/ata/ata_da.c
user/adrian/if_ath_tx/sys/cam/cam_periph.c
user/adrian/if_ath_tx/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
user/adrian/if_ath_tx/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
user/adrian/if_ath_tx/sys/compat/linprocfs/linprocfs.c
user/adrian/if_ath_tx/sys/conf/NOTES
user/adrian/if_ath_tx/sys/conf/newvers.sh
user/adrian/if_ath_tx/sys/conf/options
user/adrian/if_ath_tx/sys/dev/ahci/ahci.c
user/adrian/if_ath_tx/sys/dev/ahci/ahci.h
user/adrian/if_ath_tx/sys/dev/ata/ata-pci.c
user/adrian/if_ath_tx/sys/dev/ata/ata-pci.h
user/adrian/if_ath_tx/sys/dev/ata/chipsets/ata-acard.c
user/adrian/if_ath_tx/sys/dev/ata/chipsets/ata-acerlabs.c
user/adrian/if_ath_tx/sys/dev/ata/chipsets/ata-intel.c
user/adrian/if_ath_tx/sys/dev/ata/chipsets/ata-promise.c
user/adrian/if_ath_tx/sys/dev/ath/ath_dfs/null/dfs_null.c
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah_desc.h
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah_eeprom.h
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah_eeprom_9287.c
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah_eeprom_v14.c
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah_eeprom_v14.h
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah_eeprom_v4k.c
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_ani.c
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar9002/ar9280.c
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c
user/adrian/if_ath_tx/sys/dev/ath/if_ath.c
user/adrian/if_ath_tx/sys/dev/ath/if_ath_sysctl.c
user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h
user/adrian/if_ath_tx/sys/dev/hptiop/hptiop.c
user/adrian/if_ath_tx/sys/dev/mpt/mpt.c
user/adrian/if_ath_tx/sys/dev/mpt/mpt.h
user/adrian/if_ath_tx/sys/dev/mpt/mpt_cam.c
user/adrian/if_ath_tx/sys/dev/mpt/mpt_debug.c
user/adrian/if_ath_tx/sys/dev/mpt/mpt_pci.c
user/adrian/if_ath_tx/sys/dev/mpt/mpt_raid.c
user/adrian/if_ath_tx/sys/dev/mpt/mpt_raid.h
user/adrian/if_ath_tx/sys/dev/mpt/mpt_user.c
user/adrian/if_ath_tx/sys/dev/pci/pci.c
user/adrian/if_ath_tx/sys/dev/re/if_re.c
user/adrian/if_ath_tx/sys/dev/usb/input/ums.c
user/adrian/if_ath_tx/sys/fs/cd9660/iso.h
user/adrian/if_ath_tx/sys/fs/msdosfs/msdosfsmount.h
user/adrian/if_ath_tx/sys/fs/nfsclient/nfs_clvnops.c
user/adrian/if_ath_tx/sys/fs/nfsserver/nfs_nfsdserv.c
user/adrian/if_ath_tx/sys/fs/ntfs/ntfs.h
user/adrian/if_ath_tx/sys/fs/smbfs/smbfs.h
user/adrian/if_ath_tx/sys/i386/i386/machdep.c
user/adrian/if_ath_tx/sys/kern/kern_conf.c
user/adrian/if_ath_tx/sys/kern/kern_jail.c
user/adrian/if_ath_tx/sys/kern/kern_linker.c
user/adrian/if_ath_tx/sys/kern/kern_lock.c
user/adrian/if_ath_tx/sys/kern/kern_shutdown.c
user/adrian/if_ath_tx/sys/kern/subr_smp.c
user/adrian/if_ath_tx/sys/kern/sys_capability.c
user/adrian/if_ath_tx/sys/kern/vfs_mount.c
user/adrian/if_ath_tx/sys/kern/vfs_subr.c
user/adrian/if_ath_tx/sys/net/if_lagg.c
user/adrian/if_ath_tx/sys/netgraph/ng_ether.c
user/adrian/if_ath_tx/sys/netgraph/ng_mppc.c
user/adrian/if_ath_tx/sys/netgraph/ng_parse.c
user/adrian/if_ath_tx/sys/netinet/ip_divert.c
user/adrian/if_ath_tx/sys/pc98/pc98/machdep.c
user/adrian/if_ath_tx/sys/pci/if_rlreg.h
user/adrian/if_ath_tx/sys/powerpc/aim/locore32.S
user/adrian/if_ath_tx/sys/powerpc/booke/locore.S
user/adrian/if_ath_tx/sys/powerpc/conf/MPC85XX
user/adrian/if_ath_tx/sys/powerpc/mpc85xx/atpic.c
user/adrian/if_ath_tx/sys/powerpc/powermac/fcu.c
user/adrian/if_ath_tx/sys/sys/mount.h
user/adrian/if_ath_tx/sys/sys/systm.h
user/adrian/if_ath_tx/sys/ufs/ffs/ffs_alloc.c
user/adrian/if_ath_tx/sys/ufs/ffs/ffs_softdep.c
user/adrian/if_ath_tx/sys/ufs/ffs/ffs_vfsops.c
user/adrian/if_ath_tx/sys/ufs/ffs/ffs_vnops.c
user/adrian/if_ath_tx/sys/ufs/ufs/inode.h
user/adrian/if_ath_tx/sys/vm/device_pager.c
user/adrian/if_ath_tx/sys/vm/swap_pager.c
user/adrian/if_ath_tx/sys/vm/swap_pager.h
user/adrian/if_ath_tx/tools/tools/ath/Makefile
user/adrian/if_ath_tx/tools/tools/sysdoc/tunables.mdoc
user/adrian/if_ath_tx/usr.bin/cpio/Makefile
user/adrian/if_ath_tx/usr.bin/netstat/sctp.c
user/adrian/if_ath_tx/usr.bin/tar/Makefile
user/adrian/if_ath_tx/usr.bin/unzip/unzip.1
user/adrian/if_ath_tx/usr.bin/usbhidaction/usbhidaction.c
user/adrian/if_ath_tx/usr.bin/usbhidctl/usbhid.c
user/adrian/if_ath_tx/usr.sbin/bsdinstall/scripts/netconfig_ipv4
user/adrian/if_ath_tx/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1
user/adrian/if_ath_tx/usr.sbin/faithd/faithd.8
user/adrian/if_ath_tx/usr.sbin/jail/jail.8
user/adrian/if_ath_tx/usr.sbin/mfiutil/mfi_show.c
user/adrian/if_ath_tx/usr.sbin/pw/pw_user.c
Directory Properties:
user/adrian/if_ath_tx/ (props changed)
user/adrian/if_ath_tx/cddl/contrib/opensolaris/ (props changed)
user/adrian/if_ath_tx/contrib/compiler-rt/ (props changed)
user/adrian/if_ath_tx/contrib/ee/ (props changed)
user/adrian/if_ath_tx/contrib/expat/ (props changed)
user/adrian/if_ath_tx/contrib/file/ (props changed)
user/adrian/if_ath_tx/contrib/gdb/ (props changed)
user/adrian/if_ath_tx/contrib/gnu-sort/ (props changed)
user/adrian/if_ath_tx/contrib/groff/ (props changed)
user/adrian/if_ath_tx/contrib/less/ (props changed)
user/adrian/if_ath_tx/contrib/libpcap/ (props changed)
user/adrian/if_ath_tx/contrib/ncurses/ (props changed)
user/adrian/if_ath_tx/contrib/one-true-awk/ (props changed)
user/adrian/if_ath_tx/contrib/openbsm/ (props changed)
user/adrian/if_ath_tx/contrib/openpam/ (props changed)
user/adrian/if_ath_tx/contrib/pf/ (props changed)
user/adrian/if_ath_tx/contrib/tcpdump/ (props changed)
user/adrian/if_ath_tx/contrib/tcsh/ (props changed)
user/adrian/if_ath_tx/contrib/tnftp/ (props changed)
user/adrian/if_ath_tx/contrib/tzcode/stdtime/ (props changed)
user/adrian/if_ath_tx/contrib/tzcode/zic/ (props changed)
user/adrian/if_ath_tx/contrib/tzdata/ (props changed)
user/adrian/if_ath_tx/contrib/wpa/ (props changed)
user/adrian/if_ath_tx/lib/libutil/ (props changed)
user/adrian/if_ath_tx/lib/libz/ (props changed)
user/adrian/if_ath_tx/sbin/ (props changed)
user/adrian/if_ath_tx/sbin/ipfw/ (props changed)
user/adrian/if_ath_tx/share/mk/bsd.arch.inc.mk (props changed)
user/adrian/if_ath_tx/sys/contrib/dev/acpica/ (props changed)
user/adrian/if_ath_tx/usr.bin/csup/ (props changed)
user/adrian/if_ath_tx/usr.bin/procstat/ (props changed)
user/adrian/if_ath_tx/usr.sbin/rtadvctl/ (props changed)
user/adrian/if_ath_tx/usr.sbin/rtadvd/ (props changed)
Modified: user/adrian/if_ath_tx/cddl/contrib/opensolaris/cmd/ztest/ztest.c
==============================================================================
--- user/adrian/if_ath_tx/cddl/contrib/opensolaris/cmd/ztest/ztest.c Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/cddl/contrib/opensolaris/cmd/ztest/ztest.c Tue Aug 2 08:31:23 2011 (r224599)
@@ -205,6 +205,7 @@ typedef struct ztest_od {
*/
typedef struct ztest_ds {
objset_t *zd_os;
+ rwlock_t zd_zilog_lock;
zilog_t *zd_zilog;
uint64_t zd_seq;
ztest_od_t *zd_od; /* debugging aid */
@@ -238,6 +239,7 @@ ztest_func_t ztest_dmu_commit_callbacks;
ztest_func_t ztest_zap;
ztest_func_t ztest_zap_parallel;
ztest_func_t ztest_zil_commit;
+ztest_func_t ztest_zil_remount;
ztest_func_t ztest_dmu_read_write_zcopy;
ztest_func_t ztest_dmu_objset_create_destroy;
ztest_func_t ztest_dmu_prealloc;
@@ -273,6 +275,7 @@ ztest_info_t ztest_info[] = {
{ ztest_zap_parallel, 100, &zopt_always },
{ ztest_split_pool, 1, &zopt_always },
{ ztest_zil_commit, 1, &zopt_incessant },
+ { ztest_zil_remount, 1, &zopt_sometimes },
{ ztest_dmu_read_write_zcopy, 1, &zopt_often },
{ ztest_dmu_objset_create_destroy, 1, &zopt_often },
{ ztest_dsl_prop_get_set, 1, &zopt_often },
@@ -986,6 +989,7 @@ ztest_zd_init(ztest_ds_t *zd, objset_t *
zd->zd_seq = 0;
dmu_objset_name(os, zd->zd_name);
+ VERIFY(rwlock_init(&zd->zd_zilog_lock, USYNC_THREAD, NULL) == 0);
VERIFY(_mutex_init(&zd->zd_dirobj_lock, USYNC_THREAD, NULL) == 0);
for (int l = 0; l < ZTEST_OBJECT_LOCKS; l++)
@@ -1965,6 +1969,8 @@ ztest_io(ztest_ds_t *zd, uint64_t object
if (ztest_random(2) == 0)
io_type = ZTEST_IO_WRITE_TAG;
+ (void) rw_rdlock(&zd->zd_zilog_lock);
+
switch (io_type) {
case ZTEST_IO_WRITE_TAG:
@@ -2000,6 +2006,8 @@ ztest_io(ztest_ds_t *zd, uint64_t object
break;
}
+ (void) rw_unlock(&zd->zd_zilog_lock);
+
umem_free(data, blocksize);
}
@@ -2054,6 +2062,8 @@ ztest_zil_commit(ztest_ds_t *zd, uint64_
{
zilog_t *zilog = zd->zd_zilog;
+ (void) rw_rdlock(&zd->zd_zilog_lock);
+
zil_commit(zilog, ztest_random(ZTEST_OBJECTS));
/*
@@ -2065,6 +2075,31 @@ ztest_zil_commit(ztest_ds_t *zd, uint64_
ASSERT(zd->zd_seq <= zilog->zl_commit_lr_seq);
zd->zd_seq = zilog->zl_commit_lr_seq;
mutex_exit(&zilog->zl_lock);
+
+ (void) rw_unlock(&zd->zd_zilog_lock);
+}
+
+/*
+ * This function is designed to simulate the operations that occur during a
+ * mount/unmount operation. We hold the dataset across these operations in an
+ * attempt to expose any implicit assumptions about ZIL management.
+ */
+/* ARGSUSED */
+void
+ztest_zil_remount(ztest_ds_t *zd, uint64_t id)
+{
+ objset_t *os = zd->zd_os;
+
+ (void) rw_wrlock(&zd->zd_zilog_lock);
+
+ /* zfsvfs_teardown() */
+ zil_close(zd->zd_zilog);
+
+ /* zfsvfs_setup() */
+ VERIFY(zil_open(os, ztest_get_data) == zd->zd_zilog);
+ zil_replay(os, zd, ztest_replay_vector);
+
+ (void) rw_unlock(&zd->zd_zilog_lock);
}
/*
Modified: user/adrian/if_ath_tx/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- user/adrian/if_ath_tx/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Aug 2 08:31:23 2011 (r224599)
@@ -4289,7 +4289,8 @@ zfs_jail(zfs_handle_t *zhp, int jailid,
libzfs_handle_t *hdl = zhp->zfs_hdl;
zfs_cmd_t zc = { 0 };
char errbuf[1024];
- int cmd, ret;
+ unsigned long cmd;
+ int ret;
if (attach) {
(void) snprintf(errbuf, sizeof (errbuf),
Modified: user/adrian/if_ath_tx/contrib/bsnmp/snmp_usm/snmp_usm.3
==============================================================================
--- user/adrian/if_ath_tx/contrib/bsnmp/snmp_usm/snmp_usm.3 Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/contrib/bsnmp/snmp_usm/snmp_usm.3 Tue Aug 2 08:31:23 2011 (r224599)
@@ -115,7 +115,7 @@ allowed.
This column is used to create new USM user entries or delete existing ones from
the table.
.El
-.EL
+.El
.Sh FILES
.Bl -tag -width "XXXXXXXXX"
.It Pa /usr/share/snmp/defs/usm_tree.def
Modified: user/adrian/if_ath_tx/contrib/gcc/cp/ChangeLog
==============================================================================
--- user/adrian/if_ath_tx/contrib/gcc/cp/ChangeLog Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/contrib/gcc/cp/ChangeLog Tue Aug 2 08:31:23 2011 (r224599)
@@ -1,3 +1,9 @@
+2007-09-29 Jason Merrill <jason at redhat.com>
+
+ PR c++/33094
+ * decl.c (make_rtl_for_nonlocal_decl): It's ok for a member
+ constant to not have DECL_EXTERNAL if it's file-local.
+
2007-08-24 Jakub Jelinek <jakub at redhat.com>
PR c++/31941
Modified: user/adrian/if_ath_tx/contrib/gcc/cp/decl.c
==============================================================================
--- user/adrian/if_ath_tx/contrib/gcc/cp/decl.c Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/contrib/gcc/cp/decl.c Tue Aug 2 08:31:23 2011 (r224599)
@@ -4968,7 +4968,7 @@ make_rtl_for_nonlocal_decl (tree decl, t
/* An in-class declaration of a static data member should be
external; it is only a declaration, and not a definition. */
if (init == NULL_TREE)
- gcc_assert (DECL_EXTERNAL (decl));
+ gcc_assert (DECL_EXTERNAL (decl) || !TREE_PUBLIC (decl));
}
/* We don't create any RTL for local variables. */
Modified: user/adrian/if_ath_tx/etc/rc.d/kld
==============================================================================
--- user/adrian/if_ath_tx/etc/rc.d/kld Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/etc/rc.d/kld Tue Aug 2 08:31:23 2011 (r224599)
@@ -41,24 +41,11 @@ kld_start()
{
[ -n "$kld_list" ] || return
- local _kernel_path _module_path _kld _path
-
- _kernel_path=`$SYSCTL_N kern.bootfile`
- _kernel_path="${_kernel_path%/*}"
-
- _module_path=`$SYSCTL_N kern.module_path`
- _module_path="${_module_path#*\;}"
- _module_path="$_kernel_path `ltr $_module_path \; ' '`"
+ local _kld
echo 'Loading kernel modules:'
for _kld in $kld_list ; do
- for _path in $_module_path ; do
- if [ -x "${_path}/${_kld}.ko" ]; then
- load_kld -e ${_kld}.ko ${_path}/${_kld}.ko
- continue 2
- fi
- done
- warn "${_kld}.ko not found in $_module_path"
+ load_kld -e ${_kld}.ko $_kld
done
}
Modified: user/adrian/if_ath_tx/lib/libmemstat/libmemstat.3
==============================================================================
--- user/adrian/if_ath_tx/lib/libmemstat/libmemstat.3 Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/lib/libmemstat/libmemstat.3 Tue Aug 2 08:31:23 2011 (r224599)
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd June 27, 2005
+.Dd July 21, 2011
.Dt LIBMEMSTAT 3
.Os
.Sh NAME
@@ -412,10 +412,6 @@ values of
.Er EACCES
or
.Er EPERM .
-.It Dv MEMSTAT_ERROR_TOOMANYCPUS
-Returned if the compile-time limit on the number of CPUs in
-.Nm
-is lower than the number of CPUs returned by a statistics data source.
.It Dv MEMSTAT_ERROR_DATAERROR
Returned if
.Nm
Modified: user/adrian/if_ath_tx/lib/libmemstat/memstat.c
==============================================================================
--- user/adrian/if_ath_tx/lib/libmemstat/memstat.c Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/lib/libmemstat/memstat.c Tue Aug 2 08:31:23 2011 (r224599)
@@ -49,8 +49,6 @@ memstat_strerror(int error)
return ("Version mismatch");
case MEMSTAT_ERROR_PERMISSION:
return ("Permission denied");
- case MEMSTAT_ERROR_TOOMANYCPUS:
- return ("Too many CPUs");
case MEMSTAT_ERROR_DATAERROR:
return ("Data format error");
case MEMSTAT_ERROR_KVM:
@@ -99,6 +97,8 @@ _memstat_mtl_empty(struct memory_type_li
struct memory_type *mtp;
while ((mtp = LIST_FIRST(&list->mtl_list))) {
+ free(mtp->mt_percpu_alloc);
+ free(mtp->mt_percpu_cache);
LIST_REMOVE(mtp, mt_list);
free(mtp);
}
@@ -147,7 +147,7 @@ memstat_mtl_find(struct memory_type_list
*/
struct memory_type *
_memstat_mt_allocate(struct memory_type_list *list, int allocator,
- const char *name)
+ const char *name, int maxcpus)
{
struct memory_type *mtp;
@@ -158,6 +158,10 @@ _memstat_mt_allocate(struct memory_type_
bzero(mtp, sizeof(*mtp));
mtp->mt_allocator = allocator;
+ mtp->mt_percpu_alloc = malloc(sizeof(struct mt_percpu_alloc_s) *
+ maxcpus);
+ mtp->mt_percpu_cache = malloc(sizeof(struct mt_percpu_cache_s) *
+ maxcpus);
strlcpy(mtp->mt_name, name, MEMTYPE_MAXNAME);
LIST_INSERT_HEAD(&list->mtl_list, mtp, mt_list);
return (mtp);
@@ -171,7 +175,7 @@ _memstat_mt_allocate(struct memory_type_
* libmemstat(3) internal function.
*/
void
-_memstat_mt_reset_stats(struct memory_type *mtp)
+_memstat_mt_reset_stats(struct memory_type *mtp, int maxcpus)
{
int i;
@@ -193,7 +197,7 @@ _memstat_mt_reset_stats(struct memory_ty
mtp->mt_zonefree = 0;
mtp->mt_kegfree = 0;
- for (i = 0; i < MEMSTAT_MAXCPU; i++) {
+ for (i = 0; i < maxcpus; i++) {
mtp->mt_percpu_alloc[i].mtp_memalloced = 0;
mtp->mt_percpu_alloc[i].mtp_memfreed = 0;
mtp->mt_percpu_alloc[i].mtp_numallocs = 0;
Modified: user/adrian/if_ath_tx/lib/libmemstat/memstat.h
==============================================================================
--- user/adrian/if_ath_tx/lib/libmemstat/memstat.h Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/lib/libmemstat/memstat.h Tue Aug 2 08:31:23 2011 (r224599)
@@ -30,12 +30,6 @@
#define _MEMSTAT_H_
/*
- * Number of CPU slots in library-internal data structures. This should be
- * at least the value of MAXCPU from param.h.
- */
-#define MEMSTAT_MAXCPU 32
-
-/*
* Amount of caller data to maintain for each caller data slot. Applications
* must not request more than this number of caller save data, or risk
* corrupting internal libmemstat(3) data structures. A compile time check
@@ -70,7 +64,6 @@
#define MEMSTAT_ERROR_NOMEMORY 1 /* Out of memory. */
#define MEMSTAT_ERROR_VERSION 2 /* Unsupported version. */
#define MEMSTAT_ERROR_PERMISSION 3 /* Permission denied. */
-#define MEMSTAT_ERROR_TOOMANYCPUS 4 /* Too many CPUs. */
#define MEMSTAT_ERROR_DATAERROR 5 /* Error in stat data. */
#define MEMSTAT_ERROR_KVM 6 /* See kvm_geterr() for err. */
#define MEMSTAT_ERROR_KVM_NOSYMBOL 7 /* Symbol not available. */
Modified: user/adrian/if_ath_tx/lib/libmemstat/memstat_internal.h
==============================================================================
--- user/adrian/if_ath_tx/lib/libmemstat/memstat_internal.h Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/lib/libmemstat/memstat_internal.h Tue Aug 2 08:31:23 2011 (r224599)
@@ -92,7 +92,7 @@ struct memory_type {
* Per-CPU measurements fall into two categories: per-CPU allocation,
* and per-CPU cache state.
*/
- struct {
+ struct mt_percpu_alloc_s {
uint64_t mtp_memalloced;/* Per-CPU mt_memalloced. */
uint64_t mtp_memfreed; /* Per-CPU mt_memfreed. */
uint64_t mtp_numallocs; /* Per-CPU mt_numallocs. */
@@ -100,11 +100,11 @@ struct memory_type {
uint64_t mtp_sizemask; /* Per-CPU mt_sizemask. */
void *mtp_caller_pointer[MEMSTAT_MAXCALLER];
uint64_t mtp_caller_uint64[MEMSTAT_MAXCALLER];
- } mt_percpu_alloc[MEMSTAT_MAXCPU];
+ } *mt_percpu_alloc;
- struct {
+ struct mt_percpu_cache_s {
uint64_t mtp_free; /* Per-CPU cache free items. */
- } mt_percpu_cache[MEMSTAT_MAXCPU];
+ } *mt_percpu_cache;
LIST_ENTRY(memory_type) mt_list; /* List of types. */
};
@@ -119,7 +119,8 @@ struct memory_type_list {
void _memstat_mtl_empty(struct memory_type_list *list);
struct memory_type *_memstat_mt_allocate(struct memory_type_list *list,
- int allocator, const char *name);
-void _memstat_mt_reset_stats(struct memory_type *mtp);
+ int allocator, const char *name, int maxcpus);
+void _memstat_mt_reset_stats(struct memory_type *mtp,
+ int maxcpus);
#endif /* !_MEMSTAT_INTERNAL_H_ */
Modified: user/adrian/if_ath_tx/lib/libmemstat/memstat_malloc.c
==============================================================================
--- user/adrian/if_ath_tx/lib/libmemstat/memstat_malloc.c Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/lib/libmemstat/memstat_malloc.c Tue Aug 2 08:31:23 2011 (r224599)
@@ -96,11 +96,6 @@ retry:
return (-1);
}
- if (maxcpus > MEMSTAT_MAXCPU) {
- list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS;
- return (-1);
- }
-
size = sizeof(count);
if (sysctlbyname("kern.malloc_count", &count, &size, NULL, 0) < 0) {
if (errno == EACCES || errno == EPERM)
@@ -160,12 +155,6 @@ retry:
return (-1);
}
- if (mtshp->mtsh_maxcpus > MEMSTAT_MAXCPU) {
- list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS;
- free(buffer);
- return (-1);
- }
-
/*
* For the remainder of this function, we are quite trusting about
* the layout of structures and sizes, since we've determined we have
@@ -184,7 +173,7 @@ retry:
mtp = NULL;
if (mtp == NULL)
mtp = _memstat_mt_allocate(list, ALLOCATOR_MALLOC,
- mthp->mth_name);
+ mthp->mth_name, maxcpus);
if (mtp == NULL) {
_memstat_mtl_empty(list);
free(buffer);
@@ -195,7 +184,7 @@ retry:
/*
* Reset the statistics on a current node.
*/
- _memstat_mt_reset_stats(mtp);
+ _memstat_mt_reset_stats(mtp, maxcpus);
for (j = 0; j < maxcpus; j++) {
mtsp = (struct malloc_type_stats *)p;
@@ -295,7 +284,7 @@ memstat_kvm_malloc(struct memory_type_li
void *kmemstatistics;
int hint_dontsearch, j, mp_maxcpus, ret;
char name[MEMTYPE_MAXNAME];
- struct malloc_type_stats mts[MEMSTAT_MAXCPU], *mtsp;
+ struct malloc_type_stats *mts, *mtsp;
struct malloc_type_internal *mtip;
struct malloc_type type, *typep;
kvm_t *kvm;
@@ -322,11 +311,6 @@ memstat_kvm_malloc(struct memory_type_li
return (-1);
}
- if (mp_maxcpus > MEMSTAT_MAXCPU) {
- list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS;
- return (-1);
- }
-
ret = kread_symbol(kvm, X_KMEMSTATISTICS, &kmemstatistics,
sizeof(kmemstatistics), 0);
if (ret != 0) {
@@ -334,10 +318,17 @@ memstat_kvm_malloc(struct memory_type_li
return (-1);
}
+ mts = malloc(sizeof(struct malloc_type_stats) * mp_maxcpus);
+ if (mts == NULL) {
+ list->mtl_error = MEMSTAT_ERROR_NOMEMORY;
+ return (-1);
+ }
+
for (typep = kmemstatistics; typep != NULL; typep = type.ks_next) {
ret = kread(kvm, typep, &type, sizeof(type), 0);
if (ret != 0) {
_memstat_mtl_empty(list);
+ free(mts);
list->mtl_error = ret;
return (-1);
}
@@ -345,6 +336,7 @@ memstat_kvm_malloc(struct memory_type_li
MEMTYPE_MAXNAME);
if (ret != 0) {
_memstat_mtl_empty(list);
+ free(mts);
list->mtl_error = ret;
return (-1);
}
@@ -358,6 +350,7 @@ memstat_kvm_malloc(struct memory_type_li
sizeof(struct malloc_type_stats), 0);
if (ret != 0) {
_memstat_mtl_empty(list);
+ free(mts);
list->mtl_error = ret;
return (-1);
}
@@ -368,9 +361,10 @@ memstat_kvm_malloc(struct memory_type_li
mtp = NULL;
if (mtp == NULL)
mtp = _memstat_mt_allocate(list, ALLOCATOR_MALLOC,
- name);
+ name, mp_maxcpus);
if (mtp == NULL) {
_memstat_mtl_empty(list);
+ free(mts);
list->mtl_error = MEMSTAT_ERROR_NOMEMORY;
return (-1);
}
@@ -379,7 +373,7 @@ memstat_kvm_malloc(struct memory_type_li
* This logic is replicated from kern_malloc.c, and should
* be kept in sync.
*/
- _memstat_mt_reset_stats(mtp);
+ _memstat_mt_reset_stats(mtp, mp_maxcpus);
for (j = 0; j < mp_maxcpus; j++) {
mtsp = &mts[j];
mtp->mt_memalloced += mtsp->mts_memalloced;
Modified: user/adrian/if_ath_tx/lib/libmemstat/memstat_uma.c
==============================================================================
--- user/adrian/if_ath_tx/lib/libmemstat/memstat_uma.c Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/lib/libmemstat/memstat_uma.c Tue Aug 2 08:31:23 2011 (r224599)
@@ -79,7 +79,7 @@ memstat_sysctl_uma(struct memory_type_li
struct uma_type_header *uthp;
struct uma_percpu_stat *upsp;
struct memory_type *mtp;
- int count, hint_dontsearch, i, j, maxcpus;
+ int count, hint_dontsearch, i, j, maxcpus, maxid;
char *buffer, *p;
size_t size;
@@ -93,24 +93,19 @@ memstat_sysctl_uma(struct memory_type_li
* from the header.
*/
retry:
- size = sizeof(maxcpus);
- if (sysctlbyname("kern.smp.maxcpus", &maxcpus, &size, NULL, 0) < 0) {
+ size = sizeof(maxid);
+ if (sysctlbyname("kern.smp.maxid", &maxid, &size, NULL, 0) < 0) {
if (errno == EACCES || errno == EPERM)
list->mtl_error = MEMSTAT_ERROR_PERMISSION;
else
list->mtl_error = MEMSTAT_ERROR_DATAERROR;
return (-1);
}
- if (size != sizeof(maxcpus)) {
+ if (size != sizeof(maxid)) {
list->mtl_error = MEMSTAT_ERROR_DATAERROR;
return (-1);
}
- if (maxcpus > MEMSTAT_MAXCPU) {
- list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS;
- return (-1);
- }
-
size = sizeof(count);
if (sysctlbyname("vm.zone_count", &count, &size, NULL, 0) < 0) {
if (errno == EACCES || errno == EPERM)
@@ -125,7 +120,7 @@ retry:
}
size = sizeof(*uthp) + count * (sizeof(*uthp) + sizeof(*upsp) *
- maxcpus);
+ (maxid + 1));
buffer = malloc(size);
if (buffer == NULL) {
@@ -170,12 +165,6 @@ retry:
return (-1);
}
- if (ushp->ush_maxcpus > MEMSTAT_MAXCPU) {
- list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS;
- free(buffer);
- return (-1);
- }
-
/*
* For the remainder of this function, we are quite trusting about
* the layout of structures and sizes, since we've determined we have
@@ -194,7 +183,7 @@ retry:
mtp = NULL;
if (mtp == NULL)
mtp = _memstat_mt_allocate(list, ALLOCATOR_UMA,
- uthp->uth_name);
+ uthp->uth_name, maxid + 1);
if (mtp == NULL) {
_memstat_mtl_empty(list);
free(buffer);
@@ -205,7 +194,7 @@ retry:
/*
* Reset the statistics on a current node.
*/
- _memstat_mt_reset_stats(mtp);
+ _memstat_mt_reset_stats(mtp, maxid + 1);
mtp->mt_numallocs = uthp->uth_allocs;
mtp->mt_numfrees = uthp->uth_frees;
@@ -398,7 +387,7 @@ memstat_kvm_uma(struct memory_type_list
mtp = NULL;
if (mtp == NULL)
mtp = _memstat_mt_allocate(list, ALLOCATOR_UMA,
- name);
+ name, mp_maxid + 1);
if (mtp == NULL) {
free(ucp_array);
_memstat_mtl_empty(list);
@@ -408,7 +397,7 @@ memstat_kvm_uma(struct memory_type_list
/*
* Reset the statistics on a current node.
*/
- _memstat_mt_reset_stats(mtp);
+ _memstat_mt_reset_stats(mtp, mp_maxid + 1);
mtp->mt_numallocs = uz.uz_allocs;
mtp->mt_numfrees = uz.uz_frees;
mtp->mt_failures = uz.uz_fails;
Modified: user/adrian/if_ath_tx/lib/libusbhid/parse.c
==============================================================================
--- user/adrian/if_ath_tx/lib/libusbhid/parse.c Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/lib/libusbhid/parse.c Tue Aug 2 08:31:23 2011 (r224599)
@@ -322,6 +322,8 @@ hid_get_item(hid_data_t s, hid_item_t *h
* one and one item:
*/
c->report_count = 1;
+ c->usage_minimum = 0;
+ c->usage_maximum = 0;
} else {
s->ncount = 1;
}
@@ -512,13 +514,14 @@ hid_report_size(report_desc_t r, enum hi
uint32_t temp;
uint32_t hpos;
uint32_t lpos;
+ int report_id = 0;
hpos = 0;
lpos = 0xFFFFFFFF;
memset(&h, 0, sizeof h);
for (d = hid_start_parse(r, 1 << k, id); hid_get_item(d, &h); ) {
- if (h.report_ID == id && h.kind == k) {
+ if ((h.report_ID == id || id < 0) && h.kind == k) {
/* compute minimum */
if (lpos > h.pos)
lpos = h.pos;
@@ -527,6 +530,8 @@ hid_report_size(report_desc_t r, enum hi
/* compute maximum */
if (hpos < temp)
hpos = temp;
+ if (h.report_ID != 0)
+ report_id = 1;
}
}
hid_end_parse(d);
@@ -537,11 +542,8 @@ hid_report_size(report_desc_t r, enum hi
else
temp = hpos - lpos;
- if (id)
- temp += 8;
-
/* return length in bytes rounded up */
- return ((temp + 7) / 8);
+ return ((temp + 7) / 8 + report_id);
}
int
Modified: user/adrian/if_ath_tx/libexec/tftpd/tftp-transfer.c
==============================================================================
--- user/adrian/if_ath_tx/libexec/tftpd/tftp-transfer.c Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/libexec/tftpd/tftp-transfer.c Tue Aug 2 08:31:23 2011 (r224599)
@@ -129,14 +129,16 @@ tftp_send(int peer, uint16_t *block, str
(*block)++;
if (oldblock > *block) {
if (options[OPT_ROLLOVER].o_request == NULL) {
- tftp_log(LOG_ERR,
- "Block rollover but not allowed.");
- send_error(peer, EBADOP);
- gettimeofday(&(ts->tstop), NULL);
- return;
+ /*
+ * "rollover" option not specified in
+ * tftp client. Default to rolling block
+ * counter to 0.
+ */
+ *block = 0;
+ } else {
+ *block = atoi(options[OPT_ROLLOVER].o_request);
}
- *block = atoi(options[OPT_ROLLOVER].o_request);
ts->rollovers++;
}
gettimeofday(&(ts->tstop), NULL);
@@ -196,14 +198,16 @@ tftp_receive(int peer, uint16_t *block,
(*block)++;
if (oldblock > *block) {
if (options[OPT_ROLLOVER].o_request == NULL) {
- tftp_log(LOG_ERR,
- "Block rollover but not allowed.");
- send_error(peer, EBADOP);
- gettimeofday(&(ts->tstop), NULL);
- return;
+ /*
+ * "rollover" option not specified in
+ * tftp client. Default to rolling block
+ * counter to 0.
+ */
+ *block = 0;
+ } else {
+ *block = atoi(options[OPT_ROLLOVER].o_request);
}
- *block = atoi(options[OPT_ROLLOVER].o_request);
ts->rollovers++;
}
Modified: user/adrian/if_ath_tx/libexec/tftpd/tftpd.8
==============================================================================
--- user/adrian/if_ath_tx/libexec/tftpd/tftpd.8 Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/libexec/tftpd/tftpd.8 Tue Aug 2 08:31:23 2011 (r224599)
@@ -300,8 +300,15 @@ and
.Xr tftp 1
code to support RFC2348.
.Sh NOTES
-Files larger than 33488896 octets (65535 blocks) cannot be transferred
-without client and server supporting the TFTP blocksize option (RFC2348),
+Files larger than 33,553,919 octets (65535 blocks, last one <512
+octets) cannot be correctly transferred without client and server
+supporting blocksize negotiation (RFCs 2347 and 2348),
or the non-standard TFTP rollover option.
+As a kludge,
+.Nm
+accepts a sequence of block number which wrap to zero after 65535,
+even if the rollover option is not specified.
.Pp
-Many tftp clients will not transfer files over 16744448 octets (32767 blocks).
+Many tftp clients will not transfer files over 16,776,703 octets
+(32767 blocks), as they incorrectly count the block number using
+a signed rather than unsigned 16-bit integer.
Modified: user/adrian/if_ath_tx/release/amd64/make-memstick.sh
==============================================================================
--- user/adrian/if_ath_tx/release/amd64/make-memstick.sh Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/release/amd64/make-memstick.sh Tue Aug 2 08:31:23 2011 (r224599)
@@ -32,7 +32,7 @@ if [ -e ${2} ]; then
exit 1
fi
-echo '/dev/gpt/FreeBSD_Install / ufs rw,noatime 1 1' > ${1}/etc/fstab
+echo '/dev/gpt/FreeBSD_Install / ufs ro,noatime 1 1' > ${1}/etc/fstab
rm -f ${tempfile}
makefs -B little ${tempfile} ${1}
if [ $? -ne 0 ]; then
Modified: user/adrian/if_ath_tx/release/doc/en_US.ISO8859-1/hardware/article.sgml
==============================================================================
--- user/adrian/if_ath_tx/release/doc/en_US.ISO8859-1/hardware/article.sgml Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/release/doc/en_US.ISO8859-1/hardware/article.sgml Tue Aug 2 08:31:23 2011 (r224599)
@@ -195,11 +195,9 @@
resources between logical processors within the same CPU.
Because this naive scheduling can result in suboptimal
performance, under certain circumstances it may be useful to
- disable the logical processors with the the
- <varname>machdep.hlt_logical_cpus</varname> sysctl variable.
- It is also possible to halt any CPU in the idle loop with the
- <varname>machdep.hlt_cpus</varname> sysctl variable. The
- &man.smp.4; manual page has more details.</para>
+ disable the logical processors with the
+ <varname>machdep.hyperthreading_allowed</varname> tunable.
+ The &man.smp.4; manual page has more details.</para>
<para>&os; will take advantage of Physical Address Extensions
(PAE) support on CPUs that support this feature. A kernel
Modified: user/adrian/if_ath_tx/release/i386/make-memstick.sh
==============================================================================
--- user/adrian/if_ath_tx/release/i386/make-memstick.sh Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/release/i386/make-memstick.sh Tue Aug 2 08:31:23 2011 (r224599)
@@ -32,7 +32,7 @@ if [ -e ${2} ]; then
exit 1
fi
-echo '/dev/gpt/FreeBSD_Install / ufs rw,noatime 1 1' > ${1}/etc/fstab
+echo '/dev/gpt/FreeBSD_Install / ufs ro,noatime 1 1' > ${1}/etc/fstab
rm -f ${tempfile}
makefs -B little ${tempfile} ${1}
if [ $? -ne 0 ]; then
Modified: user/adrian/if_ath_tx/release/powerpc/make-memstick.sh
==============================================================================
--- user/adrian/if_ath_tx/release/powerpc/make-memstick.sh Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/release/powerpc/make-memstick.sh Tue Aug 2 08:31:23 2011 (r224599)
@@ -32,7 +32,7 @@ if [ -e ${2} ]; then
exit 1
fi
-echo '/dev/da0s3 / ufs rw,noatime 1 1' > ${1}/etc/fstab
+echo '/dev/da0s3 / ufs ro,noatime 1 1' > ${1}/etc/fstab
rm -f ${tempfile}
makefs -B big ${tempfile} ${1}
if [ $? -ne 0 ]; then
Modified: user/adrian/if_ath_tx/sbin/mount/mount.c
==============================================================================
--- user/adrian/if_ath_tx/sbin/mount/mount.c Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/sbin/mount/mount.c Tue Aug 2 08:31:23 2011 (r224599)
@@ -109,6 +109,7 @@ static struct opt {
{ MNT_NOCLUSTERW, "noclusterw" },
{ MNT_SUIDDIR, "suiddir" },
{ MNT_SOFTDEP, "soft-updates" },
+ { MNT_SUJ, "journaled soft-updates" },
{ MNT_MULTILABEL, "multilabel" },
{ MNT_ACLS, "acls" },
{ MNT_NFS4ACLS, "nfsv4acls" },
Modified: user/adrian/if_ath_tx/share/man/man4/dc.4
==============================================================================
--- user/adrian/if_ath_tx/share/man/man4/dc.4 Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/share/man/man4/dc.4 Tue Aug 2 08:31:23 2011 (r224599)
@@ -30,7 +30,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 16, 2005
+.Dd July 23, 2011
.Dt DC 4
.Os
.Sh NAME
@@ -357,7 +357,7 @@ the card should be configured correctly.
.Re
.Rs
.%T Davicom DM9102 data sheet
-.%U http://www.davicom8.com
+.%U http://www.davicom.com.tw/userfile/24247/DM9102H-DS-F01-021508.pdf
.Re
.Rs
.%T Intel 21143 Hardware Reference Manual
Modified: user/adrian/if_ath_tx/share/man/man4/gif.4
==============================================================================
--- user/adrian/if_ath_tx/share/man/man4/gif.4 Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/share/man/man4/gif.4 Tue Aug 2 08:31:23 2011 (r224599)
@@ -29,7 +29,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd June 8, 2009
+.Dd August 1, 2011
.Dt GIF 4
.Os
.Sh NAME
@@ -198,7 +198,7 @@ to 1.
.%B RFC2893
.%T Transition Mechanisms for IPv6 Hosts and Routers
.%D August 2000
-.%U ftp://ftp.isi.edu/in-notes/rfc2893.txt
+.%U http://tools.ietf.org/html/rfc2893
.Re
.Rs
.%A Sally Floyd
Modified: user/adrian/if_ath_tx/share/man/man4/hptiop.4
==============================================================================
--- user/adrian/if_ath_tx/share/man/man4/hptiop.4 Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/share/man/man4/hptiop.4 Tue Aug 2 08:31:23 2011 (r224599)
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 12, 2007
+.Dd August 1, 2011
.Dt HPTIOP 4
.Os
.Sh NAME
@@ -60,6 +60,10 @@ driver supports the following SAS and SA
.It
HighPoint RocketRAID 4320
.It
+HighPoint RocketRAID 4321
+.It
+HighPoint RocketRAID 4322
+.It
HighPoint RocketRAID 3220
.It
HighPoint RocketRAID 3320
Modified: user/adrian/if_ath_tx/share/man/man4/lmc.4
==============================================================================
--- user/adrian/if_ath_tx/share/man/man4/lmc.4 Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/share/man/man4/lmc.4 Tue Aug 2 08:31:23 2011 (r224599)
@@ -43,7 +43,7 @@
.\" this program; if not, write to the Free Software Foundation, Inc., 59
.\" Temple Place - Suite 330, Boston, MA 02111-1307, USA.
.\"
-.Dd May 20, 2006
+.Dd July 23, 2011
.Dt LMC 4
.Os
.\"
@@ -723,8 +723,6 @@ Thus, cable length does not affect data/
.Xr ngctl 8 ,
.Xr ping 8 ,
.Xr ifnet 9
-.Pp
-.Pa http://www.sbei.com/
.\"
.Sh HISTORY
.\"
Modified: user/adrian/if_ath_tx/share/man/man4/mpt.4
==============================================================================
--- user/adrian/if_ath_tx/share/man/man4/mpt.4 Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/share/man/man4/mpt.4 Tue Aug 2 08:31:23 2011 (r224599)
@@ -35,7 +35,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 13, 2010
+.Dd July 23, 2011
.Dt MPT 4
.Os
.Sh NAME
@@ -161,7 +161,7 @@ can take on - no separate compilation is
.Xr gmultipath 8
.Rs
.%T "LSI Logic Website"
-.%U http://www.lsilogic.com/
+.%U http://www.lsi.com/
.Re
.Sh HISTORY
The
Modified: user/adrian/if_ath_tx/share/man/man4/pcm.4
==============================================================================
--- user/adrian/if_ath_tx/share/man/man4/pcm.4 Tue Aug 2 08:09:12 2011 (r224598)
+++ user/adrian/if_ath_tx/share/man/man4/pcm.4 Tue Aug 2 08:31:23 2011 (r224599)
@@ -1,5 +1,5 @@
.\"
-.\" Copyright (c) 1998, Luigi Rizzo
+.\" Copyright (c) 2009-2011 Joel Dahl <joel at FreeBSD.org>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 13, 2009
+.Dd July 31, 2011
.Dt SOUND 4
.Os
.Sh NAME
@@ -41,7 +41,122 @@ kernel configuration file:
.Bd -ragged -offset indent
.Cd "device sound"
.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver is the main component of the
+.Fx
+sound system.
+It works in conjunction with a bridge device driver on supported devices
+and provides PCM audio record and playback once it attaches.
+Each bridge device driver supports a specific set of audio chipsets and
+needs to be enabled together with the
+.Nm
+driver.
+PCI and ISA PnP audio devices identify themselves so users are usually not
+required to add anything to
+.Pa /boot/device.hints .
+.Pp
+Some of the main features of the
+.Nm
+driver are: multichannel audio, per-application
+volume control, dynamic mixing through virtual sound channels, true full
+duplex operation, bit perfect audio, rate conversion and low latency
+modes.
+.Pp
+The
+.Nm
+driver is enabled by default, along with several bridge device drivers.
+Those not enabled by default can be loaded during runtime with
+.Xr kldload 8
+or during boot via
+.Xr loader.conf 5 .
+The following bridge device drivers are available:
+.Pp
+.Bl -bullet -compact
+.It
+.Xr snd_ad1816 4
+.It
+.Xr snd_ai2s 4 (enabled by default on powerpc)
+.It
+.Xr snd_als4000 4
+.It
+.Xr snd_atiixp 4
+.It
+.Xr snd_audiocs 4 (enabled by default on sparc64)
+.It
+.Xr snd_cmi 4
+.It
+.Xr snd_cs4281 4
+.It
+.Xr snd_csa 4
+.It
+.Xr snd_davbus 4 (enabled by default on powerpc)
+.It
+.Xr snd_ds1 4
+.It
+.Xr snd_emu10k1 4
+.It
+.Xr snd_emu10kx 4
+.It
+.Xr snd_envy24 4
+.It
+.Xr snd_envy24ht 4
+.It
+.Xr snd_es137x 4 (enabled by default on amd64, i386, sparc64)
+.It
+.Xr snd_ess 4
+.It
+.Xr snd_fm801 4
+.It
+.Xr snd_gusc 4
+.It
+.Xr snd_hda 4 (enabled by default on amd64, i386)
+.It
+.Xr snd_ich 4 (enabled by default on amd64, i386)
+.It
+.Xr snd_maestro 4
+.It
+.Xr snd_maestro3 4
+.It
+.Xr snd_mss 4
+.It
+.Xr snd_neomagic 4
+.It
+snd_sb16
+.It
+snd_sb8
+.It
+.Xr snd_sbc 4
+.It
+.Xr snd_solo 4
+.It
+.Xr snd_spicds 4
+.It
+.Xr snd_t4dwave 4 (enabled by default on sparc64)
+.It
+.Xr snd_uaudio 4 (enabled by default on amd64, i386, powerpc, sparc64)
+.It
+.Xr snd_via8233 4 (enabled by default on amd64, i386)
+.It
+.Xr snd_via82c686 4
+.It
+.Xr snd_vibes 4
+.El
.Pp
+Refer to the manual page for each bridge device driver for driver specific
+settings and information.
+.Ss Legacy Hardware
+For old legacy
+.Tn ISA
+cards, the driver looks for
+.Tn MSS
+cards at addresses
+.Dv 0x530
+and
+.Dv 0x604 .
+These values can be overridden in
+.Pa /boot/device.hints .
Non-PnP sound cards require the following lines in
.Xr device.hints 5 :
.Bd -literal -offset indent
@@ -50,33 +165,6 @@ hint.pcm.0.irq="5"
hint.pcm.0.drq="1"
hint.pcm.0.flags="0x0"
.Ed
-.Sh DESCRIPTION
-The
-.Nm
-driver provides support for
-.Tn PCM
-audio play and capture.
-This driver also supports various
-.Tn PCI ,
-.Tn ISA ,
-.Tn WSS/MSS
-compatible
-sound cards, AC97 mixer and High Definition Audio.
-Once the
-.Nm
-driver attaches, supported devices provide audio record and
-playback channels.
-The
-.Fx
-sound system provides dynamic mixing
-.Dq VCHAN
-and rate conversion
-.Dq soft formats .
-True full duplex operation is available on most sound cards.
-.Pp
-If the sound card is supported by a bridge driver, the
-.Nm
-driver works in conjunction with the bridge driver.
.Pp
Apart from the usual parameters, the flags field is used to specify
the secondary
@@ -85,24 +173,6 @@ channel (generally used for capture in f
Flags are set to 0 for cards not using a secondary
.Tn DMA
channel, or to 0x10 + C to specify channel C.
-.Pp
-The driver does its best to recognize the installed hardware and drive
-it correctly so the user is not required to add several lines in
-.Pa /boot/device.hints .
-For
-.Tn PCI
-and
-.Tn ISA
-.Tn PnP
-cards this is actually easy
-since they identify themselves.
-For legacy
-.Tn ISA
-cards, the driver looks for
-.Tn MSS
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-user
mailing list