|
@@ -44,27 +44,6 @@ _GLOBAL(ip_fast_csum)
|
|
|
srwi r3,r3,16
|
|
|
blr
|
|
|
|
|
|
-/*
|
|
|
- * Compute checksum of TCP or UDP pseudo-header:
|
|
|
- * csum_tcpudp_magic(r3=saddr, r4=daddr, r5=len, r6=proto, r7=sum)
|
|
|
- * No real gain trying to do this specially for 64 bit, but
|
|
|
- * the 32 bit addition may spill into the upper bits of
|
|
|
- * the doubleword so we still must fold it down from 64.
|
|
|
- */
|
|
|
-_GLOBAL(csum_tcpudp_magic)
|
|
|
- rlwimi r5,r6,16,0,15 /* put proto in upper half of len */
|
|
|
- addc r0,r3,r4 /* add 4 32-bit words together */
|
|
|
- adde r0,r0,r5
|
|
|
- adde r0,r0,r7
|
|
|
- rldicl r4,r0,32,0 /* fold 64 bit value */
|
|
|
- add r0,r4,r0
|
|
|
- srdi r0,r0,32
|
|
|
- rlwinm r3,r0,16,0,31 /* fold two halves together */
|
|
|
- add r3,r0,r3
|
|
|
- not r3,r3
|
|
|
- srwi r3,r3,16
|
|
|
- blr
|
|
|
-
|
|
|
/*
|
|
|
* Computes the checksum of a memory block at buff, length len,
|
|
|
* and adds in "sum" (32-bit).
|