PERFORCE change 133968 for review

Rui Paulo rpaulo at FreeBSD.org
Wed Jan 23 19:16:24 PST 2008


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

Change 133968 by rpaulo at rpaulo_alpha on 2008/01/24 03:16:05

	IFC

Affected files ...

.. //depot/projects/tcpecn/Makefile#2 integrate
.. //depot/projects/tcpecn/amd64/amd64/pmap.c#5 integrate
.. //depot/projects/tcpecn/amd64/include/_types.h#2 integrate
.. //depot/projects/tcpecn/amd64/include/float.h#2 integrate
.. //depot/projects/tcpecn/amd64/include/ieeefp.h#2 integrate
.. //depot/projects/tcpecn/amd64/isa/clock.c#2 integrate
.. //depot/projects/tcpecn/arm/arm/pmap.c#4 integrate
.. //depot/projects/tcpecn/arm/arm/support.S#2 integrate
.. //depot/projects/tcpecn/arm/xscale/ixp425/if_npe.c#2 integrate
.. //depot/projects/tcpecn/boot/forth/loader.conf.5#2 integrate
.. //depot/projects/tcpecn/cam/scsi/scsi_da.c#3 integrate
.. //depot/projects/tcpecn/compat/freebsd32/freebsd32_proto.h#4 integrate
.. //depot/projects/tcpecn/compat/freebsd32/freebsd32_syscall.h#4 integrate
.. //depot/projects/tcpecn/compat/freebsd32/freebsd32_syscalls.c#4 integrate
.. //depot/projects/tcpecn/compat/freebsd32/freebsd32_sysent.c#4 integrate
.. //depot/projects/tcpecn/compat/freebsd32/syscalls.master#4 integrate
.. //depot/projects/tcpecn/compat/linprocfs/linprocfs.c#3 integrate
.. //depot/projects/tcpecn/compat/linux/linux_file.c#3 integrate
.. //depot/projects/tcpecn/compat/linux/linux_getcwd.c#2 integrate
.. //depot/projects/tcpecn/compat/linux/linux_misc.c#2 integrate
.. //depot/projects/tcpecn/compat/ndis/subr_ndis.c#3 integrate
.. //depot/projects/tcpecn/compat/opensolaris/kern/opensolaris_kobj.c#2 integrate
.. //depot/projects/tcpecn/compat/opensolaris/kern/opensolaris_vfs.c#2 integrate
.. //depot/projects/tcpecn/compat/opensolaris/sys/vnode.h#2 integrate
.. //depot/projects/tcpecn/compat/pecoff/imgact_pecoff.c#2 integrate
.. //depot/projects/tcpecn/compat/svr4/imgact_svr4.c#2 integrate
.. //depot/projects/tcpecn/compat/svr4/svr4_fcntl.c#2 integrate
.. //depot/projects/tcpecn/compat/svr4/svr4_misc.c#2 integrate
.. //depot/projects/tcpecn/conf/files#4 integrate
.. //depot/projects/tcpecn/contrib/dev/acpica/evgpe.c#2 integrate
.. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/gfs.c#2 integrate
.. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#2 integrate
.. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#2 integrate
.. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#2 integrate
.. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate
.. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#2 integrate
.. //depot/projects/tcpecn/crypto/rijndael/rijndael-api.c#2 integrate
.. //depot/projects/tcpecn/crypto/rijndael/test00.c#2 integrate
.. //depot/projects/tcpecn/ddb/db_textdump.c#2 integrate
.. //depot/projects/tcpecn/dev/acpica/Osd/OsdSchedule.c#2 integrate
.. //depot/projects/tcpecn/dev/acpica/acpi_hpet.c#2 integrate
.. //depot/projects/tcpecn/dev/acpica/acpi_hpet.h#1 branch
.. //depot/projects/tcpecn/dev/an/if_an.c#3 integrate
.. //depot/projects/tcpecn/dev/an/if_an_pci.c#2 integrate
.. //depot/projects/tcpecn/dev/an/if_anreg.h#2 integrate
.. //depot/projects/tcpecn/dev/ath/if_ath.c#2 integrate
.. //depot/projects/tcpecn/dev/bge/if_bge.c#3 integrate
.. //depot/projects/tcpecn/dev/bge/if_bgereg.h#3 integrate
.. //depot/projects/tcpecn/dev/coretemp/coretemp.c#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_t3_cpl.h#3 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_adapter.h#3 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_main.c#3 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_multiq.c#1 branch
.. //depot/projects/tcpecn/dev/cxgb/cxgb_osdep.h#3 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_sge.c#3 integrate
.. //depot/projects/tcpecn/dev/cxgb/sys/cxgb_support.c#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/sys/mvec.h#4 integrate
.. //depot/projects/tcpecn/dev/cxgb/sys/uipc_mvec.c#4 integrate
.. //depot/projects/tcpecn/dev/drm/drm_drv.c#2 integrate
.. //depot/projects/tcpecn/dev/fdc/fdc.c#2 integrate
.. //depot/projects/tcpecn/dev/gem/if_gem.c#3 integrate
.. //depot/projects/tcpecn/dev/hptrr/hptrr_osm_bsd.c#2 integrate
.. //depot/projects/tcpecn/dev/hwpmc/hwpmc_mod.c#3 integrate
.. //depot/projects/tcpecn/dev/if_ndis/if_ndis.c#3 integrate
.. //depot/projects/tcpecn/dev/iir/iir.c#2 integrate
.. //depot/projects/tcpecn/dev/md/md.c#2 integrate
.. //depot/projects/tcpecn/dev/mii/brgphy.c#2 integrate
.. //depot/projects/tcpecn/dev/msk/if_msk.c#3 integrate
.. //depot/projects/tcpecn/dev/mxge/eth_z8e.h#2 integrate
.. //depot/projects/tcpecn/dev/mxge/ethp_z8e.h#2 integrate
.. //depot/projects/tcpecn/dev/mxge/if_mxge.c#2 integrate
.. //depot/projects/tcpecn/dev/mxge/if_mxge_var.h#2 integrate
.. //depot/projects/tcpecn/dev/mxge/mxge_lro.c#2 integrate
.. //depot/projects/tcpecn/dev/mxge/mxge_mcp.h#2 integrate
.. //depot/projects/tcpecn/dev/mxge/mxge_rss_eth_z8e.c#1 branch
.. //depot/projects/tcpecn/dev/mxge/mxge_rss_ethp_z8e.c#1 branch
.. //depot/projects/tcpecn/dev/mxge/rss_eth_z8e.h#1 branch
.. //depot/projects/tcpecn/dev/mxge/rss_ethp_z8e.h#1 branch
.. //depot/projects/tcpecn/dev/nfe/if_nfe.c#2 integrate
.. //depot/projects/tcpecn/dev/pci/pci_user.c#3 integrate
.. //depot/projects/tcpecn/dev/ppbus/ppbconf.c#2 integrate
.. //depot/projects/tcpecn/dev/ppbus/ppbconf.h#2 integrate
.. //depot/projects/tcpecn/dev/puc/pucdata.c#2 integrate
.. //depot/projects/tcpecn/dev/re/if_re.c#3 integrate
.. //depot/projects/tcpecn/dev/sf/if_sf.c#1 branch
.. //depot/projects/tcpecn/dev/sf/if_sfreg.h#1 branch
.. //depot/projects/tcpecn/dev/sf/starfire_rx.h#1 branch
.. //depot/projects/tcpecn/dev/sf/starfire_tx.h#1 branch
.. //depot/projects/tcpecn/dev/stge/if_stge.c#2 integrate
.. //depot/projects/tcpecn/dev/stge/if_stgereg.h#2 integrate
.. //depot/projects/tcpecn/dev/usb/ehci.c#2 integrate
.. //depot/projects/tcpecn/dev/usb/if_udav.c#2 integrate
.. //depot/projects/tcpecn/dev/wpi/if_wpi.c#3 integrate
.. //depot/projects/tcpecn/fs/cd9660/cd9660_lookup.c#2 integrate
.. //depot/projects/tcpecn/fs/cd9660/cd9660_vfsops.c#2 integrate
.. //depot/projects/tcpecn/fs/coda/cnode.h#2 integrate
.. //depot/projects/tcpecn/fs/coda/coda_namecache.h#2 integrate
.. //depot/projects/tcpecn/fs/coda/coda_psdev.c#2 integrate
.. //depot/projects/tcpecn/fs/coda/coda_vfsops.c#2 integrate
.. //depot/projects/tcpecn/fs/coda/coda_vnops.c#2 integrate
.. //depot/projects/tcpecn/fs/devfs/devfs_devs.c#2 integrate
.. //depot/projects/tcpecn/fs/devfs/devfs_vfsops.c#2 integrate
.. //depot/projects/tcpecn/fs/devfs/devfs_vnops.c#3 integrate
.. //depot/projects/tcpecn/fs/fdescfs/fdesc_vfsops.c#2 integrate
.. //depot/projects/tcpecn/fs/fdescfs/fdesc_vnops.c#2 integrate
.. //depot/projects/tcpecn/fs/fifofs/fifo_vnops.c#3 integrate
.. //depot/projects/tcpecn/fs/hpfs/hpfs_subr.h#2 integrate
.. //depot/projects/tcpecn/fs/hpfs/hpfs_vfsops.c#3 integrate
.. //depot/projects/tcpecn/fs/hpfs/hpfs_vnops.c#2 integrate
.. //depot/projects/tcpecn/fs/msdosfs/msdosfs_lookup.c#2 integrate
.. //depot/projects/tcpecn/fs/msdosfs/msdosfs_vfsops.c#2 integrate
.. //depot/projects/tcpecn/fs/msdosfs/msdosfs_vnops.c#2 integrate
.. //depot/projects/tcpecn/fs/ntfs/ntfs_subr.c#2 integrate
.. //depot/projects/tcpecn/fs/ntfs/ntfs_vfsops.c#2 integrate
.. //depot/projects/tcpecn/fs/ntfs/ntfs_vnops.c#2 integrate
.. //depot/projects/tcpecn/fs/nullfs/null_subr.c#2 integrate
.. //depot/projects/tcpecn/fs/nullfs/null_vfsops.c#2 integrate
.. //depot/projects/tcpecn/fs/nullfs/null_vnops.c#2 integrate
.. //depot/projects/tcpecn/fs/nwfs/nwfs_node.c#2 integrate
.. //depot/projects/tcpecn/fs/nwfs/nwfs_vfsops.c#2 integrate
.. //depot/projects/tcpecn/fs/nwfs/nwfs_vnops.c#2 integrate
.. //depot/projects/tcpecn/fs/portalfs/portal_vfsops.c#2 integrate
.. //depot/projects/tcpecn/fs/portalfs/portal_vnops.c#2 integrate
.. //depot/projects/tcpecn/fs/procfs/procfs.c#2 integrate
.. //depot/projects/tcpecn/fs/procfs/procfs_map.c#2 integrate
.. //depot/projects/tcpecn/fs/pseudofs/pseudofs_vncache.c#2 integrate
.. //depot/projects/tcpecn/fs/pseudofs/pseudofs_vnops.c#2 integrate
.. //depot/projects/tcpecn/fs/smbfs/smbfs_io.c#2 integrate
.. //depot/projects/tcpecn/fs/smbfs/smbfs_node.c#2 integrate
.. //depot/projects/tcpecn/fs/smbfs/smbfs_vfsops.c#2 integrate
.. //depot/projects/tcpecn/fs/smbfs/smbfs_vnops.c#2 integrate
.. //depot/projects/tcpecn/fs/tmpfs/tmpfs_subr.c#3 integrate
.. //depot/projects/tcpecn/fs/tmpfs/tmpfs_vfsops.c#3 integrate
.. //depot/projects/tcpecn/fs/tmpfs/tmpfs_vnops.c#3 integrate
.. //depot/projects/tcpecn/fs/udf/udf_vfsops.c#3 integrate
.. //depot/projects/tcpecn/fs/udf/udf_vnops.c#2 integrate
.. //depot/projects/tcpecn/fs/unionfs/union_subr.c#3 integrate
.. //depot/projects/tcpecn/fs/unionfs/union_vfsops.c#2 integrate
.. //depot/projects/tcpecn/fs/unionfs/union_vnops.c#3 integrate
.. //depot/projects/tcpecn/gnu/fs/ext2fs/ext2_lookup.c#2 integrate
.. //depot/projects/tcpecn/gnu/fs/ext2fs/ext2_vfsops.c#2 integrate
.. //depot/projects/tcpecn/gnu/fs/ext2fs/ext2_vnops.c#2 integrate
.. //depot/projects/tcpecn/gnu/fs/ext2fs/fs.h#2 integrate
.. //depot/projects/tcpecn/gnu/fs/reiserfs/reiserfs_inode.c#2 integrate
.. //depot/projects/tcpecn/gnu/fs/reiserfs/reiserfs_namei.c#2 integrate
.. //depot/projects/tcpecn/gnu/fs/reiserfs/reiserfs_vfsops.c#2 integrate
.. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_buf.c#2 integrate
.. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_buf.h#2 integrate
.. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#2 integrate
.. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_mountops.c#2 integrate
.. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_super.c#2 integrate
.. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_vnode.c#2 integrate
.. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_vnops.c#2 integrate
.. //depot/projects/tcpecn/i386/i386/pmap.c#5 integrate
.. //depot/projects/tcpecn/i386/ibcs2/ibcs2_misc.c#2 integrate
.. //depot/projects/tcpecn/i386/ibcs2/imgact_coff.c#2 integrate
.. //depot/projects/tcpecn/i386/include/ieeefp.h#2 integrate
.. //depot/projects/tcpecn/i386/include/pmap.h#3 integrate
.. //depot/projects/tcpecn/i386/isa/clock.c#2 integrate
.. //depot/projects/tcpecn/i386/linux/imgact_linux.c#2 integrate
.. //depot/projects/tcpecn/kern/genassym.sh#2 integrate
.. //depot/projects/tcpecn/kern/imgact_aout.c#2 integrate
.. //depot/projects/tcpecn/kern/imgact_elf.c#4 integrate
.. //depot/projects/tcpecn/kern/imgact_gzip.c#2 integrate
.. //depot/projects/tcpecn/kern/init_main.c#3 integrate
.. //depot/projects/tcpecn/kern/init_sysent.c#3 integrate
.. //depot/projects/tcpecn/kern/kern_acct.c#2 integrate
.. //depot/projects/tcpecn/kern/kern_alq.c#2 integrate
.. //depot/projects/tcpecn/kern/kern_cpu.c#2 integrate
.. //depot/projects/tcpecn/kern/kern_descrip.c#4 integrate
.. //depot/projects/tcpecn/kern/kern_exec.c#4 integrate
.. //depot/projects/tcpecn/kern/kern_exit.c#2 integrate
.. //depot/projects/tcpecn/kern/kern_jail.c#2 integrate
.. //depot/projects/tcpecn/kern/kern_ktrace.c#2 integrate
.. //depot/projects/tcpecn/kern/kern_linker.c#3 integrate
.. //depot/projects/tcpecn/kern/kern_lock.c#4 integrate
.. //depot/projects/tcpecn/kern/kern_mib.c#4 integrate
.. //depot/projects/tcpecn/kern/kern_proc.c#4 integrate
.. //depot/projects/tcpecn/kern/kern_resource.c#3 integrate
.. //depot/projects/tcpecn/kern/kern_rwlock.c#4 integrate
.. //depot/projects/tcpecn/kern/kern_shutdown.c#3 integrate
.. //depot/projects/tcpecn/kern/kern_sig.c#3 integrate
.. //depot/projects/tcpecn/kern/kern_synch.c#2 integrate
.. //depot/projects/tcpecn/kern/kern_time.c#2 integrate
.. //depot/projects/tcpecn/kern/link_elf.c#2 integrate
.. //depot/projects/tcpecn/kern/link_elf_obj.c#2 integrate
.. //depot/projects/tcpecn/kern/sched_ule.c#4 integrate
.. //depot/projects/tcpecn/kern/syscalls.c#3 integrate
.. //depot/projects/tcpecn/kern/syscalls.master#3 integrate
.. //depot/projects/tcpecn/kern/systrace_args.c#3 integrate
.. //depot/projects/tcpecn/kern/tty_cons.c#3 integrate
.. //depot/projects/tcpecn/kern/tty_pty.c#2 integrate
.. //depot/projects/tcpecn/kern/uipc_mbuf.c#2 integrate
.. //depot/projects/tcpecn/kern/uipc_mqueue.c#3 integrate
.. //depot/projects/tcpecn/kern/uipc_shm.c#2 integrate
.. //depot/projects/tcpecn/kern/uipc_syscalls.c#3 integrate
.. //depot/projects/tcpecn/kern/uipc_usrreq.c#3 integrate
.. //depot/projects/tcpecn/kern/vfs_acl.c#2 integrate
.. //depot/projects/tcpecn/kern/vfs_aio.c#2 integrate
.. //depot/projects/tcpecn/kern/vfs_bio.c#4 integrate
.. //depot/projects/tcpecn/kern/vfs_cache.c#2 integrate
.. //depot/projects/tcpecn/kern/vfs_default.c#2 integrate
.. //depot/projects/tcpecn/kern/vfs_extattr.c#2 integrate
.. //depot/projects/tcpecn/kern/vfs_lookup.c#2 integrate
.. //depot/projects/tcpecn/kern/vfs_mount.c#4 integrate
.. //depot/projects/tcpecn/kern/vfs_subr.c#4 integrate
.. //depot/projects/tcpecn/kern/vfs_syscalls.c#3 integrate
.. //depot/projects/tcpecn/kern/vfs_vnops.c#3 integrate
.. //depot/projects/tcpecn/kern/vnode_if.src#2 integrate
.. //depot/projects/tcpecn/modules/cxgb/cxgb/Makefile#2 integrate
.. //depot/projects/tcpecn/modules/mxge/Makefile#2 integrate
.. //depot/projects/tcpecn/modules/mxge/mxge_rss_eth_z8e/Makefile#1 branch
.. //depot/projects/tcpecn/modules/mxge/mxge_rss_ethp_z8e/Makefile#1 branch
.. //depot/projects/tcpecn/modules/sf/Makefile#2 integrate
.. //depot/projects/tcpecn/net/if_bridge.c#3 integrate
.. //depot/projects/tcpecn/netgraph/ng_ppp.c#2 integrate
.. //depot/projects/tcpecn/netinet/tcp_usrreq.c#5 integrate
.. //depot/projects/tcpecn/netinet6/in6_src.c#4 integrate
.. //depot/projects/tcpecn/nfs4client/nfs4_vfsops.c#2 integrate
.. //depot/projects/tcpecn/nfs4client/nfs4_vnops.c#2 integrate
.. //depot/projects/tcpecn/nfsclient/nfs_socket.c#2 integrate
.. //depot/projects/tcpecn/nfsclient/nfs_subs.c#2 integrate
.. //depot/projects/tcpecn/nfsclient/nfs_vfsops.c#2 integrate
.. //depot/projects/tcpecn/nfsclient/nfs_vnops.c#2 integrate
.. //depot/projects/tcpecn/nfsserver/nfs_serv.c#2 integrate
.. //depot/projects/tcpecn/nfsserver/nfs_srvsubs.c#2 integrate
.. //depot/projects/tcpecn/pci/amdsmb.c#2 integrate
.. //depot/projects/tcpecn/pci/if_rlreg.h#4 integrate
.. //depot/projects/tcpecn/pci/if_sf.c#2 delete
.. //depot/projects/tcpecn/pci/if_sfreg.h#2 delete
.. //depot/projects/tcpecn/pci/nfsmb.c#2 integrate
.. //depot/projects/tcpecn/security/audit/audit_arg.c#2 integrate
.. //depot/projects/tcpecn/security/audit/audit_bsm.c#2 integrate
.. //depot/projects/tcpecn/security/audit/audit_bsm_klib.c#2 integrate
.. //depot/projects/tcpecn/security/audit/audit_syscalls.c#2 integrate
.. //depot/projects/tcpecn/security/audit/audit_worker.c#2 integrate
.. //depot/projects/tcpecn/security/mac/mac_process.c#2 integrate
.. //depot/projects/tcpecn/security/mac/mac_syscalls.c#2 integrate
.. //depot/projects/tcpecn/sparc64/conf/GENERIC#5 integrate
.. //depot/projects/tcpecn/sys/buf.h#2 integrate
.. //depot/projects/tcpecn/sys/lockmgr.h#3 integrate
.. //depot/projects/tcpecn/sys/mbuf.h#3 integrate
.. //depot/projects/tcpecn/sys/param.h#5 integrate
.. //depot/projects/tcpecn/sys/pmc.h#3 integrate
.. //depot/projects/tcpecn/sys/proc.h#3 integrate
.. //depot/projects/tcpecn/sys/signal.h#3 integrate
.. //depot/projects/tcpecn/sys/syscall.h#3 integrate
.. //depot/projects/tcpecn/sys/syscall.mk#3 integrate
.. //depot/projects/tcpecn/sys/sysproto.h#3 integrate
.. //depot/projects/tcpecn/sys/time.h#3 integrate
.. //depot/projects/tcpecn/sys/user.h#3 integrate
.. //depot/projects/tcpecn/sys/vnode.h#2 integrate
.. //depot/projects/tcpecn/ufs/ffs/ffs_rawread.c#2 integrate
.. //depot/projects/tcpecn/ufs/ffs/ffs_snapshot.c#2 integrate
.. //depot/projects/tcpecn/ufs/ffs/ffs_softdep.c#2 integrate
.. //depot/projects/tcpecn/ufs/ffs/ffs_vfsops.c#2 integrate
.. //depot/projects/tcpecn/ufs/ffs/ffs_vnops.c#3 integrate
.. //depot/projects/tcpecn/ufs/ufs/ufs_extattr.c#2 integrate
.. //depot/projects/tcpecn/ufs/ufs/ufs_lookup.c#2 integrate
.. //depot/projects/tcpecn/ufs/ufs/ufs_quota.c#2 integrate
.. //depot/projects/tcpecn/ufs/ufs/ufs_vnops.c#2 integrate
.. //depot/projects/tcpecn/vm/swap_pager.c#3 integrate
.. //depot/projects/tcpecn/vm/vm_contig.c#3 integrate
.. //depot/projects/tcpecn/vm/vm_kern.c#3 integrate
.. //depot/projects/tcpecn/vm/vm_object.c#3 integrate
.. //depot/projects/tcpecn/vm/vnode_pager.c#2 integrate

