Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys
Module Name: src
Committed By: joerg
Date: Fri Jan 25 21:12:15 UTC 2008
Modified Files:
src/sys/arch/alpha/conf: files.alpha
src/sys/arch/amd64/conf: Makefile.amd64 files.amd64 std.amd64 std.xen
src/sys/arch/arc/conf: files.arc
src/sys/arch/arm/conf: Makefile.arm files.arm
src/sys/arch/hppa/conf: files.hppa
src/sys/arch/i386/conf: Makefile.i386 files.i386 std.i386
src/sys/arch/m68k/conf: files.m68k
src/sys/arch/mips/conf: files.mips
src/sys/arch/powerpc/conf: files.powerpc
src/sys/arch/sh3/conf: files.sh3
src/sys/arch/sparc/conf: files.sparc
src/sys/arch/sparc64/conf: Makefile.sparc64 files.sparc64
src/sys/arch/usermode/conf: files.usermode
src/sys/arch/vax/conf: files.vax
src/sys/arch/xen/conf: Makefile.xen files.xen std.xen
src/sys/conf: files
src/sys/netinet: files.netinet in.h in4_cksum.c in_cksum.c
src/sys/netinet6: files.netinet6 in6_cksum.c
Added Files:
src/sys/arch/amd64/amd64: cpu_in_cksum.S
src/sys/arch/i386/i386: cpu_in_cksum.S
src/sys/netinet: cpu_in_cksum.c
Removed Files:
src/sys/arch/alpha/alpha: in_cksum.c
src/sys/arch/amd64/amd64: in_cksum.S
src/sys/arch/i386/i386: in_cksum.S
Log Message:
Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.
To generate a diff of this commit:
cvs rdiff -r1.14 -r0 src/sys/arch/alpha/alpha/in_cksum.c
cvs rdiff -r1.177 -r1.178 src/sys/arch/alpha/conf/files.alpha
cvs rdiff -r0 -r1.1 src/sys/arch/amd64/amd64/cpu_in_cksum.S
cvs rdiff -r1.2 -r0 src/sys/arch/amd64/amd64/in_cksum.S
cvs rdiff -r1.22 -r1.23 src/sys/arch/amd64/conf/Makefile.amd64
cvs rdiff -r1.55 -r1.56 src/sys/arch/amd64/conf/files.amd64
cvs rdiff -r1.3 -r1.4 src/sys/arch/amd64/conf/std.amd64
cvs rdiff -r1.2 -r1.3 src/sys/arch/amd64/conf/std.xen
cvs rdiff -r1.60 -r1.61 src/sys/arch/arc/conf/files.arc
cvs rdiff -r1.29 -r1.30 src/sys/arch/arm/conf/Makefile.arm
cvs rdiff -r1.87 -r1.88 src/sys/arch/arm/conf/files.arm
cvs rdiff -r1.9 -r1.10 src/sys/arch/hppa/conf/files.hppa
cvs rdiff -r1.157 -r1.158 src/sys/arch/i386/conf/Makefile.i386
cvs rdiff -r1.331 -r1.332 src/sys/arch/i386/conf/files.i386
cvs rdiff -r1.26 -r1.27 src/sys/arch/i386/conf/std.i386
cvs rdiff -r0 -r1.1 src/sys/arch/i386/i386/cpu_in_cksum.S
cvs rdiff -r1.5 -r0 src/sys/arch/i386/i386/in_cksum.S
cvs rdiff -r1.43 -r1.44 src/sys/arch/m68k/conf/files.m68k
cvs rdiff -r1.57 -r1.58 src/sys/arch/mips/conf/files.mips
cvs rdiff -r1.66 -r1.67 src/sys/arch/powerpc/conf/files.powerpc
cvs rdiff -r1.36 -r1.37 src/sys/arch/sh3/conf/files.sh3
cvs rdiff -r1.143 -r1.144 src/sys/arch/sparc/conf/files.sparc
cvs rdiff -r1.64 -r1.65 src/sys/arch/sparc64/conf/Makefile.sparc64
cvs rdiff -r1.115 -r1.116 src/sys/arch/sparc64/conf/files.sparc64
cvs rdiff -r1.1 -r1.2 src/sys/arch/usermode/conf/files.usermode
cvs rdiff -r1.105 -r1.106 src/sys/arch/vax/conf/files.vax
cvs rdiff -r1.25 -r1.26 src/sys/arch/xen/conf/Makefile.xen
cvs rdiff -r1.79 -r1.80 src/sys/arch/xen/conf/files.xen
cvs rdiff -r1.4 -r1.5 src/sys/arch/xen/conf/std.xen
cvs rdiff -r1.887 -r1.888 src/sys/conf/files
cvs rdiff -r0 -r1.1 src/sys/netinet/cpu_in_cksum.c
cvs rdiff -r1.19 -r1.20 src/sys/netinet/files.netinet
cvs rdiff -r1.82 -r1.83 src/sys/netinet/in.h
cvs rdiff -r1.14 -r1.15 src/sys/netinet/in4_cksum.c
cvs rdiff -r1.21 -r1.22 src/sys/netinet/in_cksum.c
cvs rdiff -r1.7 -r1.8 src/sys/netinet6/files.netinet6
cvs rdiff -r1.21 -r1.22 src/sys/netinet6/in6_cksum.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index