Re: rewrite src/sys/i386/i386/in_cksum.c

2007-07-11 Thread Matthew Dillon
Here's a reference to the DragonFly code: http://www.dragonflybsd.org/cvsweb/src/sys/cpu/i386/misc/in_cksum2.s http://www.dragonflybsd.org/cvsweb/src/sys/netinet/in_cksum.c It's pretty simple. The core 1's complement checksum is now written in machine-dependant assembly and O

Re: rewrite src/sys/i386/i386/in_cksum.c

2007-07-09 Thread Zhouyi Zhou
AIL PROTECTED]> To: "zhouyi zhou" <[EMAIL PROTECTED]> Cc: ; <[EMAIL PROTECTED]> Sent: Monday, July 09, 2007 5:56 PM Subject: Re: rewrite src/sys/i386/i386/in_cksum.c Quoting zhouyi zhou <[EMAIL PROTECTED]> (from Mon, 9 Jul 2007 10:55:47 +0800): > Hey, >

Re: rewrite src/sys/i386/i386/in_cksum.c

2007-07-09 Thread Alexander Leidinger
Quoting zhouyi zhou <[EMAIL PROTECTED]> (from Mon, 9 Jul 2007 10:55:47 +0800): Hey, Since FreeBSD update gcc from 3.4.x to 4.2.0, the FreeBSD gdb remote debugger in i386 platform will find the TCP/UPD checksum will not be computed right, when calling macro in_cksum which calls in_cksum

rewrite src/sys/i386/i386/in_cksum.c

2007-07-08 Thread zhouyi zhou
%edx,0xffe8(%ebp) 0x080487af : mov0xffe4(%ebp),%eax 0x080487b2 : add$0xc,%eax 0x080487b5 : mov(%eax),%eax 0x080487b7 : mov 0xffe8(%ebp),%edx 0x080487ba : adc%eax,%edx 0x080487bc : mov%edx,0xffe8(%ebp) So, I suggest rewrite src/sys/i386/i386/in_cksum.c in fo

Re: rewrite src/sys/i386/i386/in_cksum.c

2007-07-08 Thread zhouyi zhou
Sorry, previously send the preprocessed version of in_cksum.c: What really needs to be replaced is for example: 408 if (mlen >= 16) { 409 ADD(0); 410 ADDC(4); 411 ADDC(8); 412 ADDC(12); 4