Differences ...

==== //depot/projects/tcpecn/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/Makefile,v 1.45 2007/07/12 21:04:55 rwatson Exp $
+# $FreeBSD: src/sys/Makefile,v 1.46 2008/01/23 08:50:34 maxim Exp $
 
 .include <bsd.own.mk>
 
@@ -8,11 +8,11 @@
 .endif
 
 # Directories to include in cscope name file and TAGS.
-CSCOPEDIRS=	bsm cam compat conf contrib crypto ddb dev fs geom gnu \
+CSCOPEDIRS=	boot bsm cam compat conf contrib crypto ddb dev fs gdb geom gnu \
 		i4b isa kern libkern modules net net80211 netatalk netatm \
 		netgraph netinet netinet6 netipsec netipx netnatm netncp \
-		netsmb nfs nfsclient nfs4client rpc pccard pci security sys \
-		ufs vm ${ARCHDIR}
+		netsmb nfs nfs4client nfsclient nfsserver opencrypto pccard \
+		pci rpc security sys ufs vm ${ARCHDIR}
 
 ARCHDIR	?=	${MACHINE}
 

==== //depot/projects/tcpecn/amd64/amd64/pmap.c#5 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.603 2008/01/08 08:30:30 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.605 2008/01/17 18:25:51 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -149,11 +149,7 @@
 #define PMAP_SHPGPERPROC 200
 #endif
 
