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