Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Aug 2008 21:20:03 GMT
From:      Ed Schouten <ed@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 148822 for review
Message-ID:  <200808292120.m7TLK3DF001849@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=148822

Change 148822 by ed@ed_dull on 2008/08/29 21:19:32

	IFC.

Affected files ...

.. //depot/projects/mpsafetty/contrib/telnet/telnetd/telnetd.8#2 integrate
.. //depot/projects/mpsafetty/etc/defaults/rc.conf#7 integrate
.. //depot/projects/mpsafetty/etc/rc.d/savecore#2 integrate
.. //depot/projects/mpsafetty/sbin/geom/class/eli/geli.8#3 integrate
.. //depot/projects/mpsafetty/sbin/geom/class/eli/geom_eli.c#3 integrate
.. //depot/projects/mpsafetty/sbin/ifconfig/ifconfig.8#6 integrate
.. //depot/projects/mpsafetty/sbin/ifconfig/ifconfig.c#3 integrate
.. //depot/projects/mpsafetty/sbin/ifconfig/ifvlan.c#2 integrate
.. //depot/projects/mpsafetty/sys/cam/scsi/scsi_da.c#3 integrate
.. //depot/projects/mpsafetty/sys/cddl/compat/opensolaris/sys/cpuvar.h#2 integrate
.. //depot/projects/mpsafetty/sys/contrib/dev/ath/public/mipsisa32-be-elf.hal.o.uu#3 integrate
.. //depot/projects/mpsafetty/sys/dev/ciss/ciss.c#4 integrate
.. //depot/projects/mpsafetty/sys/dev/ciss/cissreg.h#4 integrate
.. //depot/projects/mpsafetty/sys/dev/dc/if_dc.c#3 integrate
.. //depot/projects/mpsafetty/sys/dev/dc/if_dcreg.h#2 integrate
.. //depot/projects/mpsafetty/sys/dev/e1000/if_igb.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/e1000/if_igb.h#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ic/ns16550.h#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ipmi/ipmi.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ipmi/ipmi_kcs.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ipmi/ipmivars.h#2 integrate
.. //depot/projects/mpsafetty/sys/dev/md/md.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ppc/ppc_isa.c#3 integrate
.. //depot/projects/mpsafetty/sys/dev/xen/blkback/blkback.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/cd9660/cd9660_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/coda/coda_venus.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/coda/coda_venus.h#2 integrate
.. //depot/projects/mpsafetty/sys/fs/coda/coda_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/devfs/devfs_vnops.c#4 integrate
.. //depot/projects/mpsafetty/sys/fs/fdescfs/fdesc_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/hpfs/hpfs_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/nwfs/nwfs_io.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/nwfs/nwfs_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/portalfs/portal_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/pseudofs/pseudofs_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/smbfs/smbfs_io.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/smbfs/smbfs_node.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/smbfs/smbfs_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/tmpfs/tmpfs_vfsops.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/tmpfs/tmpfs_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/unionfs/union_subr.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/unionfs/union_vfsops.c#2 integrate
.. //depot/projects/mpsafetty/sys/fs/unionfs/union_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/gnu/fs/ext2fs/ext2_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/i386/cpufreq/powernow.c#3 integrate
.. //depot/projects/mpsafetty/sys/i386/cpufreq/smist.c#3 integrate
.. //depot/projects/mpsafetty/sys/i386/ibcs2/imgact_coff.c#2 integrate
.. //depot/projects/mpsafetty/sys/kern/imgact_shell.c#3 integrate
.. //depot/projects/mpsafetty/sys/kern/kern_exec.c#7 integrate
.. //depot/projects/mpsafetty/sys/kern/kern_exit.c#5 integrate
.. //depot/projects/mpsafetty/sys/kern/kern_linker.c#2 integrate
.. //depot/projects/mpsafetty/sys/kern/kern_mib.c#3 integrate
.. //depot/projects/mpsafetty/sys/kern/kern_sig.c#3 integrate
.. //depot/projects/mpsafetty/sys/kern/kern_subr.c#2 integrate
.. //depot/projects/mpsafetty/sys/kern/subr_witness.c#4 integrate
.. //depot/projects/mpsafetty/sys/kern/tty_ttydisc.c#18 integrate
.. //depot/projects/mpsafetty/sys/kern/uipc_mqueue.c#2 integrate
.. //depot/projects/mpsafetty/sys/kern/vfs_default.c#2 integrate
.. //depot/projects/mpsafetty/sys/kern/vfs_mount.c#6 integrate
.. //depot/projects/mpsafetty/sys/kern/vfs_subr.c#6 integrate
.. //depot/projects/mpsafetty/sys/kern/vfs_syscalls.c#2 integrate
.. //depot/projects/mpsafetty/sys/kern/vfs_vnops.c#3 integrate
.. //depot/projects/mpsafetty/sys/kern/vnode_if.src#2 integrate
.. //depot/projects/mpsafetty/sys/net/bpf.c#5 integrate
.. //depot/projects/mpsafetty/sys/net/bpf_filter.c#3 integrate
.. //depot/projects/mpsafetty/sys/net/bpf_jitter.c#5 integrate
.. //depot/projects/mpsafetty/sys/net/if.h#3 integrate
.. //depot/projects/mpsafetty/sys/net/if_vlan.c#4 integrate
.. //depot/projects/mpsafetty/sys/net80211/ieee80211_crypto_tkip.c#2 integrate
.. //depot/projects/mpsafetty/sys/netgraph/ng_bpf.c#2 integrate
.. //depot/projects/mpsafetty/sys/netinet/sctp_indata.c#3 integrate
.. //depot/projects/mpsafetty/sys/netinet/sctp_lock_bsd.h#2 integrate
.. //depot/projects/mpsafetty/sys/netinet/sctp_output.c#5 integrate
.. //depot/projects/mpsafetty/sys/netinet/sctp_sysctl.h#3 integrate
.. //depot/projects/mpsafetty/sys/netinet/sctp_timer.c#4 integrate
.. //depot/projects/mpsafetty/sys/netinet/sctp_timer.h#3 integrate
.. //depot/projects/mpsafetty/sys/netinet/sctp_var.h#4 integrate
.. //depot/projects/mpsafetty/sys/netinet/sctputil.c#5 integrate
.. //depot/projects/mpsafetty/sys/netinet/tcp_hostcache.c#4 integrate
.. //depot/projects/mpsafetty/sys/nfs4client/nfs4_vnops.c#2 integrate
.. //depot/projects/mpsafetty/sys/nfsclient/nfs_bio.c#2 integrate
.. //depot/projects/mpsafetty/sys/nfsclient/nfs_vfsops.c#5 integrate
.. //depot/projects/mpsafetty/sys/nfsclient/nfs_vnops.c#3 integrate
.. //depot/projects/mpsafetty/sys/nfsserver/nfs_serv.c#2 integrate
.. //depot/projects/mpsafetty/sys/nfsserver/nfs_srvsubs.c#2 integrate
.. //depot/projects/mpsafetty/sys/powerpc/booke/pmap.c#3 integrate
.. //depot/projects/mpsafetty/sys/security/audit/audit_arg.c#4 integrate
.. //depot/projects/mpsafetty/sys/security/audit/audit_worker.c#4 integrate
.. //depot/projects/mpsafetty/sys/security/mac_bsdextended/mac_bsdextended.c#4 integrate
.. //depot/projects/mpsafetty/sys/security/mac_lomac/mac_lomac.c#4 integrate
.. //depot/projects/mpsafetty/sys/sys/ioccom.h#2 integrate
.. //depot/projects/mpsafetty/sys/sys/ttydisc.h#6 integrate
.. //depot/projects/mpsafetty/sys/sys/vnode.h#3 integrate
.. //depot/projects/mpsafetty/sys/ufs/ffs/ffs_alloc.c#2 integrate
.. //depot/projects/mpsafetty/sys/ufs/ffs/ffs_extern.h#2 integrate
.. //depot/projects/mpsafetty/sys/ufs/ffs/ffs_snapshot.c#2 integrate
.. //depot/projects/mpsafetty/sys/ufs/ffs/ffs_softdep.c#2 integrate
.. //depot/projects/mpsafetty/sys/ufs/ffs/ffs_vfsops.c#5 integrate
.. //depot/projects/mpsafetty/sys/ufs/ufs/ufs_vnops.c#3 integrate
.. //depot/projects/mpsafetty/sys/vm/swap_pager.c#4 integrate
.. //depot/projects/mpsafetty/sys/vm/vm_mmap.c#3 integrate
.. //depot/projects/mpsafetty/sys/vm/vnode_pager.c#4 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/Makefile#4 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/bpf_test.c#4 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0001.h#3 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0002.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0003.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0004.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0005.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0006.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0007.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0008.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0009.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0010.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0011.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0012.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0013.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0014.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0015.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0016.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0017.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0018.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0019.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0020.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0021.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0022.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0023.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0024.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0025.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0026.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0027.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0028.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0029.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0030.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0031.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0032.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0033.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0034.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0035.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0036.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0037.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0038.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0039.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0040.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0041.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0042.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0043.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0044.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0045.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0046.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0047.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0048.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0049.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0050.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0051.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0052.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0053.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0054.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0055.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0056.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0057.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0058.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0059.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0060.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0061.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0062.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0063.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0064.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0065.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0066.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0067.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0068.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0069.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0070.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0071.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0072.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0073.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0074.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0075.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0076.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0077.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0078.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0079.h#2 integrate
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0080.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0081.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0082.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/bpf/bpf_filter/tests/test0083.h#1 branch
.. //depot/projects/mpsafetty/tools/regression/geom_eli/attach-d.t#2 integrate
.. //depot/projects/mpsafetty/tools/regression/geom_eli/configure-b-B.t#2 integrate
.. //depot/projects/mpsafetty/tools/regression/geom_eli/delkey.t#2 integrate
.. //depot/projects/mpsafetty/tools/regression/geom_eli/detach-l.t#2 integrate
.. //depot/projects/mpsafetty/tools/regression/geom_eli/init-B.t#1 branch
.. //depot/projects/mpsafetty/tools/regression/geom_eli/init-a.t#2 integrate
.. //depot/projects/mpsafetty/tools/regression/geom_eli/init-i-P.t#2 integrate
.. //depot/projects/mpsafetty/tools/regression/geom_eli/init.t#2 integrate
.. //depot/projects/mpsafetty/tools/regression/geom_eli/integrity-copy.t#2 integrate
.. //depot/projects/mpsafetty/tools/regression/geom_eli/integrity-data.t#2 integrate
.. //depot/projects/mpsafetty/tools/regression/geom_eli/integrity-hmac.t#2 integrate
.. //depot/projects/mpsafetty/tools/regression/geom_eli/kill.t#2 integrate
.. //depot/projects/mpsafetty/tools/regression/geom_eli/nokey.t#2 integrate
.. //depot/projects/mpsafetty/tools/regression/geom_eli/readonly.t#2 integrate
.. //depot/projects/mpsafetty/tools/regression/geom_eli/setkey.t#2 integrate

