PERFORCE change 148822 for review
Ed Schouten
ed at FreeBSD.org
Fri Aug 29 21:20:04 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=148822
Change 148822 by ed at 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 at FreeBSD.org>
+.\" Copyright (c) 2005-2008 Pawel Jakub Dawidek <pjd at 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 at FreeBSD.org>
+ * Copyright (c) 2004-2008 Pawel Jakub Dawidek <pjd at 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", §orsize, 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. at ."T00`'?
M)`,``XIC``":8P`#/`(`!S1"`$``8A at 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) <<<
More information about the p4-projects
mailing list