dslinux/linux-2.6.x/arch/arm/lib putuser.S
amadeus
dslinux_amadeus at user.in-berlin.de
Mon Aug 14 20:46:47 CEST 2006
Update of /cvsroot/dslinux/dslinux/linux-2.6.x/arch/arm/lib
In directory antilope:/tmp/cvs-serv476/linux-2.6.x/arch/arm/lib
Modified Files:
putuser.S
Log Message:
8bit write cleanup
Index: putuser.S
===================================================================
RCS file: /cvsroot/dslinux/dslinux/linux-2.6.x/arch/arm/lib/putuser.S,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- putuser.S 20 Feb 2006 16:31:28 -0000 1.2
+++ putuser.S 14 Aug 2006 18:46:45 -0000 1.3
@@ -29,10 +29,16 @@
#include <asm/asm-offsets.h>
#include <asm/thread_info.h>
#include <asm/errno.h>
+#include <linux/config.h>
.global __put_user_1
__put_user_1:
-1: strbt r2, [r0]
+1:
+#ifdef CONFIG_NDS_ROM8BIT
+ swpb ip, r2, [r0]
+#else
+ strbt r2, [r0]
+#endif
mov r0, #0
mov pc, lr
@@ -40,11 +46,36 @@
__put_user_2:
mov ip, r2, lsr #8
#ifndef __ARMEB__
-2: strbt r2, [r0], #1
-3: strbt ip, [r0]
+2:
+#ifdef CONFIG_NDS_ROM8BIT
+ add r0, r0, #1
+ swpb ip, r2, [r0]
+ sub r0, r0, #1
+ mov ip, r2, lsr #8
#else
-2: strbt ip, [r0], #1
-3: strbt r2, [r0]
+ strbt r2, [r0], #1
+#endif
+3:
+#ifdef CONFIG_NDS_ROM8BIT
+ swpb ip, ip, [r0]
+#else
+ strbt ip, [r0]
+#endif
+#else
+2:
+#ifdef CONFIG_NDS_ROM8BIT
+ add r0, r0, #1
+ swpb ip, ip, [r0]
+ sub r0, r0, #1
+#else
+ strbt ip, [r0], #1
+#endif
+3:
+#ifdef CONFIG_NDS_ROM8BIT
+ swpb ip, r2, [r0]
+#else
+ strbt r2, [r0]
+#endif
#endif
mov r0, #0
mov pc, lr
More information about the dslinux-commit
mailing list