Differences ...

==== //depot/projects/mpsafetty/contrib/telnet/telnetd/telnetd.8#2 (text+ko) ====

@@ -30,9 +30,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	@(#)telnetd.8	8.4 (Berkeley) 6/1/94
-.\" $FreeBSD: src/contrib/telnet/telnetd/telnetd.8,v 1.21 2005/01/21 21:57:05 ru Exp $
+.\" $FreeBSD: src/contrib/telnet/telnetd/telnetd.8,v 1.22 2008/08/29 00:04:37 trhodes Exp $
 .\"
-.Dd January 9, 2005
+.Dd August 28, 2008
 .Dt TELNETD 8
 .Os
 .Sh NAME
@@ -297,6 +297,15 @@
 can be used to temporarily disable
 a specific authentication type without having to recompile
 .Nm .
+Available
+.Ar authtype
+values include
+.Ar KERBEROS_V4, Ar KERBEROS_V5, Ar SPX, Ar MINK,
+and
+.Ar SRA .
+These options are completely independent of the
+.Fl a
+option.
 .El
 .Pp
 .Nm Telnetd

==== //depot/projects/mpsafetty/etc/defaults/rc.conf#7 (text+ko) ====

@@ -15,7 +15,7 @@
 # For a more detailed explanation of all the rc.conf variables, please
 # refer to the rc.conf(5) manual page.
 #
-# $FreeBSD: src/etc/defaults/rc.conf,v 1.343 2008/08/25 16:31:53 des Exp $
+# $FreeBSD: src/etc/defaults/rc.conf,v 1.344 2008/08/29 20:30:30 jhb Exp $
 
 ##############################################################
 ###  Important initial Boot-time options  ####################
@@ -539,6 +539,8 @@
 dumpdev="AUTO"		# Device to crashdump to (device name, AUTO, or NO).
 dumpdir="/var/crash"	# Directory where crash dumps are to be stored
 savecore_flags=""	# Used if dumpdev is enabled above, and present.
+crashinfo_enable="NO"	# Automatically generate crash dump summary.
+crashinfo_program="/usr/sbin/crashinfo"	# Script to generate crash dump summary.
 quota_enable="NO"	# turn on quotas on startup (or NO).
 check_quotas="YES"	# Check quotas on startup (or NO).
 quotaon_flags="-a"	# Turn quotas on for all file systems (if enabled)

==== //depot/projects/mpsafetty/etc/rc.d/savecore#2 (text+ko) ====

@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/savecore,v 1.15 2008/07/06 08:31:29 mtm Exp $
+# $FreeBSD: src/etc/rc.d/savecore,v 1.16 2008/08/29 20:30:30 jhb Exp $
 #
 
 # PROVIDE: savecore
@@ -65,6 +65,9 @@
 
 	if savecore -C "${dumpdir}" "${dev}" >/dev/null; then
 		savecore ${savecore_flags} ${dumpdir} ${dumpdev}
+		if checkyesno crashinfo_enable; then
+			${crashinfo_program} -d ${dumpdir}
+		fi
 	else
 		[ -z "${rc_quiet}" ] && echo "No core dumps found"
 	fi

==== //depot/projects/mpsafetty/sbin/geom/class/eli/geli.8#3 (text+ko) ====

@@ -1,4 +1,4 @@
-.\" Copyright (c) 2005-2006 Pawel Jakub Dawidek <pjd@FreeBSD.org>
+.\" Copyright (c) 2005-2008 Pawel Jakub Dawidek <pjd@FreeBSD.org>
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -22,9 +22,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/sbin/geom/class/eli/geli.8,v 1.23 2008/08/12 19:42:03 pjd Exp $
+.\" $FreeBSD: src/sbin/geom/class/eli/geli.8,v 1.25 2008/08/29 18:10:18 pjd Exp $
 .\"
-.Dd September 16, 2006
+.Dd August 29, 2008
 .Dt GELI 8
 .Os
 .Sh NAME
@@ -53,6 +53,7 @@
 .Cm init
 .Op Fl bPv
 .Op Fl a Ar aalgo
+.Op Fl B Ar backupfile
 .Op Fl e Ar ealgo
 .Op Fl i Ar iterations
 .Op Fl K Ar newkeyfile
@@ -206,6 +207,14 @@
 Initialize provider which needs to be encrypted.
 Here you can set up the cryptographic algorithm to use, key length, etc.
 The last provider's sector is used to store metadata.
+The
+.Cm init
+subcommand also automatically backups metadata in
+.Pa /var/backups/<prov>.eli
+file.
+The metadata can be recovered with the
+.Cm restore
+subcommand described below.
 .Pp
 Additional options include:
 .Bl -tag -width ".Fl a Ar aalgo"
@@ -224,6 +233,22 @@
 and
 .Nm HMAC/SHA512 .
 If the option is not given, there will be no authentication, only encryption.
+The recommended algorithm is
+.Nm HMAC/SHA256 .
+.It Fl b
+Ask for the passphrase on boot, before the root partition is mounted.
+This makes it possible to use an encrypted root partition.
+One will still need bootable unencrypted storage with a
+.Pa /boot/
+directory, which can be a CD-ROM disc or USB pen-drive, that can be removed
+after boot.
+.It Fl B Ar backupfile
+File name to use for metadata backup instead of the default
+.Pa /var/backups/<prov>.eli .
+To inhibit backups, you can use
+.Pa none
+as the
+.Ar backupfile .
 .It Fl e Ar ealgo
 Encryption algorithm to use.
 Currently supported algorithms are:
@@ -232,15 +257,8 @@
 .Nm Camellia
 and
 .Nm 3DES .
-The default is
+The default and recommended algorithm is
 .Nm AES .
-.It Fl b
-Ask for the passphrase on boot, before the root partition is mounted.
-This makes it possible to use an encrypted root partition.
-One will still need bootable unencrypted storage with a
-.Pa /boot/
-directory, which can be a CD-ROM disc or USB pen-drive, that can be removed
-after boot.
 .It Fl i Ar iterations
 Number of iterations to use with PKCS#5v2.
 If this option is not specified,
@@ -267,13 +285,13 @@
 .Nm Camellia
 and 192 for
 .Nm 3DES .
+.It Fl P
+Do not use passphrase as the key component.
 .It Fl s Ar sectorsize
 Change decrypted provider's sector size.
 Increasing sector size allows to increase performance, because we need to
 generate an IV and do encrypt/decrypt for every single sector - less number
 of sectors means less work to do.
-.It Fl P
-Do not use passphrase as the key component.
 .El
 .It Cm attach
 Attach the given provider.
@@ -296,9 +314,6 @@
 option for the
 .Cm detach
 subcommand.
-.It Fl r
-Attach read-only provider.
-It will not be opened for writing.
 .It Fl k Ar keyfile
 Specifies a file which contains part of the key.
 For more information see the description of the
@@ -308,6 +323,9 @@
 subcommand.
 .It Fl p
 Do not use passphrase as the key component.
+.It Fl r
+Attach read-only provider.
+It will not be opened for writing.
 .El
 .It Cm detach
 Detach the given providers, which means remove the devfs entry
@@ -623,6 +641,30 @@
 # newfs /dev/da0.eli
 # mount /dev/da0.eli /mnt/secret
 .Ed
+.Pp
+.Cm geli
+backups metadata by default to the
+.Pa /var/backups/<prov>.eli
+file.
+If metadata is lost in any way (eg. by accidental overwrite), it can be restored.
+Consider the following situation:
+.Bd -literal -offset indent
+# geli init /dev/da0
+Enter new passphrase:
+Reenter new passphrase:
+
+Metadata backup can be found in /var/backups/da0.eli and
+can be restored with the following command:
+
+	# geli restore /var/backups/da0.eli /dev/da0
+
+# geli clear /dev/da0
+# geli attach /dev/da0
+geli: Cannot read metadata from /dev/da0: Invalid argument.
+# geli restore /var/backups/da0.eli /dev/da0
+# geli attach /dev/da0
+Enter passphrase:
+.Ed
 .Sh DATA AUTHENTICATION
 .Nm
 can verify data integrity when an authentication algorithm is specified.

==== //depot/projects/mpsafetty/sbin/geom/class/eli/geom_eli.c#3 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2004-2006 Pawel Jakub Dawidek <pjd@FreeBSD.org>
+ * Copyright (c) 2004-2008 Pawel Jakub Dawidek <pjd@FreeBSD.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/geom/class/eli/geom_eli.c,v 1.25 2008/08/12 19:42:03 pjd Exp $");
+__FBSDID("$FreeBSD: src/sbin/geom/class/eli/geom_eli.c,v 1.26 2008/08/29 18:10:18 pjd Exp $");
 
 #include <stdio.h>
 #include <stdint.h>
@@ -54,6 +54,8 @@
 uint32_t lib_version = G_LIB_VERSION;
 uint32_t version = G_ELI_VERSION;
 
+#define	GELI_BACKUP_DIR	"/var/backups/"
+
 static char aalgo[] = "none";
 static char ealgo[] = "aes";
 static intmax_t keylen = 0;
@@ -61,6 +63,7 @@
 static intmax_t iterations = -1;
 static intmax_t sectorsize = 0;
 static char keyfile[] = "", newkeyfile[] = "";
+static char backupfile[] = "";
 
 static void eli_main(struct gctl_req *req, unsigned flags);
 static void eli_init(struct gctl_req *req);
@@ -74,10 +77,13 @@
 static void eli_clear(struct gctl_req *req);
 static void eli_dump(struct gctl_req *req);
 
+static int eli_backup_create(struct gctl_req *req, const char *prov,
+    const char *file);
+
 /*
  * Available commands:
  *
- * init [-bhPv] [-a aalgo] [-e ealgo] [-i iterations] [-l keylen] [-K newkeyfile] prov
+ * init [-bhPv] [-a aalgo] [-B backupfile] [-e ealgo] [-i iterations] [-l keylen] [-K newkeyfile] prov
  * label - alias for 'init'
  * attach [-dprv] [-k keyfile] prov
  * detach [-fl] prov ...
@@ -97,6 +103,7 @@
 	    {
 		{ 'a', "aalgo", aalgo, G_TYPE_STRING },
 		{ 'b', "boot", NULL, G_TYPE_BOOL },
+		{ 'B', "backupfile", backupfile, G_TYPE_STRING },
 		{ 'e', "ealgo", ealgo, G_TYPE_STRING },
 		{ 'i', "iterations", &iterations, G_TYPE_NUMBER },
 		{ 'K', "newkeyfile", newkeyfile, G_TYPE_STRING },
@@ -105,12 +112,13 @@
 		{ 's', "sectorsize", &sectorsize, G_TYPE_NUMBER },
 		G_OPT_SENTINEL
 	    },
-	    NULL, "[-bPv] [-a aalgo] [-e ealgo] [-i iterations] [-l keylen] [-K newkeyfile] [-s sectorsize] prov"
+	    NULL, "[-bPv] [-a aalgo] [-B backupfile] [-e ealgo] [-i iterations] [-l keylen] [-K newkeyfile] [-s sectorsize] prov"
 	},
 	{ "label", G_FLAG_VERBOSE, eli_main,
 	    {
 		{ 'a', "aalgo", aalgo, G_TYPE_STRING },
 		{ 'b', "boot", NULL, G_TYPE_BOOL },
+		{ 'B', "backupfile", backupfile, G_TYPE_STRING },
 		{ 'e', "ealgo", ealgo, G_TYPE_STRING },
 		{ 'i', "iterations", &iterations, G_TYPE_NUMBER },
 		{ 'K', "newkeyfile", newkeyfile, G_TYPE_STRING },
@@ -514,6 +522,7 @@
 	struct g_eli_metadata md;
 	unsigned char sector[sizeof(struct g_eli_metadata)];
 	unsigned char key[G_ELI_USERKEYLEN];
+	char backfile[MAXPATHLEN];
 	const char *str, *prov;
 	unsigned secsize;
 	off_t mediasize;
@@ -648,6 +657,32 @@
 	}
 	if (verbose)
 		printf("Metadata value stored on %s.\n", prov);
+	/* Backup metadata to a file. */
+	str = gctl_get_ascii(req, "backupfile");
+	if (str[0] != '\0') {
+		/* Backupfile given be the user, just copy it. */
+		strlcpy(backfile, str, sizeof(backfile));
+	} else {
+		/* Generate file name automatically. */
+		const char *p = prov;
+		unsigned int i;
+
+		if (strncmp(p, _PATH_DEV, strlen(_PATH_DEV)) == 0)
+			p += strlen(_PATH_DEV);
+		snprintf(backfile, sizeof(backfile), "%s%s.eli",
+		    GELI_BACKUP_DIR, p);
+		/* Replace all / with _. */
+		for (i = strlen(GELI_BACKUP_DIR); backfile[i] != '\0'; i++) {
+			if (backfile[i] == '/')
+				backfile[i] = '_';
+		}
+	}
+	if (strcmp(backfile, "none") != 0 &&
+	    eli_backup_create(req, prov, backfile) == 0) {
+		printf("\nMetadata backup can be found in %s and\n", backfile);
+		printf("can be restored with the following command:\n");
+		printf("\n\t# geli restore %s %s\n\n", backfile, prov);
+	}
 }
 
 static void
