Module Name: src
Committed By: martin
Date: Mon Feb 16 21:33:13 UTC 2015
Modified Files:
src/sys/arch/arm/arm [netbsd-7]: cpu_in_cksum.S
src/sys/arch/arm/conf [netbsd-7]: std.arm
Log Message:
Pull up following revision(s) (requested by skrll in ticket #522):
sys/arch/arm/conf/std.arm: revision 1.3
sys/arch/arm/arm/cpu_in_cksum.S: revision 1.9
sys/arch/arm/arm/cpu_in_cksum.S: revision 1.10
sys/arch/arm/arm/cpu_in_cksum.S: revision 1.11
Fix conditional; makes 0 len mbuf, 0 offset, 0 len test work.
-
Correct arm_cksumdata for <4 bytes of data
Really fix arm_cksumdata for <4 bytes of data
-
Re-enable CPU_IN_CKSUM now the bugs are fixed.
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.8.4.1 src/sys/arch/arm/arm/cpu_in_cksum.S
cvs rdiff -u -r1.1.82.1 -r1.1.82.2 src/sys/arch/arm/conf/std.arm
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/arm/cpu_in_cksum.S
diff -u src/sys/arch/arm/arm/cpu_in_cksum.S:1.8 src/sys/arch/arm/arm/cpu_in_cksum.S:1.8.4.1
--- src/sys/arch/arm/arm/cpu_in_cksum.S:1.8 Sun Dec 22 16:29:42 2013
+++ src/sys/arch/arm/arm/cpu_in_cksum.S Mon Feb 16 21:33:13 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: cpu_in_cksum.S,v 1.8 2013/12/22 16:29:42 matt Exp $ */
+/* $NetBSD: cpu_in_cksum.S,v 1.8.4.1 2015/02/16 21:33:13 martin Exp $ */
/*
* Copyright 2003 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
*/
#include <machine/asm.h>
-RCSID("$NetBSD: cpu_in_cksum.S,v 1.8 2013/12/22 16:29:42 matt Exp $")
+RCSID("$NetBSD: cpu_in_cksum.S,v 1.8.4.1 2015/02/16 21:33:13 martin Exp $")
#include "assym.h"
@@ -72,7 +72,7 @@ ENTRY(cpu_in_cksum)
ldr ip, [ip, #(M_NEXT)]
.Lin_cksum_skip_entry:
subs r2, r2, r1 /* offset = offset - mbuf length */
- blt .Lin_cksum_skip_done /* if offset has gone negative start with this mbuf */
+ ble .Lin_cksum_skip_done /* if offset has gone negative start with this mbuf */
cmp ip, #0x00
bne .Lin_cksum_skip_loop
b .Lin_cksum_whoops
@@ -191,8 +191,7 @@ ASENTRY_NP(arm_cksumdata)
RETc(eq) /* done */
#endif
adds r7, r7, r1 /* undo sub */
- adds r7, r7, r1 /* r7 = offset + len */
- rsb r7, r7, #4
+ subs r7, r7, r1
lsls r7, r7, #3
#if defined(__ARMEB__)
lsrs r2, r2, r7
Index: src/sys/arch/arm/conf/std.arm
diff -u src/sys/arch/arm/conf/std.arm:1.1.82.1 src/sys/arch/arm/conf/std.arm:1.1.82.2
--- src/sys/arch/arm/conf/std.arm:1.1.82.1 Wed Feb 4 06:36:44 2015
+++ src/sys/arch/arm/conf/std.arm Mon Feb 16 21:33:13 2015
@@ -1,5 +1,5 @@
-# $NetBSD: std.arm,v 1.1.82.1 2015/02/04 06:36:44 snj Exp $
+# $NetBSD: std.arm,v 1.1.82.2 2015/02/16 21:33:13 martin Exp $
#
# standard NetBSD/arm options
-#options CPU_IN_CKSUM
+options CPU_IN_CKSUM