-#if defined(DIAGNOSTIC)
-#define PMAP_DIAGNOSTIC
-#endif
-
-#if !defined(PMAP_DIAGNOSTIC)
+#if !defined(DIAGNOSTIC)
 #define PMAP_INLINE	__gnu89_inline
 #else
 #define PMAP_INLINE
@@ -2249,12 +2245,9 @@
 	boolean_t invlva;
 
 	va = trunc_page(va);
-#ifdef PMAP_DIAGNOSTIC
-	if (va > VM_MAX_KERNEL_ADDRESS)
-		panic("pmap_enter: toobig");
-	if ((va >= UPT_MIN_ADDRESS) && (va < UPT_MAX_ADDRESS))
-		panic("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", va);
-#endif
+	KASSERT(va <= VM_MAX_KERNEL_ADDRESS, ("pmap_enter: toobig"));
+	KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS,
+	    ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", va));
 
 	mpte = NULL;
 
@@ -2268,19 +2261,9 @@
 	if (va < VM_MAXUSER_ADDRESS) {
 		mpte = pmap_allocpte(pmap, va, M_WAITOK);
 	}
-#if 0 && defined(PMAP_DIAGNOSTIC)
-	else {
-		pd_entry_t *pdeaddr = pmap_pde(pmap, va);
-		origpte = *pdeaddr;
-		if ((origpte & PG_V) == 0) { 
-			panic("pmap_enter: invalid kernel page table page, pde=%p, va=%p\n",
-				origpte, va);
-		}
-	}
-#endif
 
 	pde = pmap_pde(pmap, va);