@@ -887,6 +922,12 @@
 		eli_setkey_attached(req, &md);
 	else
 		eli_setkey_detached(req, prov, &md);
+
+	if (req->error == NULL || req->error[0] == '\0') {
+		printf("Note, that the master key encrypted with old keys "
+		    "and/or passphrase may still exists in a metadata backup "
+		    "file.\n");
+	}
 }
 
 static void
@@ -1022,24 +1063,16 @@
 	gctl_issue(req);
 }
 
-static void
-eli_backup(struct gctl_req *req)
+static int
+eli_backup_create(struct gctl_req *req, const char *prov, const char *file)
 {
 	struct g_eli_metadata md;
-	const char *file, *prov;
 	unsigned secsize;
 	unsigned char *sector;
 	off_t mediasize;
-	int nargs, filefd, provfd;
+	int filefd, provfd, ret;
 
-	nargs = gctl_get_int(req, "nargs");
-	if (nargs != 2) {
-		gctl_error(req, "Invalid number of arguments.");
-		return;
-	}
-	prov = gctl_get_ascii(req, "arg0");
-	file = gctl_get_ascii(req, "arg1");
-
+	ret = -1;
 	provfd = filefd = -1;
 	sector = NULL;
 	secsize = 0;
@@ -1092,6 +1125,8 @@
 		    strerror(errno));
 		goto out;
 	}
