patch-2.4.19 linux-2.4.19/include/asm-mips/checksum.h
Next file: linux-2.4.19/include/asm-mips/cobalt/cobalt.h
Previous file: linux-2.4.19/include/asm-mips/cache.h
Back to the patch index
Back to the overall index
- Lines: 102
- Date:
Fri Aug 2 17:39:45 2002
- Orig file:
linux-2.4.18/include/asm-mips/checksum.h
- Orig date:
Mon Jul 2 13:56:40 2001
diff -urN linux-2.4.18/include/asm-mips/checksum.h linux-2.4.19/include/asm-mips/checksum.h
@@ -41,7 +41,7 @@
* Copy and checksum to user
*/
#define HAVE_CSUM_COPY_USER
-extern inline unsigned int csum_and_copy_to_user (const char *src, char *dst,
+static inline unsigned int csum_and_copy_to_user (const char *src, char *dst,
int len, int sum,
int *err_ptr)
{
@@ -80,10 +80,9 @@
"xori\t%0,0xffff\n\t"
".set\tat"
: "=r" (sum)
- : "0" (sum)
- : "$1");
+ : "0" (sum));
- return sum;
+ return sum;
}
/*
@@ -133,8 +132,7 @@
"2:\t.set\tat\n\t"
".set\treorder"
: "=&r" (sum), "=&r" (iph), "=&r" (ihl), "=&r" (dummy)
- : "1" (iph), "2" (ihl)
- : "$1");
+ : "1" (iph), "2" (ihl));
return csum_fold(sum);
}
@@ -170,8 +168,7 @@
#else
"r" (((proto)<<16)+len),
#endif
- "r" (sum)
- : "$1");
+ "r" (sum));
return sum;
}
@@ -217,48 +214,49 @@
"lw\t%1, 0(%2)\t\t\t# four words source address\n\t"
"addu\t%0, $1\n\t"
"addu\t%0, %1\n\t"
- "sltu\t$1, %0, $1\n\t"
+ "sltu\t$1, %0, %1\n\t"
"lw\t%1, 4(%2)\n\t"
"addu\t%0, $1\n\t"
"addu\t%0, %1\n\t"
- "sltu\t$1, %0, $1\n\t"
+ "sltu\t$1, %0, %1\n\t"
"lw\t%1, 8(%2)\n\t"
"addu\t%0, $1\n\t"
"addu\t%0, %1\n\t"
- "sltu\t$1, %0, $1\n\t"
+ "sltu\t$1, %0, %1\n\t"
"lw\t%1, 12(%2)\n\t"
"addu\t%0, $1\n\t"
"addu\t%0, %1\n\t"
- "sltu\t$1, %0, $1\n\t"
+ "sltu\t$1, %0, %1\n\t"
"lw\t%1, 0(%3)\n\t"
"addu\t%0, $1\n\t"
"addu\t%0, %1\n\t"
- "sltu\t$1, %0, $1\n\t"
+ "sltu\t$1, %0, %1\n\t"
"lw\t%1, 4(%3)\n\t"
"addu\t%0, $1\n\t"
"addu\t%0, %1\n\t"
- "sltu\t$1, %0, $1\n\t"
+ "sltu\t$1, %0, %1\n\t"
"lw\t%1, 8(%3)\n\t"
"addu\t%0, $1\n\t"
"addu\t%0, %1\n\t"
- "sltu\t$1, %0, $1\n\t"
+ "sltu\t$1, %0, %1\n\t"
"lw\t%1, 12(%3)\n\t"
"addu\t%0, $1\n\t"
"addu\t%0, %1\n\t"
- "sltu\t$1, %0, $1\n\t"
+ "sltu\t$1, %0, %1\n\t"
+
+ "addu\t%0, $1\t\t\t# Add final carry\n\t"
".set\tnoat\n\t"
".set\tnoreorder"
: "=r" (sum), "=r" (proto)
: "r" (saddr), "r" (daddr),
- "0" (htonl(len)), "1" (htonl(proto)), "r" (sum)
- : "$1");
+ "0" (htonl(len)), "1" (htonl(proto)), "r" (sum));
return csum_fold(sum);
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)