-	if (pde != NULL) {
+	if (pde != NULL && (*pde & PG_V) != 0) {
 		if ((*pde & PG_PS) != 0)
 			panic("pmap_enter: attempted pmap_enter on 2MB page");
 		pte = pmap_pde_to_pte(pde, va);
@@ -2291,7 +2274,7 @@
 	 * Page Directory table entry not valid, we need a new PT page
 	 */
 	if (pte == NULL)
-		panic("pmap_enter: invalid page directory va=%#lx\n", va);
+		panic("pmap_enter: invalid page directory va=%#lx", va);
 
 	pa = VM_PAGE_TO_PHYS(m);
 	om = NULL;
@@ -2745,8 +2728,8 @@
 		pdp_entry_t *pdpe;
 		pd_entry_t srcptepaddr, *pde;
 
-		if (addr >= UPT_MIN_ADDRESS)
-			panic("pmap_copy: invalid to pmap_copy page tables");
+		KASSERT(addr < UPT_MIN_ADDRESS,
+		    ("pmap_copy: invalid to pmap_copy page tables"));
 
 		pml4e = pmap_pml4e(src_pmap, addr);
 		if ((*pml4e & PG_V) == 0) {
@@ -2784,8 +2767,8 @@
 		}
 
 		srcmpte = PHYS_TO_VM_PAGE(srcptepaddr & PG_FRAME);
-		if (srcmpte->wire_count == 0)
-			panic("pmap_copy: source page table page is unused");
+		KASSERT(srcmpte->wire_count > 0,
+		    ("pmap_copy: source page table page is unused"));
 
 		if (va_next > end_addr)
 			va_next = end_addr;
@@ -3104,7 +3087,7 @@
 	PMAP_LOCK(pmap);
 	pde = pmap_pde(pmap, addr);
 	if (pde != NULL && (*pde & PG_V)) {
-		pte = vtopte(addr);
+		pte = pmap_pde_to_pte(pde, addr);
 		rv = (*pte & PG_V) == 0;
 	}
 	PMAP_UNLOCK(pmap);

==== //depot/projects/tcpecn/amd64/include/_types.h#2 (text+ko) ====

@@ -33,7 +33,7 @@
  *
  *	From: @(#)ansi.h	8.2 (Berkeley) 1/4/94
  *	From: @(#)types.h	8.3 (Berkeley) 1/5/94
- * $FreeBSD: src/sys/amd64/include/_types.h,v 1.11 2006/01/09 06:05:56 imp Exp $
+ * $FreeBSD: src/sys/amd64/include/_types.h,v 1.12 2008/01/17 13:12:46 bde Exp $
  */
 
 #ifndef _MACHINE__TYPES_H_
@@ -64,7 +64,7 @@
 typedef	unsigned int	__cpumask_t;
 typedef	__int64_t	__critical_t;
 typedef	double		__double_t;
-typedef	double		__float_t;
+typedef	float		__float_t;
 typedef	__int64_t	__intfptr_t;
 typedef	__int64_t	__intmax_t;
 typedef	__int64_t	__intptr_t;

==== //depot/projects/tcpecn/amd64/include/float.h#2 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)float.h	7.1 (Berkeley) 5/8/90
- * $FreeBSD: src/sys/amd64/include/float.h,v 1.15 2005/01/05 20:17:20 imp Exp $
+ * $FreeBSD: src/sys/amd64/include/float.h,v 1.16 2008/01/17 13:12:46 bde Exp $
  */
 
 #ifndef _MACHINE_FLOAT_H_
@@ -42,7 +42,7 @@
 #define FLT_RADIX	2		/* b */
 #define FLT_ROUNDS	__flt_rounds()
 #if __ISO_C_VISIBLE >= 1999
-#define	FLT_EVAL_METHOD	(-1)		/* i387 semantics are...interesting */
+#define	FLT_EVAL_METHOD	0		/* no promotions */
 #define	DECIMAL_DIG	21		/* max precision in decimal digits */
 #endif
 

==== //depot/projects/tcpecn/amd64/include/ieeefp.h#2 (text+ko) ====

@@ -32,32 +32,33 @@
  * SUCH DAMAGE.
  *
  * 	from: @(#) ieeefp.h 	1.0 (Berkeley) 9/23/93
- * $FreeBSD: src/sys/amd64/include/ieeefp.h,v 1.14 2005/04/12 23:12:00 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/ieeefp.h,v 1.19 2008/01/11 17:11:32 bde Exp $
  */
 
+#ifndef _MACHINE_IEEEFP_H_
+#define _MACHINE_IEEEFP_H_
+
 /*
- *	IEEE floating point type and constant definitions.
+ * IEEE floating point type, constant and function definitions.
+ * XXX: {FP,SSE}*FLD and {FP,SSE}*OFF are undocumented pollution.
  */
 
-#ifndef _MACHINE_IEEEFP_H_
-#define _MACHINE_IEEEFP_H_
-
 #ifndef _SYS_CDEFS_H_
 #error this file needs sys/cdefs.h as a prerequisite
 #endif
 
 /*
- * FP rounding modes
+ * Rounding modes.
  */
 typedef enum {
 	FP_RN=0,	/* round to nearest */
-	FP_RM,		/* round down to minus infinity */
-	FP_RP,		/* round up to plus infinity */
+	FP_RM,		/* round down towards minus infinity */
+	FP_RP,		/* round up towards plus infinity */
 	FP_RZ		/* truncate */
 } fp_rnd_t;
 
 /*
- * FP precision modes
+ * Precision (i.e., rounding precision) modes.
  */
 typedef enum {
 	FP_PS=0,	/* 24 bit (single-precision) */
@@ -69,7 +70,7 @@
 #define fp_except_t	int
 
 /*
- * FP exception masks
+ * Exception bit masks.
  */
 #define FP_X_INV	0x01	/* invalid operation */
 #define FP_X_DNML	0x02	/* denormal */
@@ -80,23 +81,19 @@
 #define FP_X_STK	0x40	/* stack fault */
 
 /*
- * FP registers
+ * FPU control word bit-field masks.
  */
-#define FP_MSKS_REG	0	/* exception masks */
-#define FP_PRC_REG	0	/* precision */
-#define FP_RND_REG	0	/* direction */
-#define FP_STKY_REG	1	/* sticky flags */
+#define FP_MSKS_FLD	0x3f	/* exception masks field */
+#define FP_PRC_FLD	0x300	/* precision control field */
+#define	FP_RND_FLD	0xc00	/* rounding control field */
 
 /*
- * FP register bit field masks
+ * FPU status word bit-field masks.
  */
-#define FP_MSKS_FLD	0x3f	/* exception masks field */
-#define FP_PRC_FLD	0x300	/* precision control field */
-#define FP_RND_FLD	0xc00	/* round control field */
 #define FP_STKY_FLD	0x3f	/* sticky flags field */
 
 /*
- * SSE mxcsr register bit field masks
+ * SSE mxcsr register bit-field masks.
  */
 #define	SSE_STKY_FLD	0x3f	/* exception flags */
 #define	SSE_DAZ_FLD	0x40	/* Denormals are zero */
@@ -105,15 +102,19 @@
 #define	SSE_FZ_FLD	0x8000	/* flush to zero on underflow */
 
 /*
- * FP register bit field offsets
+ * FPU control word bit-field offsets (shift counts).
  */
 #define FP_MSKS_OFF	0	/* exception masks offset */
 #define FP_PRC_OFF	8	/* precision control offset */
-#define FP_RND_OFF	10	/* round control offset */
+#define	FP_RND_OFF	10	/* rounding control offset */
+
+/*
+ * FPU status word bit-field offsets (shift counts).
+ */
 #define FP_STKY_OFF	0	/* sticky flags offset */
 
 /*
- * SSE mxcsr register bit field offsets
+ * SSE mxcsr register bit-field offsets (shift counts).
  */
 #define	SSE_STKY_OFF	0	/* exception flags offset */
 #define	SSE_DAZ_OFF	6	/* DAZ exception mask offset */
@@ -121,18 +122,45 @@
 #define	SSE_RND_OFF	13	/* rounding control offset */
 #define	SSE_FZ_OFF	15	/* flush to zero offset */
 
-#if defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE__) \
-    && !defined(__cplusplus)
+#ifdef __GNUCLIKE_ASM
 
+#define	__fldcw(addr)	__asm __volatile("fldcw %0" : : "m" (*(addr)))
 #define	__fldenv(addr)	__asm __volatile("fldenv %0" : : "m" (*(addr)))
+#define	__fnstcw(addr)	__asm __volatile("fnstcw %0" : "=m" (*(addr)))
 #define	__fnstenv(addr)	__asm __volatile("fnstenv %0" : "=m" (*(addr)))
-#define	__fldcw(addr)	__asm __volatile("fldcw %0" : : "m" (*(addr)))
-#define	__fnstcw(addr)	__asm __volatile("fnstcw %0" : "=m" (*(addr)))
 #define	__fnstsw(addr)	__asm __volatile("fnstsw %0" : "=m" (*(addr)))
 #define	__ldmxcsr(addr)	__asm __volatile("ldmxcsr %0" : : "m" (*(addr)))
 #define	__stmxcsr(addr)	__asm __volatile("stmxcsr %0" : "=m" (*(addr)))
 
 /*
+ * Load the control word.  Be careful not to trap if there is a currently
+ * unmasked exception (ones that will become freshly unmasked are not a
+ * problem).  This case must be handled by a save/restore of the
+ * environment or even of the full x87 state.  Accessing the environment
+ * is very inefficient, so only do it when necessary.
+ */
+static __inline void
+__fnldcw(unsigned short _cw, unsigned short _newcw)
+{
+	struct {
+		unsigned _cw;
+		unsigned _other[6];
+	} _env;
+	unsigned short _sw;
+
+	if ((_cw & FP_MSKS_FLD) != FP_MSKS_FLD) {
+		__fnstsw(&_sw);
+		if (((_sw & ~_cw) & FP_STKY_FLD) != 0) {
+			__fnstenv(&_env);
+			_env._cw = _newcw;
+			__fldenv(&_env);
+			return;
+		}
+	}
+	__fldcw(&_newcw);
+}
+
+/*
  * General notes about conflicting SSE vs FP status bits.
  * This code assumes that software will not fiddle with the control
  * bits of the SSE and x87 in such a way to get them out of sync and
@@ -143,28 +171,27 @@
  * merge the two together.  I think.
  */
 
-/* Set rounding control */
-static __inline__ fp_rnd_t
+static __inline fp_rnd_t
 __fpgetround(void)
 {
 	unsigned short _cw;
 
 	__fnstcw(&_cw);
-	return ((_cw & FP_RND_FLD) >> FP_RND_OFF);
+	return ((fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF));
 }
 
-static __inline__ fp_rnd_t
+static __inline fp_rnd_t
 __fpsetround(fp_rnd_t _m)
 {
-	unsigned short _cw;
-	unsigned int _mxcsr;
 	fp_rnd_t _p;
+	unsigned _mxcsr;
+	unsigned short _cw, _newcw;
 
 	__fnstcw(&_cw);
-	_p = (_cw & FP_RND_FLD) >> FP_RND_OFF;
-	_cw &= ~FP_RND_FLD;
-	_cw |= (_m << FP_RND_OFF) & FP_RND_FLD;
-	__fldcw(&_cw);
+	_p = (fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF);
+	_newcw = _cw & ~FP_RND_FLD;
+	_newcw |= (_m << FP_RND_OFF) & FP_RND_FLD;
+	__fnldcw(_cw, _newcw);
 	__stmxcsr(&_mxcsr);
 	_mxcsr &= ~SSE_RND_FLD;
 	_mxcsr |= (_m << SSE_RND_OFF) & SSE_RND_FLD;
@@ -173,108 +200,104 @@
 }
 
 /*
- * Set precision for fadd/fsub/fsqrt etc x87 instructions
+ * Get or set the rounding precision for x87 arithmetic operations.
  * There is no equivalent SSE mode or control.
  */
-static __inline__ fp_prec_t
+
+static __inline fp_prec_t
 __fpgetprec(void)
 {
 	unsigned short _cw;
 
 	__fnstcw(&_cw);
-	return ((_cw & FP_PRC_FLD) >> FP_PRC_OFF);
+	return ((fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF));
 }
 
-static __inline__ fp_prec_t
-__fpsetprec(fp_rnd_t _m)
+static __inline fp_prec_t
+__fpsetprec(fp_prec_t _m)
 {
-	unsigned short _cw;
 	fp_prec_t _p;
+	unsigned short _cw, _newcw;
 
 	__fnstcw(&_cw);
-	_p = (_cw & FP_PRC_FLD) >> FP_PRC_OFF;
-	_cw &= ~FP_PRC_FLD;
-	_cw |= (_m << FP_PRC_OFF) & FP_PRC_FLD;
-	__fldcw(&_cw);
+	_p = (fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF);
+	_newcw = _cw & ~FP_PRC_FLD;
+	_newcw |= (_m << FP_PRC_OFF) & FP_PRC_FLD;
+	__fnldcw(_cw, _newcw);
 	return (_p);
 }
 
 /*
- * Look at the exception masks
- * Note that x87 masks are inverse of the fp*() functions
- * API.  ie: mask = 1 means disable for x87 and SSE, but
- * for the fp*() api, mask = 1 means enabled.
+ * Get or set the exception mask.
+ * Note that the x87 mask bits are inverted by the API -- a mask bit of 1
+ * means disable for x87 and SSE, but for fp*mask() it means enable.
  */
-static __inline__ fp_except_t
+
+static __inline fp_except_t
 __fpgetmask(void)
 {
 	unsigned short _cw;
 
 	__fnstcw(&_cw);
-	return ((~_cw) & FP_MSKS_FLD);
+	return ((~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF);
 }
 
-static __inline__ fp_except_t
+static __inline fp_except_t
 __fpsetmask(fp_except_t _m)
 {
-	unsigned short _cw;
-	unsigned int _mxcsr;
 	fp_except_t _p;
+	unsigned _mxcsr;
+	unsigned short _cw, _newcw;
 
 	__fnstcw(&_cw);
-	_p = (~_cw) & FP_MSKS_FLD;
-	_cw &= ~FP_MSKS_FLD;
-	_cw |= (~_m) & FP_MSKS_FLD;
-	__fldcw(&_cw);
+	_p = (~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF;
+	_newcw = _cw & ~FP_MSKS_FLD;
+	_newcw |= (~_m << FP_MSKS_OFF) & FP_MSKS_FLD;
+	__fnldcw(_cw, _newcw);
 	__stmxcsr(&_mxcsr);
 	/* XXX should we clear non-ieee SSE_DAZ_FLD and SSE_FZ_FLD ? */
 	_mxcsr &= ~SSE_MSKS_FLD;
-	_mxcsr |= ((~_m) << SSE_MSKS_OFF) & SSE_MSKS_FLD;
+	_mxcsr |= (~_m << SSE_MSKS_OFF) & SSE_MSKS_FLD;
 	__ldmxcsr(&_mxcsr);
 	return (_p);
 }
 
-/* See which sticky exceptions are pending, and reset them */
-static __inline__ fp_except_t
+static __inline fp_except_t
 __fpgetsticky(void)
 {
+	unsigned _ex, _mxcsr;
 	unsigned short _sw;
-	unsigned int _mxcsr;
-	fp_except_t _ex;
 
 	__fnstsw(&_sw);
-	_ex = _sw & FP_STKY_FLD;
+	_ex = (_sw & FP_STKY_FLD) >> FP_STKY_OFF;
 	__stmxcsr(&_mxcsr);
-	_ex |= _mxcsr & SSE_STKY_FLD;
-	return (_ex);
+	_ex |= (_mxcsr & SSE_STKY_FLD) >> SSE_STKY_OFF;
+	return ((fp_except_t)_ex);
 }
 
-#endif /* __GNUCLIKE_ASM && __CC_SUPPORTS___INLINE__ && !__cplusplus */
+#endif /* __GNUCLIKE_ASM */
 
-#if !defined(__IEEEFP_NOINLINES__) && !defined(__cplusplus) \
-    && defined(__GNUCLIKE_ASM) && defined(__CC_SUPPORTS___INLINE__)
+#if !defined(__IEEEFP_NOINLINES__) && defined(__GNUCLIKE_ASM)
 
+#define	fpgetmask()	__fpgetmask()
+#define	fpgetprec()	__fpgetprec()
 #define	fpgetround()	__fpgetround()
-#define	fpsetround(_m)	__fpsetround(_m)
-#define	fpgetprec()	__fpgetprec()
-#define	fpsetprec(_m)	__fpsetprec(_m)
-#define	fpgetmask()	__fpgetmask()
-#define	fpsetmask(_m)	__fpsetmask(_m)
 #define	fpgetsticky()	__fpgetsticky()
+#define	fpsetmask(m)	__fpsetmask(m)
+#define	fpsetprec(m)	__fpsetprec(m)
+#define	fpsetround(m)	__fpsetround(m)
 
 /* Suppress prototypes in the MI header. */
 #define	_IEEEFP_INLINED_	1
 
-#else /* !__IEEEFP_NOINLINES__ && !__cplusplus && __GNUCLIKE_ASM
-         && __CC_SUPPORTS___INLINE__ */
+#else /* !(!__IEEEFP_NOINLINES__ && __GNUCLIKE_ASM) */
 
-/* Augment the userland declarations */
+/* Augment the userland declarations. */
 __BEGIN_DECLS
-extern fp_prec_t fpgetprec(void);
-extern fp_prec_t fpsetprec(fp_prec_t);
+fp_prec_t	fpgetprec(void);
+fp_prec_t	fpsetprec(fp_prec_t);
 __END_DECLS
 
-#endif /* !__IEEEFP_NOINLINES__ && !__cplusplus && __GNUCLIKE_ASM
-          && __CC_SUPPORTS___INLINE__ */
+#endif /* !__IEEEFP_NOINLINES__ && __GNUCLIKE_ASM */
 
 #endif /* !_MACHINE_IEEEFP_H_ */

==== //depot/projects/tcpecn/amd64/isa/clock.c#2 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.235 2007/10/26 03:23:53 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.236 2008/01/17 18:59:38 jhb Exp $");
 
 /*
  * Routines to handle clock hardware.
@@ -286,6 +286,7 @@
 		start = rdtsc();
 		end = start + (tsc_freq * n) / 1000000;
 		do {
+			cpu_spinwait();
 			now = rdtsc();
 		} while (now < end || (now > start && end < start));
 		sched_unpin();

==== //depot/projects/tcpecn/arm/arm/pmap.c#4 (text+ko) ====

@@ -147,7 +147,7 @@
 #include "opt_vm.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.96 2008/01/03 07:34:33 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.97 2008/01/17 12:41:59 cognet Exp $");
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
@@ -3828,7 +3828,8 @@
 	bzero(&pmap->pm_stats, sizeof pmap->pm_stats);
 	pmap->pm_stats.resident_count = 1;
 	if (vector_page < KERNBASE) {
-		pmap_enter(pmap, vector_page, PHYS_TO_VM_PAGE(systempage.pv_pa),
+		pmap_enter(pmap, vector_page, 
+		    VM_PROT_READ, PHYS_TO_VM_PAGE(systempage.pv_pa),
 		    VM_PROT_READ, 1);
 	} 
 	return (1);

==== //depot/projects/tcpecn/arm/arm/support.S#2 (text+ko) ====

@@ -23,10 +23,79 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
+/*
+ * Copyright 2003 Wasabi Systems, Inc.
+ * All rights reserved.
+ *
+ * Written by Steve C. Woodford for Wasabi Systems, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *      This product includes software developed for the NetBSD Project by
+ *      Wasabi Systems, Inc.
+ * 4. The name of Wasabi Systems, Inc. may not be used to endorse
+ *    or promote products derived from this software without specific prior
+ *    written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL WASABI SYSTEMS, INC
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 1997 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Neil A. Carson and Mark Brinicombe
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *	This product includes software developed by the NetBSD
+ *	Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
 
 #include <machine/asm.h>
 #include <machine/asmacros.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/support.S,v 1.13 2007/10/13 12:05:03 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/support.S,v 1.14 2008/01/12 21:11:43 cognet Exp $");
 
 #include "assym.s"
 

==== //depot/projects/tcpecn/arm/xscale/ixp425/if_npe.c#2 (text+ko) ====

@@ -23,7 +23,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.7 2007/11/04 21:54:52 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.8 2008/01/17 23:37:46 jhb Exp $");
 
 /*
  * Intel XScale NPE Ethernet driver.
@@ -1140,90 +1140,6 @@
 }
 
 /*
- * Defragment an mbuf chain, returning at most maxfrags separate
- * mbufs+clusters.  If this is not possible NULL is returned and
- * the original mbuf chain is left in it's present (potentially
- * modified) state.  We use two techniques: collapsing consecutive
- * mbufs and replacing consecutive mbufs by a cluster.
- */
-static struct mbuf *
-npe_defrag(struct mbuf *m0, int how, int maxfrags)
-{
-	struct mbuf *m, *n, *n2, **prev;
-	u_int curfrags;
-
-	/*
-	 * Calculate the current number of frags.
-	 */
-	curfrags = 0;
-	for (m = m0; m != NULL; m = m->m_next)
-		curfrags++;
-	/*
-	 * First, try to collapse mbufs.  Note that we always collapse
-	 * towards the front so we don't need to deal with moving the
-	 * pkthdr.  This may be suboptimal if the first mbuf has much
-	 * less data than the following.
-	 */
-	m = m0;
-again:
-	for (;;) {
-		n = m->m_next;
-		if (n == NULL)
-			break;
-		if ((m->m_flags & M_RDONLY) == 0 &&
-		    n->m_len < M_TRAILINGSPACE(m)) {
-			bcopy(mtod(n, void *), mtod(m, char *) + m->m_len,
-				n->m_len);
-			m->m_len += n->m_len;
-			m->m_next = n->m_next;
-			m_free(n);
-			if (--curfrags <= maxfrags)
-				return m0;
-		} else
-			m = n;
-	}
-	KASSERT(maxfrags > 1,
-		("maxfrags %u, but normal collapse failed", maxfrags));
-	/*
-	 * Collapse consecutive mbufs to a cluster.
-	 */
-	prev = &m0->m_next;		/* NB: not the first mbuf */
-	while ((n = *prev) != NULL) {
-		if ((n2 = n->m_next) != NULL &&
-		    n->m_len + n2->m_len < MCLBYTES) {
-			m = m_getcl(how, MT_DATA, 0);
-			if (m == NULL)
-				goto bad;
-			bcopy(mtod(n, void *), mtod(m, void *), n->m_len);
-			bcopy(mtod(n2, void *), mtod(m, char *) + n->m_len,
-				n2->m_len);
-			m->m_len = n->m_len + n2->m_len;
-			m->m_next = n2->m_next;
-			*prev = m;
-			m_free(n);
-			m_free(n2);
-			if (--curfrags <= maxfrags)	/* +1 cl -2 mbufs */
-				return m0;
-			/*
-			 * Still not there, try the normal collapse
-			 * again before we allocate another cluster.
-			 */
-			goto again;

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


More information about the p4-projects mailing list