+	/* Success. */
+	ret = 0;
 out:
 	if (provfd > 0)
 		close(provfd);
@@ -1101,6 +1136,24 @@
 		bzero(sector, secsize);
 		free(sector);
 	}
+	return (ret);
+}
+
+static void
+eli_backup(struct gctl_req *req)
+{
+	const char *file, *prov;
+	int nargs;
+
+	nargs = gctl_get_int(req, "nargs");
+	if (nargs != 2) {
+		gctl_error(req, "Invalid number of arguments.");
+		return;
+	}
+	prov = gctl_get_ascii(req, "arg0");
+	file = gctl_get_ascii(req, "arg1");
+
+	eli_backup_create(req, prov, file);
 }
 
 static void

==== //depot/projects/mpsafetty/sbin/ifconfig/ifconfig.8#6 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     From: @(#)ifconfig.8	8.3 (Berkeley) 1/5/94
-.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.152 2008/08/27 12:54:29 rpaulo Exp $
+.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.153 2008/08/28 22:13:44 jfv Exp $
 .\"
 .Dd August 27, 2008
 .Dt IFCONFIG 8
@@ -402,18 +402,20 @@
 is a synonym for enabling all available WOL mechanisms.
 To disable WOL use
 .Fl wol .
-.It Cm vlanmtu , vlanhwtag
+.It Cm vlanmtu , vlanhwtag, vlanhwfilter
 If the driver offers user-configurable VLAN support, enable
-reception of extended frames or tag processing in hardware,
+reception of extended frames, tag processing in hardware, or
+frame filtering in hardware,
 respectively.
 Note that this must be issued on a physical interface associated with
 .Xr vlan 4 ,
 not on a
 .Xr vlan 4
 interface itself.
-.It Fl vlanmtu , vlanhwtag
+.It Fl vlanmtu , vlanhwtag, vlanhwfilter
 If the driver offers user-configurable VLAN support, disable
-reception of extended frames or tag processing in hardware,
+reception of extended frames, tag processing in hardware, or
+frame filtering in hardware,
 respectively.
 .It Cm polling
 Turn on

==== //depot/projects/mpsafetty/sbin/ifconfig/ifconfig.c#3 (text+ko) ====

@@ -38,7 +38,7 @@
 static char sccsid[] = "@(#)ifconfig.c	8.2 (Berkeley) 2/16/94";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.138 2008/08/03 03:36:12 thompsa Exp $";
+  "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.139 2008/08/28 22:13:44 jfv Exp $";
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -776,7 +776,8 @@
 
 #define	IFCAPBITS \
 "\020\1RXCSUM\2TXCSUM\3NETCONS\4VLAN_MTU\5VLAN_HWTAGGING\6JUMBO_MTU\7POLLING" \
-"\10VLAN_HWCSUM\11TSO4\12TSO6\13LRO\14WOL_UCAST\15WOL_MCAST\16WOL_MAGIC"
+"\10VLAN_HWCSUM\11TSO4\12TSO6\13LRO\14WOL_UCAST\15WOL_MCAST\16WOL_MAGIC" \
+"\21VLAN_HWFILTER"
 
 /*
  * Print the status of the interface.  If an address family was

==== //depot/projects/mpsafetty/sbin/ifconfig/ifvlan.c#2 (text+ko) ====

@@ -56,7 +56,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-  "$FreeBSD: src/sbin/ifconfig/ifvlan.c,v 1.13 2008/03/31 15:38:07 sam Exp $";
+  "$FreeBSD: src/sbin/ifconfig/ifvlan.c,v 1.14 2008/08/28 22:13:44 jfv Exp $";
 #endif
 
 #define	NOTAG	((u_short) -1)
@@ -180,6 +180,8 @@
 	DEF_CMD("-vlanmtu",	-IFCAP_VLAN_MTU,	setifcap),
 	DEF_CMD("vlanhwtag",	IFCAP_VLAN_HWTAGGING,	setifcap),
 	DEF_CMD("-vlanhwtag",	-IFCAP_VLAN_HWTAGGING,	setifcap),
+	DEF_CMD("vlanhwfilter",	IFCAP_VLAN_HWFILTER,	setifcap),
+	DEF_CMD("-vlanhwfilter", -IFCAP_VLAN_HWFILTER,	setifcap),
 };
 static struct afswtch af_vlan = {
 	.af_name	= "af_vlan",

==== //depot/projects/mpsafetty/sys/cam/scsi/scsi_da.c#3 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.227 2008/07/09 17:00:14 remko Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.228 2008/08/29 04:39:46 scottl Exp $");
 
 #include <sys/param.h>
 
@@ -674,18 +674,19 @@
 		softc->disk->d_fwheads = softc->params.heads;
 		softc->disk->d_devstat->block_size = softc->params.secsize;
 		softc->disk->d_devstat->flags &= ~DEVSTAT_BS_UNAVAILABLE;
-	}
-	
-	if (error == 0) {
+
 		if ((softc->flags & DA_FLAG_PACK_REMOVABLE) != 0 &&
 		    (softc->quirks & DA_Q_NO_PREVENT) == 0)
 			daprevent(periph, PR_PREVENT);
-	} else {
+	} else
 		softc->flags &= ~DA_FLAG_OPEN;
+
+	cam_periph_unhold(periph);
+	cam_periph_unlock(periph);
+
+	if (error != 0) {
 		cam_periph_release(periph);
 	}
-	cam_periph_unhold(periph);
-	cam_periph_unlock(periph);
 	return (error);
 }
 

==== //depot/projects/mpsafetty/sys/cddl/compat/opensolaris/sys/cpuvar.h#2 (text+ko) ====

@@ -18,7 +18,7 @@
  *
  * CDDL HEADER END
  *
- * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/cpuvar.h,v 1.4 2008/05/22 08:33:24 jb Exp $
+ * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/cpuvar.h,v 1.5 2008/08/29 15:55:49 scottl Exp $
  */
 
 /*
@@ -65,7 +65,8 @@
  */
 #define	CPUC_SIZE		(sizeof (uint16_t) + sizeof (uintptr_t) + \
 				sizeof (kmutex_t))
-#define	CPUC_PADSIZE		CPU_CACHE_COHERENCE_SIZE - CPUC_SIZE
+#define	CPUC_SIZE1		roundup(CPUC_SIZE, CPU_CACHE_COHERENCE_SIZE)
+#define	CPUC_PADSIZE		CPUC_SIZE1 - CPUC_SIZE
 
 typedef struct cpu_core {
 	uint16_t	cpuc_dtrace_flags;	/* DTrace flags */

==== //depot/projects/mpsafetty/sys/contrib/dev/ath/public/mipsisa32-be-elf.hal.o.uu#3 (text+ko) ====

@@ -3203,7 +3203,7 @@
 M"0.@,"T00`'H)`,``X^D`5`PAO__CJ)<P`)`("V/I0$T`$#X"0.@."T00`'?
 M)`,``XIC``":8P`#/`(`!S1"`$``8A@D$&``$P)`("V6HD)X+$)0`Q1```L\
 M`@`"CF(``#!"`*`D`P"@$$,`!3P"```D0@```$#X"8^E`30"0"`M/`(``B1"
-M.R0`0/@)CZ4!-`)`("T\`@`")$)'V`!`^`F/I0$T$$`!P"0#``./H@$P4: //depot/projects/mpsafetty/sys/contrib/dev/ath/public/mipsisa32-be-elf.hal.o.uu#2 $``
+M.R0`0/@)CZ4!-`)`("T\`@`")$)'V`!`^`F/I0$T$$`!P"0#``./H@$P4: //depot/projects/mpsafetty/sys/contrib/dev/ath/public/mipsisa32-be-elf.hal.o.uu#3 $``
 M")*F7#@"0"`M)`410#P"```D0@```$#X"8^F`3R2IEPXDJ)<.0`"$@``PC`E
 MDJ)<.@`"%```PC`EDJ)<.P`"%@``PC`E`D`@+3P0```F$````@#X"30%@`"2
 MIEP]``8R`)*B7#P`PC`ECZ,!2`##,"6.HE_4`,(P)3P"`(``PC`E`D`@+0(`

==== //depot/projects/mpsafetty/sys/dev/ciss/ciss.c#4 (text+ko) ====

@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$FreeBSD: src/sys/dev/ciss/ciss.c,v 1.91 2008/08/02 13:04:26 scottl Exp $
+ *	$FreeBSD: src/sys/dev/ciss/ciss.c,v 1.92 2008/08/29 01:23:16 scottl Exp $
  */
 
 /*
@@ -367,7 +367,7 @@
 ciss_attach(device_t dev)
 {
     struct ciss_softc	*sc;
-    int			i, error;
+    int			error;
 
     debug_called(1);
 
@@ -415,26 +415,6 @@
     sc->ciss_dev = dev;
 
     /*
-     * Work out adapter type.
-     */
-    i = ciss_lookup(dev);
-    if (i < 0) {
-	ciss_printf(sc, "unknown adapter type\n");
-	error = ENXIO;
-	goto out;
-    }
-    if (ciss_vendor_data[i].flags & CISS_BOARD_SA5) {
-	sc->ciss_interrupt_mask = CISS_TL_SIMPLE_INTR_OPQ_SA5;
-    } else if (ciss_vendor_data[i].flags & CISS_BOARD_SA5B) {
-	sc->ciss_interrupt_mask = CISS_TL_SIMPLE_INTR_OPQ_SA5B;
-    } else {
-	/* really an error on our part */
-	ciss_printf(sc, "unable to determine hardware type\n");
-	error = ENXIO;
-	goto out;
-    }
-
-    /*
      * Do PCI-specific init.
      */
     if ((error = ciss_init_pci(sc)) != 0)
@@ -579,12 +559,34 @@
 {
     uintptr_t		cbase, csize, cofs;
     uint32_t		method, supported_methods;
-    int			error;
+    int			error, sqmask, i;
     void		*intr;
 
     debug_called(1);
 
     /*
+     * Work out adapter type.
+     */
+    i = ciss_lookup(sc->ciss_dev);
+    if (i < 0) {
+	ciss_printf(sc, "unknown adapter type\n");
+	return (ENXIO);
+    }
+
+    if (ciss_vendor_data[i].flags & CISS_BOARD_SA5) {
+	sqmask = CISS_TL_SIMPLE_INTR_OPQ_SA5;
+    } else if (ciss_vendor_data[i].flags & CISS_BOARD_SA5B) {
+	sqmask = CISS_TL_SIMPLE_INTR_OPQ_SA5B;
+    } else {
+	/*
+	 * XXX Big hammer, masks/unmasks all possible interrupts.  This should
+	 * work on all hardware variants.  Need to add code to handle the
+	 * "controller crashed" interupt bit that this unmasks.
+	 */
+	sqmask = ~0;
+    }
+
+    /*
      * Allocate register window first (we need this to find the config
      * struct).
      */
@@ -729,10 +731,13 @@
     sc->ciss_irq_rid[0] = 0;
     if (method == CISS_TRANSPORT_METHOD_PERF) {
 	ciss_printf(sc, "PERFORMANT Transport\n");
-	if ((ciss_force_interrupt != 1) && (ciss_setup_msix(sc) == 0))
+	if ((ciss_force_interrupt != 1) && (ciss_setup_msix(sc) == 0)) {
 	    intr = ciss_perf_msi_intr;
-	else
+	    sc->ciss_interrupt_mask = CISS_TL_PERF_INTR_MSI;
+	} else {
 	    intr = ciss_perf_intr;
+	    sc->ciss_interrupt_mask = CISS_TL_PERF_INTR_OPQ;
+	}
     } else {
 	ciss_printf(sc, "SIMPLE Transport\n");
 	/* MSIX doesn't seem to work in SIMPLE mode, only enable if it forced */
@@ -741,6 +746,7 @@
 	    ciss_setup_msix(sc);
 	sc->ciss_perf = NULL;
 	intr = ciss_intr;
+	sc->ciss_interrupt_mask = sqmask;
     }
 
     /*

==== //depot/projects/mpsafetty/sys/dev/ciss/cissreg.h#4 (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/ciss/cissreg.h,v 1.18 2008/08/02 13:04:26 scottl Exp $
+ *	$FreeBSD: src/sys/dev/ciss/cissreg.h,v 1.19 2008/08/29 01:23:16 scottl Exp $
  */
 
 /*
@@ -728,6 +728,9 @@
 #define CISS_TL_SIMPLE_POST_CMD(sc, phys)	CISS_TL_SIMPLE_WRITE(sc, CISS_TL_SIMPLE_IPQ, phys)
 #define CISS_TL_SIMPLE_FETCH_CMD(sc)		CISS_TL_SIMPLE_READ(sc, CISS_TL_SIMPLE_OPQ)
 
+#define CISS_TL_PERF_INTR_OPQ	(CISS_TL_SIMPLE_INTR_OPQ_SA5 | CISS_TL_SIMPLE_INTR_OPQ_SA5B)
+#define CISS_TL_PERF_INTR_MSI	0x01
+
 #define CISS_TL_PERF_POST_CMD(sc, cr)		CISS_TL_SIMPLE_WRITE(sc, CISS_TL_SIMPLE_IPQ, CISS_FIND_COMMANDPHYS(cr) | (cr)->cr_sg_tag)
 #define CISS_TL_PERF_FLUSH_INT(sc)		CISS_TL_SIMPLE_READ(sc, CISS_TL_SIMPLE_OSR)
 #define CISS_TL_PERF_CLEAR_INT(sc)		CISS_TL_SIMPLE_WRITE(sc, CISS_TL_SIMPLE_ODC, CISS_TL_SIMPLE_ODC_CLEAR)
@@ -735,18 +738,12 @@
 
 #define CISS_MSI_COUNT	4
 
-/*
- * XXX Here we effectively trust the BIOS to set the IMR correctly.  But if
- * we don't trust it, will we get into trouble with wrongly assuming what it
- * should be?
- */
-#define CISS_TL_SIMPLE_DISABLE_INTERRUPTS(sc)				\
-    do {								\
-	(sc)->ciss_interrupt_mask =					\
-	     CISS_TL_SIMPLE_READ(sc, CISS_TL_SIMPLE_IMR);		\
-	CISS_TL_SIMPLE_WRITE(sc, CISS_TL_SIMPLE_IMR, ~0);		\
-    } while (0)
-#define CISS_TL_SIMPLE_ENABLE_INTERRUPTS(sc)				\
-	CISS_TL_SIMPLE_WRITE(sc, CISS_TL_SIMPLE_IMR, (sc)->ciss_interrupt_mask)
+#define CISS_TL_SIMPLE_DISABLE_INTERRUPTS(sc) \
+	CISS_TL_SIMPLE_WRITE(sc, CISS_TL_SIMPLE_IMR, \
+			     CISS_TL_SIMPLE_READ(sc, CISS_TL_SIMPLE_IMR) | (sc)->ciss_interrupt_mask)
+#define CISS_TL_SIMPLE_ENABLE_INTERRUPTS(sc) \
+	CISS_TL_SIMPLE_WRITE(sc, CISS_TL_SIMPLE_IMR, \
+			     CISS_TL_SIMPLE_READ(sc, CISS_TL_SIMPLE_IMR) & ~(sc)->ciss_interrupt_mask)
+
 
 #endif /* _KERNEL */

==== //depot/projects/mpsafetty/sys/dev/dc/if_dc.c#3 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/dc/if_dc.c,v 1.196 2008/08/23 20:57:48 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/dc/if_dc.c,v 1.197 2008/08/29 20:31:41 marius Exp $");
 
 /*
  * DEC "tulip" clone ethernet driver. Supports the DEC/Intel 21143
@@ -1393,9 +1393,7 @@
 				    __func__);
 			if (!((isr & DC_ISR_RX_STATE) == DC_RXSTATE_STOPPED ||
 			    (isr & DC_ISR_RX_STATE) == DC_RXSTATE_WAIT) &&
-			    !(DC_IS_CENTAUR(sc) || DC_IS_CONEXANT(sc) ||
-			    (DC_IS_DAVICOM(sc) && pci_get_revid(sc->dc_dev) >=
-			    DC_REVISION_DM9102A)))
+			    !DC_HAS_BROKEN_RXSTATE(sc))
 				device_printf(sc->dc_dev,
 				    "%s: failed to force rx to idle state\n",
 				    __func__);
@@ -2884,8 +2882,12 @@
 			if (sc->dc_link == 0)
 				mii_tick(mii);
 		} else {
-			r = CSR_READ_4(sc, DC_ISR);
-			if ((r & DC_ISR_RX_STATE) == DC_RXSTATE_WAIT &&
+			/*
+			 * For NICs which never report DC_RXSTATE_WAIT, we
+			 * have to bite the bullet...
+			 */
+			if ((DC_HAS_BROKEN_RXSTATE(sc) || (CSR_READ_4(sc,
+			    DC_ISR) & DC_ISR_RX_STATE) == DC_RXSTATE_WAIT) &&
 			    sc->dc_cdata.dc_tx_cnt == 0) {
 				mii_tick(mii);
 				if (!(mii->mii_media_status & IFM_ACTIVE))

==== //depot/projects/mpsafetty/sys/dev/dc/if_dcreg.h#2 (text+ko) ====

@@ -29,7 +29,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/dc/if_dcreg.h,v 1.55 2008/03/24 17:38:24 marius Exp $
+ * $FreeBSD: src/sys/dev/dc/if_dcreg.h,v 1.56 2008/08/29 20:31:41 marius Exp $
  */
 
 /*
@@ -182,6 +182,10 @@
 #define DC_RXSTATE_FLUSH	0x000C0000	/* 110 - flush from FIFO */
 #define DC_RXSTATE_DEQUEUE	0x000E0000	/* 111 - dequeue from FIFO */
 
+#define	DC_HAS_BROKEN_RXSTATE(x)					\
+	(DC_IS_CENTAUR(x) || DC_IS_CONEXANT(x) || (DC_IS_DAVICOM(x) &&	\
+	pci_get_revid((x)->dc_dev) >= DC_REVISION_DM9102A))
+
 #define DC_TXSTATE_RESET	0x00000000	/* 000 - reset */
 #define DC_TXSTATE_FETCH	0x00100000	/* 001 - fetching descriptor */
 #define DC_TXSTATE_WAITEND	0x00200000	/* 010 - wait for tx end */

==== //depot/projects/mpsafetty/sys/dev/e1000/if_igb.c#2 (text+ko) ====

@@ -30,7 +30,7 @@

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



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